2014-09-05 162 views
0

我需要使用curl調用SOAP webservice .. 服務需要用戶名(user1),但不需要密碼。當我執行下面的命令時,它要求輸入密碼,當我單擊輸入它會引發「404」錯誤。相同的請求在SOAPUI工具上成功傳遞。使用curl調用SOAP webservice

curl -v -H "Content-Type: application/octet-stream; charset=utf-8" \ 
    -H "SOAPAction:" \ 
    -d @soap.csv \ 
    -X POST https://s.net/sotest/FileAttachmentService?wsdl \ 
    -u user1 

回答

0

curl的-u參數指定HTTP認證的用戶/密碼。

所有HTTP認證方案都有某種用戶標識和密碼。

您聲稱您只需要提供用戶名就表明用戶名實際上是您的SOAP調用的參數,而不是用於HTTP身份驗證。

我可以看到的另一個潛在問題是,SOAP實際上只是HTTP上的XML,大多數SOAP服務通常使用text/xmlapplication/xml MIME內容類型,而不是application/octet-stream

所以,與誰來運行您的SOAP服務。瞭解您是否期望在您的SOAP請求中使用HTTP身份驗證或包含用戶名參數,以及您的SOAP請求的MIME類型。

0

我不認爲這個問題與用戶/密碼相關,因爲你會得到一個403(permision拒絕)而不是404(沒有找到),以防萬一認證信息有問題。它必須與URL相關。你確定完整的URL是正確的嗎?您應該從URL路徑中取出「?wsdl」,因爲這指向WSDL的位置而不是Webservice端點。