我需要使用curl调用SOAP Web服务。 该服务需要一个用户名(user1),但不需要密码..当我执行下面的时候,它要求输入密码,当我点击ENTER时它会抛出一个" 404"错误。相同的请求在SOAPUI工具上成功传递。
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 :(得分:0)
curl' s -u参数指定HTTP身份验证的用户/密码。
所有HTTP身份验证方案都有一个用户ID和密码。
您声称只需要提供用户名表明用户名实际上是您的SOAP调用的参数,而不是用于HTTP身份验证。
我可以看到的另一个潜在问题是SOAP实际上只是基于HTTP的XML,并且大多数SOAP服务通常使用text/xml
或application/xml
MIME内容类型,而不是application/octet-stream
。< / p>
因此,请与运行SOAP服务的人交谈。了解您是否应该使用HTTP身份验证或在SOAP请求中包含username参数,以及SOAP请求的MIME类型。
答案 1 :(得分:0)
我不认为问题与用户/通行证有关,因为如果认证信息出现问题,您将获得403(拒绝权限)而不是404(未找到)。它必须与URL相关。您确定完整的网址是否正确?您应该从URL路径中取出“?wsdl”,因为这指向WSDL的位置而不是Webservice端点。