Ich habe versucht, Stubs und Client von einem WSDL-Datei zu erzeugen cxf mit (Versionen 2.2.3, 2.2.6 und 2.7.0), indem Sie den folgenden Befehl gebenFehler beim Client von WSDL-Datei zu erzeugen Apache CXF mit
> wsdl2java.bat -p com.easynet.eordering.client -client http://expediter.staging.gis.easynet.com:7001/cds/services/eordering?wsdl
aber ich erhalte eine Fehlermeldung als
WSDLToJava Error: Non unique body parts! In a port, operations must have unique operation signaure on the wire for successful dispatch. In port {http://eordering.uk.easynet.net}eorderingPortSOAP, Operations "{http://eordering.uk.easynet.net}getAMList" and "{http://eordering.uk.easynet.net}getDCList" have the same request body block {http://eordering.uk.easynet.net}userListRequest
ich weiß, warum dieser Fehler ausgelöst wurde, als
in meinen wsdl Operationen geschrieben<operation name="getDCList"><input message="tns:userListRequest"/><output message="tns:userListResponse"/></operation>
<operation name="getAMList"><input message="tns:userListRequest"/><output message="tns:userListResponse"/></operation>
Ich habe gerade den Parameter userListRequest für beide Operationen wiederverwendet. Ich glaube, der Fehler wurde ausgelöst, da in beiden Operationen derselbe Parameter (userListRequest) angegeben wurde.
Gibt es eine Möglichkeit, diesen Fehler zu vermeiden, ohne Änderungen an der WSDL? (wie ich weiß, Operation Überladung ist nicht erlaubt von WSDL 1.2 aber Eingangsparameter überladen?).
Danke für den Link zu erzeugen, zur Verfügung gestellt, dachte ich so, aber hier, um den Fehler zu vermeiden, ohne die Wsdl params Wechsel :-), wird die Unterschriften nun ändern. – Techie