SOAP信封响应不是由客户端决定的

时间:2013-11-03 19:05:01

标签: php web-services soap wsdl

我正在使用PHP开发位置Web服务。 wsdl和消息传递结构已完成但是我遇到了响应消息的问题。对于某些soap客户端,不显示结果。有人可以告诉这条消息有什么问题吗?

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
               xmlns:ns="http://asimishaq.com/wsdl/TestServices/IPLocation"
               xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <ns:getCountryNameByIpResponse>
         <ns:result>Chicago, IL, UNITED STATES (US)</ns:result>
      </ns:getCountryNameByIpResponse>
   </soap:Body>
</soap:Envelope>

服务的wsdl位于以下位置:

http://asimishaq.com/wsdl/TestServices/IPLocation?wsdl

1 个答案:

答案 0 :(得分:0)

我检查你的WSDL,我注意到错过了这个定义:

xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

这个定义我用于所有wsdl标签。例如:

<wsdl:definitions (...) >
  <wsdl:types>
   <xs:schema (...)

 </wsdl:types>
    <wsdl:message (...)

但它不能解决你的问题。

  

对于某些soap客户端,结果不会显示。

我认为回答是正确的。调用此Web服务可能有问题。如果一个soap客户端工作,您可以将此代码与它不起作用的客户端代码进行比较。如果可能,请记录此请求,并使用soapUi或其他测试客户端测试此请求。

你能分享哪些结果不显示的肥皂客户端?