【问题标题】:Soap request body using 'postman' chrome app使用“邮递员”Chrome 应用程序的肥皂请求正文
【发布时间】:2014-01-19 23:22:21
【问题描述】:

对于使用 Postman google 应用的“假日网络服务”(http://www.holidaywebservice.com/HolidayService_v2/HolidayService2.asmx?wsdl),soap 请求的正文会是什么样子?

我正在尝试使用 getHolidaysAvailable 方法。我尝试了在 holidaywebservice.com 网站上找到的建议格式,但它不起作用。简而言之,任何人都可以使用 Postman 成功发布到此 Web 服务并共享您使用的 soap 请求标头和正文。谢谢!

【问题讨论】:

标签: web-services google-chrome web


【解决方案1】:

方法需要是POST并且使用http://www.holidaywebservice.com//HolidayService_v2/HolidayService2.asmx?wsdl作为URL

您必须在标题中包含以下内容:

Content-Type: text/xml; charset=utf-8

您可以在标头中添加 SOAPAction,但此 Web 服务请求不需要工作,因为请求正文将指定要使用的 SOAP 方法“GetHolidaysAvailable”。

SOAPAction: "http://www.holidaywebservice.com/HolidayService_v2/GetHolidaysAvailable"

最后,Body 应该是这样的:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.holidaywebservice.com/HolidayService_v2/">
 <SOAP-ENV:Body>
   <ns1:GetHolidaysAvailable>
     <ns1:countryCode>UnitedStates</ns1:countryCode>
   </ns1:GetHolidaysAvailable>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

【讨论】:

  • 我应该如何调用具有多个输入参数的函数。我尝试了一个,它给了我一个 500 错误,说 Server did not recognize the value of HTTP Header... myFunctionName
  • 在与 WCF 服务交互时,我没有发现您的第二点是正确的。 SoapUI 开箱即用,但邮递员引发了关于空操作的投诉 - 我必须添加标题。
  • 标头中有SOAPAction但不是必须的其实是必须的
【解决方案2】:

您的请求甚至可能是这样的:

POST /HolidayService_v2/HolidayService2.asmx/GetHolidaysAvailable HTTP/1.1    
Host: www.holidaywebservice.com
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded

countryCode=UnitedStates

【讨论】:

    猜你喜欢
    • 2018-08-18
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    相关资源
    最近更新 更多