在 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>
希望这对您有所帮助。
如果您有任何疑问,请告诉我
谢谢
我有一个 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>
希望这对您有所帮助。 如果您有任何疑问,请告诉我
谢谢