Apache Axis的WSDL2Java的错误 - 缺少 元件

问题描述 投票:5回答:2

我们在我们的应用程序,结合了第三方SOAP Web服务。的WSDL使用SOAPUI工具,其中样本请求和响应工作的罚款。

当我们试图与Apache Axis的1.3,在这里我们试图WSDL2JAVA与WSDL整合。我们收到以下错误

java.io.IOException的:错误:缺少元件InFault已 “serviceFault” 在操作中 “serviceFault”,在org.apache.axis在org.apache.axis.wsdl.symbolTable.SymbolTable.faultsFromSOAPFault(SymbolTable.java:2858)结合saveRegistration .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)在org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:518)在org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:495)在org.apache.axis.wsdl.gen.Parser $ WSDLRunnable.run(Parser.java:361)在java.lang.Thread.run(来源不明)

任何人都已经面临这个问题,并解决了吗?

wsdl2java soapfault
2个回答
14
投票

我认为,是开放的这一个JIRA

描述:

当你有一个肥皂1.2用肥皂故障结合,故障元件不正确地提取,从而导致错误

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

他们的临时建议是添加一行代码并重新编译轴1 ... 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
投票

我通过如下改变XML命名空间解决了这个问题:

更改此

的xmlns:SOAP12 = “http://schemas.xmlsoap.org/wsdl/soap12/”

的xmlns:SOAP12 = “http://schemas.xmlsoap.org/wsdl/soap/”

只有12在端部被去除。

© www.soinside.com 2019 - 2024. All rights reserved.