C# web-service client: plusieurs web-service méthodes avec le même (complexe) type de retour?

Je suis en usant à la construction d'un client pour un Java web B2B-services à l'instant et je pense avoir identifié la cause d'un problème que nous avons eu pendant quelques temps. Malheureusement, je suis incapable d'afficher le fichier WSDL.

Apparemment, mon auto-généré du code proxy (via wsdl.exe: utiliser WSE 3.0 en raison de la WCF pas l'appui de hachage de mot de passe) n'est pas en mesure de gérer le web service WSDL avoir plusieurs web-méthodes avec le même complexe de type de retour.

Prendre pour exemple - un web-service qui définit les méthodes suivantes:

Public ComplexTypeX Blah();
Public ComplexTypeX Blue();
Public ComplexTypeX Foo();
Public ComplexTypeY Bar();

Dans ma Référence.cs fichier, si j'en commentaire, tout le code qui appelle toutes les deux de Bla(), Blue() ou Foo(), puis le reste sans commentaire méthode peut être appelée pas de problème. Cependant, si j'ai plus d'une de ces trois méthodes qui ne sont pas commentées (par exemple, Bla() et Foo()), puis je reçois le message d'erreur suivant lors de l' instanciation de la web-service client code:

"Méthode Bla ne peut pas être pris en compte."
"L'élément XML 'ComplexTypeX" de
espace de noms ' http://some.url références
une méthode et un type. Modifier la
la méthode nom du message à l'aide de
WebMethodAttribute ou de modifier le
type de l'élément racine à l'aide de la
Attribut xmlrootattribute."

Maintenant, il n'y a certainement pas de ComplexTypeX méthode définie dans le cadre de la web-service, donc je ne peux que supposer que .NET (ou au moins wsdl.exe) ne vous permet pas d'utiliser un service web qui renvoie complexe (défini par l'utilisateur) types du même type dans plusieurs méthodes ... droit?

OriginalL'auteur Bernard | 2009-02-24