繁体   English   中英

PHP webservice SOAPClient错误

[英]PHP webservice SOAPClient error

我有一个webserivce,只是简单的事情来调用SOAP客户端中的webservice

$ client = new SoapClient(“http://test.unistream.com/wcflib/service.svc?WSDL”);

它说

SOAP-ERROR:解析WSDL:'IWebService_GetCountries_InputMessage'已经定义

网络服务是

http://test.unistream.com/wcflib/service.svc?WSDL

谢谢。

它可能与此相关或相同: https//bugs.php.net/bug.php?id = 43868

你也可以在这里找到一个可能的解决方案PHP SoapClient:分布式WSDL文件的问题

(也许重复......)

稍后编辑,这里有另一个链接: http//www.codingforums.com/showthread.php?t = 181338

问题是'IWebService_GetCountries_InputMessage'类型在该WSDL中定义了多次。 这不是您的代码的错误,而是您尝试使用的WSDL。 您应该与编写WSDL的人交谈,看看他们是否可以重新创建它并解决问题。

我的系统遇到了同样的错误:Soap客户端使用PHP(5.3.10),服务器端使用.NET编写:

  • 我从PHP加载了wsdl“Foo.wsdl”
  • 然后“Foo.wsdl”导入了“Bar.wsdl”
  • 然后“Bar.wsdl”再次导入“Foo.wsdl”
  • PHP崩溃与“SOAP-ERROR:解析WSDL:bla bla已定义

为了避免这种情况,我只使用.netcase-unsensitive标准功能 ,并且我用小写 (“foo.wsdl”)而不是原始案例(Foo.wsdl)调用第一个wsdl。 它起作用,因为现在,foo.wsdl导入Bar.wsdl,并且Bar.wsdl导入Foo.wsdl,并且通过我无法解释的奇怪事情,PHP喜欢它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM