从shell命令调用SOAP请求
我使用curl向web服务发送SOAP请求,并使用shell脚本获取响应。请在下面找到我正在使用的命令:-从shell命令调用SOAP请求,shell,unix,soap,Shell,Unix,Soap,我使用curl向web服务发送SOAP请求,并使用shell脚本获取响应。请在下面找到我正在使用的命令:- curl -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction:" -d @sample_request.txt -X POST http://someWebServiceURL 我得到一个错误响应,它说没有SOAPAction头。 PFB响应主体部分 <soapenv:Body> <soapenv:Fau
curl -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction:" -d @sample_request.txt -X POST http://someWebServiceURL
我得到一个错误响应,它说没有SOAPAction头。
PFB响应主体部分
<soapenv:Body>
<soapenv:Fault>
<faultcode>Client.NoSOAPAction</faultcode>
<faultstring>WSWS3147E: Error: no SOAPAction header!</faultstring>
</soapenv:Fault>
</soapenv:Body>
客户机
WS3147E:错误:没有SOAPAction标头!
感谢您的帮助 您需要提供SOAP操作的名称。你有:
-H "SOAPAction:"
在其中提供操作的名称。例如
-H "SOAPAction: http://my_example/my_action"
从WSDL获取操作的名称(如果有的话)。例如,请参见。从服务的WSDL中,您可以找到
SoapAction
。通过打开指向服务URL的web浏览器,您可以找到试图调用和访问WSDL的操作。
使用
curl
调用SoapAction
,您应该通过“-H”
指定操作,例如-H SoapAction:http://tempuri.org/Execute
不要忘记在SoapAction头中引用URI-规范要求如果URI不为null,然后它必须是双引号,即SOAPAction:“http://my_example/my_action“
在bash linux中有没有其他方法可以在不使用curl的情况下实现这一点?