在 Ubuntu 中通过命令行访问 SOAP 网络服务

Access SOAP webservice via Command Line in Ubuntu

我有一个 SOAP 网络服务。我可以从应用程序本身调用服务。但是现在我有这样的要求,它可以在服务器本身内部调用。

换句话说,我需要一种从 Linux 命令行调用此服务的方法。我听说 curl 命令可以做到。但是我不确定要使 curl 正常工作需要注意哪些事项/

ID: 1
Address: http://localhost:9000/sampleApp/hellome
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml
Headers: {Accept=[*/*], SOAPAction=[""]}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:sayHelloWithTime xmlns:ns1="http://hello.sample.com"><ns1:timeOfDay>2015-02-05T00:00:00-05:00</ns1:timeOfDay></ns1:sayHelloWithTime></soap:Body></soap:Envelope>

我不确定哪个 curl 命令允许调用此网络服务。

您可以使用以下命令从 linux 终端调用 Web 服务。

curl -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction:"  -d @your_soap_request.xml -X POST http://localhost:9000/sampleApp/hellome

your_soap_request.xml 将用于定义带有所需参数的 soap 请求消息。相应地更改值。

your_soap_request.xml

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:impl="XXXXCHANGEXXXXXX">
   <soapenv:Header/>
   <soapenv:Body>
      <impl:methodName>
         <arg0>XXXXXX</arg0>
      </impl:methodName>
   </soapenv:Body>
</soapenv:Envelope>

希望这对您有所帮助。 如果您有任何疑问,请告诉我

谢谢