2010-01-25 167 views
5

我們正在將第三方SOAP Web服務集成到我們的應用程序中。 WSDL與SOAPUI工具一起使用,其中示例請求和響應正常工作。Apache Axis WSDL2Java錯誤 - 缺少<soap:fault>元素

當我們嘗試與Apache Axis 1.3集成時,我們使用WSDL嘗試了WSDL2JAVA。我們收到以下錯誤

java.io.IOException異常:錯誤:缺少元素InFault已 「serviceFault」 運行 「serviceFault」,在org.apache.axis.wsdl.symbolTable.SymbolTable.faultsFromSOAPFault(符號表結合saveRegistration 。的java:2858) 在org.apache.axis.wsdl.symbolTable.SymbolTable.populateBindings(SymbolTable.java:2549) 在org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:744) 在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) at java.lang.Thread.run(Unknown Source)

任何人都已經遇到過這個問題並解決了?

回答

14

我相信這個有一個JIRA開放。

描述:

當你有一個肥皂1.2用肥皂故障結合,故障元件不正確地提取,從而導致錯誤

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

它們的臨時建議是添加一行代碼並重新編譯Axis1 ... Nahh。

就個人而言,我剛剛下載的WSDL文件(它是一個2軸的服務,我有一個Axis 1.5客戶端)和編輯的命名空間,所有下列行:

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

到:

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

如建議here

然而,升級到Axis2是最好的長期解決方案。解決了這個問題之後,我發現WSDL2JAVA生成的代碼中還有更多的錯誤。

+0

謝謝。以下爲我工作 ' ' – Manohar 2015-09-09 19:11:04