从shell命令调用SOAP请求

Par*_*war 8 unix shell soap

我使用curl将SOAP请求发送到Web服务并使用shell脚本获取响应.请在下面找到我正在使用的命令: -

curl  -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction:" -d @sample_request.txt -X POST http://someWebServiceURL
Run Code Online (Sandbox Code Playgroud)

我收到一个错误响应,说没有SOAPAction标头.PFB是响应机构的一部分

<soapenv:Body>
<soapenv:Fault>
<faultcode>Client.NoSOAPAction</faultcode>
<faultstring>WSWS3147E: Error: no SOAPAction header!</faultstring>
</soapenv:Fault>
</soapenv:Body>
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!!

Ric*_*ond 9

您需要提供SOAP操作的名称.你有:

-H "SOAPAction:"
Run Code Online (Sandbox Code Playgroud)

在那里提供动作的名称.例如

-H "SOAPAction: http://my_example/my_action"
Run Code Online (Sandbox Code Playgroud)

如果有的话,从WSDL获取操作的名称.例如,请参阅如何确定有效的SoapAction?.

  • 不要忘记引用SoapAction头中的URI - 规范要求如果它不是null,那么它必须是双引号,即`SOAPAction:"http:// my_example/my_action"` (4认同)