0

我正在用 PHP 开发一个位置网络服务。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

4

1 回答 1

0

我检查了您的 WSDL,发现缺少此定义:

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

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

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

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

但这并不能解决您的问题。

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

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

你能分享结果不显示的soap客户端吗?

于 2013-11-05T11:55:50.567 回答