2010-09-27 81 views

回答

1

问题是'IWebService_GetCountries_InputMessage'类型在该WSDL中定义了多次。这不是您的代码错误,而是您尝试使用的WSDL。您应该与编写WSDL的人讨论是否可以重新创建并修复问题。

0

我经历了同样的错误与我的系统:客户端的SOAP在PHP(5.3.10)和服务器端是写在.NET:

  • 我装的WSDL“Foo.wsdl”从PHP
  • 那么 “Foo.wsdl” 做 “Bar.wsdl”
  • 然后 “Bar.wsdl” 再进口 “Foo.wsdl”
  • PHP崩溃与“SOAP-ERROR的进口:解析WSDL: bla bla已定义

为了避免这种情况,我只是使用.net的不区分大小写的标准功能,并且我调用小写的第一个wsdl(“foo.wsdl”)而不是原始大小写(Foo.wsdl)。 它现在工作,因为现在,foo.wsdl导入Bar.wsdl和Bar.wsdl导入Foo.wsdl,并由一个奇怪的事情,我无法解释,PHP喜欢。