Próbowałem wygenerować odcinki i klienta z użyciem WSDL CXF (wersje 2.2.3 i 2.7.0) 2.2.6 dając poniższej komendyBłąd podczas generowania klienta z użyciem WSDL apache cxf
> wsdl2java.bat -p com.easynet.eordering.client -client http://expediter.staging.gis.easynet.com:7001/cds/services/eordering?wsdl
ale otrzymuję błąd jak
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
wiem, dlaczego ten błąd został wyrzucony w moich operacji WSDL są zapisywane jako
<operation name="getDCList"><input message="tns:userListRequest"/><output message="tns:userListResponse"/></operation>
<operation name="getAMList"><input message="tns:userListRequest"/><output message="tns:userListResponse"/></operation>
Po prostu ponownie użyłem parametru userListRequest dla obu operacji, uważam, że błąd został zgłoszony jako ten sam parametr (userListRequest) określony w obu operacjach.
Czy istnieje sposób na uniknięcie tego błędu bez wprowadzania zmian we wsdl? (ponieważ wiem, że przeciążanie operacji jest niedozwolone w pliku wsdl 1.2, ale przeciążanie parametrów wejściowych?).
Dzięki za link podany, tak myślałem, ale żeby uniknąć błędu bez zmiany WSDL params :-), zmieni podpisów teraz. – Techie