2010-09-27 9 views

Répondre

1

Le problème est que le type 'IWebService_GetCountries_InputMessage' est défini plus d'une fois dans ce WSDL . Ce n'est pas une erreur avec votre code, mais avec le WSDL que vous essayez de consommer. Vous devriez parler à celui qui a écrit le WSDL pour voir s'il peut le recréer et résoudre le problème.

0

J'ai vécu la même erreur avec mon système: le client Soap était en PHP (5.3.10) et du côté du serveur a été écrit en .NET:

  • Je chargé wsdl « Foo.wsdl » de PHP
  • alors le "Foo.wsdl" a fait une importation de "Bar.wsdl"
  • puis importer à nouveau "Foo.wsdl" krach
  • PHP "Bar.wsdl" avec « SOAP eRREUR: Parsing WSDL: bla bla déjà défini

Pour éviter cela, j'utilise simplement la fonctionnalité case-unsensible de .net, et j'appelle le premier wsdl en minuscule ("foo.wsdl") au lieu de cas d'origine (Foo.wsdl). Cela a fonctionné car maintenant, foo.wsdl import Bar.wsdl, et Bar.wsdl import Foo.wsdl, et par des choses curieuses que je ne peux pas expliquer, PHP aime ça.