0

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

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 サービスの呼び出しに問題がある可能性があります。1 つの SOAP クライアントが機能する場合、このコードと機能しないクライアント コードを比較できます。可能であれば、このリクエストをログに記録し、soapUiまたは別のテスト クライアントでこのリクエストをテストしてください。

結果が表示されない SOAP クライアントを共有できますか?

于 2013-11-05T11:55:50.567 に答える