2010-01-25 14 views
5

W ramach naszej aplikacji integrujemy usługi sieciowe SOAP innych firm. Dokument WSDL jest używany z narzędziem SOAPUI, w którym przykładowe żądania i odpowiedzi działały poprawnie.Błąd Apache Axis WSDL2Java - brakujący element <soap:fault> element

Kiedy próbujemy zintegrować z Apache Axis 1.3, gdzie wypróbowaliśmy WSDL2JAVA z WSDL. Otrzymaliśmy następujący błąd

java.io.IOException: ERROR: brakujący element inFault "serviceFault" w pracy "serviceFault" w wiązaniu saveRegistration na org.apache.axis.wsdl.symbolTable.SymbolTable.faultsFromSOAPFault (SymbolTable. java: 2858) w org.apache.axis.wsdl.symbolTable.SymbolTable.populateBindings (SymbolTable.java:2549) at org.apache.axis.wsdl.symbolTable.SymbolTable.populate (SymbolTable.java:744) at org.apache.axis.wsdl.symbolTable.SymbolTable.add (SymbolTable.java:543) at org.apache.axis.wsdl.symbolTable.SymbolTable.populate (SymbolTable.java:518) at org.apache.axis. wsdl.symbolTable.SymbolTable.populate (SymbolTable.java:495) a t org.apache.axis.wsdl.gen.Parser $ WSDLRunnable.run (Parser.java:361) na java.lang.Thread.run (Unknown Source)

ktoś już w obliczu tego problemu i rozwiązać?

Odpowiedz

14

Uważam, że istnieje JIRA otwarty dla tego.

Opis:

Kiedy masz mydło 1,2 wiążącej z winy mydła, element winy nie jest prawidłowo ekstrakcji, w wyniku błędu

ERROR: Missing <soap:fault> element inFault "..." in operation "...", in binding ... 

Ich tymczasowy zalecenie jest dodanie linii kodu i rekompilacja Axis1 ... Nahh.

Osobiście właśnie pobraniu pliku WSDL (jest to usługa Oś 2 i mam oś 1.5 Client) i edycji nazw dla wszystkich następujących liniach od:

 <wsdl:fault name="Exception"> 
     <soap12:fault use="literal" name="Exception"/> 
    </wsdl:fault> 

do:

 <wsdl:fault name="Exception"> 
     <soap:fault use="literal" name="Exception"/> 
    </wsdl:fault> 

Zgodnie z sugestią here.

Aktualizacja do Axis2 jest najlepszym rozwiązaniem długoterminowym. Po rozwiązaniu tego problemu znalazłem jeszcze więcej błędów w kodzie wygenerowanym przez WSDL2JAVA.

+0

Dzięki. Następujący pracował dla mnie ' ' – Manohar