2010-09-27 50 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喜歡。