最近想学习下PHP的SOAP,于是下载了最新版的Zend Studio,因为它可以自动为我们生成wsdl文件。在学习的过程中,遇到了一个错误,

Fatal error: Uncaught SoapFault exception: [Client] looks like we got no XML document in D:\wamp\test\soap\soapclient.php:5 Stack trace: #0 D:\wamp\test\soap\soapclient.php(5): SoapClient->__call('Add', Array) #1 D:\wamp\test\soap\soapclient.php(5): SoapClient->Add(1, 2) #2 {main} thrown in D:\wamp\test\soap\soapclient.php on line 5  

由于这个wsdl文件是自动生成的,查看了源码之后才发现,在这个wsdl文件的末尾处,soap:address的location熟悉没有指向文件具体位置,生成的时候只是http://localhost/test/soap,而真正需要指向的是http://localhost/test/soap/soapserver.php这个文件。

如下:

  <wsdl:service name="soapTest">
    <wsdl:port binding="tns:soapTestSOAP" name="soapTestSOAP">
      <soap:address location="http://localhost/test/soap"/>
    </wsdl:port>
  </wsdl:service>

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-31
  • 2022-12-23
  • 2022-12-23
  • 2021-10-23
猜你喜欢
  • 2021-06-26
  • 2022-12-23
  • 2021-09-28
  • 2021-12-05
  • 2021-05-22
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案