You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by "Mahabaleshwar, Ravindra" <Ra...@tcs.tcpn.com> on 2003/12/05 07:56:31 UTC

WSDL2Java error

Hello 
I am trying to generate java stubs from the wsdl file that I have 
<binding
name="EmpAddBinding"
type="def:portEmpAdd">

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation type="def:EmpAdd" name="EmpAdd">
<soap:operation soapAction="EmpAdd"/>

<input name="inEmpAdd">
<soap:body namespace="EmpAdd" use="literal"/>
<soap:header wsdl:required="false" message="def:nss_SoapSessionHeader" part="Session" use="literal" />
<soap:header wsdl:required="false" message="def:nss_SoapEncodingHeader" part="Encoding" use="literal" />
</input>

<output name="outEmpAddResponse0">
<soap:body namespace="EmpAdd" use="literal"/>
<soap:header wsdl:required="false" message="def:nss_SoapSessionHeader" part="Session" use="literal" />
</output>

<fault name="outEmpAddResponse1">
<soap:body namespace="EmpAdd" use="literal"/>
<soap:header wsdl:required="false" message="def:nss_SoapSessionHeader" part="Session" use="literal" />
</fault>

</operation>
</binding>
This is the error I get :
java.io.IOException: ERROR: Missing <soap:fault> element inFault "outEmpAddResponse1" in operation "outEmpAddResponse1",
in binding EmpAdd at org.apache.axis.wsdl.symbolTable.SymbolTable.faultsFromSOAPFault(SymbolTable.java:2023)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populateBindings(SymbolTable.java:1801)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:577)
at org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:421)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:408)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:393)
at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:245)
at java.lang.Thread.run(Thread.java:536)
When I change <fault name="outEmpAddResponse1">............................</fault>
to <soap:fault name="outEmpAddResponse1"> ..............................</soap:fault> it works fine.
Went through W3C specification for WSDL. it does not talk much about how to declare <fault>.
Is this a problem with wsdl2java ?, as I am able to generate C# client using the same wsdl file on .NET.
Ravi