【问题标题】:Access SOAP webservice via Command Line in Ubuntu在 Ubuntu 中通过命令行访问 SOAP 网络服务
【发布时间】:2015-04-07 04:12:07
【问题描述】:

我有一个 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 命令允许调用这个 web 服务。

【问题讨论】:

  • curl命令需要用java还是php做?
  • 我需要一个命令从服务器本身的 Linux 终端运行
  • 你需要在soap请求中发送一些参数吗?

标签: linux web-services curl soap command-line


【解决方案1】:

您可以使用以下命令从 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>

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

谢谢

【讨论】:

    猜你喜欢
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    相关资源
    最近更新 更多