2010-01-25 169 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