C# web-service-client: mehrere web-service-Methoden mit gleichen (komplexen) zurück geben?

Ich bin chipping entfernt an Gebäude, ein client für Java-B2B-web-service im moment, und ich glaube, ich haben festgestellt, dass die Ursache für ein problem wir haben haben schon seit einiger Zeit. Leider bin ich nicht zum posten der WSDL.

Anscheinend ist mein auto-generierte proxy-code (via wsdl.exe: verwenden WSE 3.0 aufgrund der WCF nicht unterstützt Kennwort-digest) ist nicht in der Lage zum verarbeiten des web-service WSDL, die mehrere web-Methoden mit dem gleichen komplexen Rückgabetyp.

Nehmen Sie zum Beispiel eine web-service definiert die folgenden Methoden:

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

In meine Referenz.cs-Datei, wenn ich kommentiere alle code fordert, dass zwei beliebige Blabla(), Blau (Blue) oder Foo(), dann die übrigen unkommentiert Methode kann aufgerufen werden, kein problem. Allerdings, wenn ich mehr als eine dieser drei Methoden, die nicht auskommentiert sind (sagen, Blah() und Foo()), dann bekomme ich die folgende Fehlermeldung auf Instanziierung der web-service-client-code:

Methode"Bla kann nicht reflektiert werden."
"Das XML-element 'ComplexTypeX' aus
namespace ' http://some.url " Referenzen
eine Methode und ein Typ. Ändern Sie die
Methode die den Namen der Nachricht mit
WebMethodAttribute oder ändern Sie die
geben Sie das root-element mit dem
XmlRootAttribute."

Nun, es ist definitiv keine ComplexTypeX Methode definiert, die als Teil des web-service, so kann ich nur annehmen, dass .NET (oder zumindest wsdl.exe) können Sie nicht verwenden ein web-service, gibt komplexe (Benutzer-definiert) - Typen des gleichen Typs über mehrere Methoden ... richtig?

InformationsquelleAutor Bernard | 2009-02-24
Schreibe einen Kommentar