Hi, everybody, i've constructed web service client (in NetBeans IDE 6.0) from remote wsdl and cought such an error:
Web Service Client can not be created by JAXWS:wsimport utility Reason: in message "Balance Exception" part "fault" must specify a "element" attribute
There is no problem in name conflicts of declared classes in wsdl.
Here is code of wsdl:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="BalanceServer" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="BalanceServer" xmlns:intf="BalanceServer" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)-->
<wsdl:types>
<schema targetNamespace="BalanceServer" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="SessionId">
<sequence>
<element name="sessionId" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="SessionClosedException">
<sequence>
<element name="message" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="SessionNotFoundException">
<sequence>
<element name="message" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="BalanceException">
<sequence>
<element name="message" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="TxId">
<sequence>
<element name="txId" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="OutOfCreditsException">
<sequence>
<element name="message" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="UserId">
<sequence>
<element name="userId" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="deposit_uIdResponse">
<wsdl:part name="deposit_uIdReturn" type="impl:TxId"/>
</wsdl:message>
<wsdl:message name="revokeDepositResponse">
<wsdl:part name="revokeDepositReturn" type="impl:TxId"/>
</wsdl:message>
<wsdl:message name="deposit_uIdRequest">
<wsdl:part name="txId" type="impl:TxId"/>
<wsdl:part name="userId" type="impl:UserId"/>
<wsdl:part name="amount" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="canCashoutResponse">
<wsdl:part name="canCashoutReturn" type="xsd:boolean"/>
</wsdl:message>
<wsdl:message name="OutOfCreditsException">
<wsdl:part name="fault" type="impl:OutOfCreditsException"/>
</wsdl:message>
<wsdl:message name="SessionClosedException">
<wsdl:part name="fault" type="impl:SessionClosedException"/>
</wsdl:message>
<wsdl:message name="SessionNotFoundException">
<wsdl:part name="fault" type="impl:SessionNotFoundException"/>
</wsdl:message>
<wsdl:message name="deposit_sIdResponse">
<wsdl:part name="deposit_sIdReturn" type="impl:TxId"/>
</wsdl:message>
<wsdl:message name="revokeCashoutRequest">
<wsdl:part name="cashoutId" type="impl:TxId"/>
</wsdl:message>
<wsdl:message name="deposit_sIdRequest">
<wsdl:part name="txId" type="impl:TxId"/>
<wsdl:part name="sessionId" type="impl:SessionId"/>
<wsdl:part name="amount" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="revokeCashoutResponse">
<wsdl:part name="revokeCashoutReturn" type="impl:TxId"/>
</wsdl:message>
<wsdl:message name="canCashoutRequest">
<wsdl:part name="sessionId" type="impl:SessionId"/>
<wsdl:part name="amount" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="cashoutRequest">
<wsdl:part name="txId" type="impl:TxId"/>
<wsdl:part name="sessionId" type="impl:SessionId"/>
<wsdl:part name="amount" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="BalanceException">
<wsdl:part name="fault" type="impl:BalanceException"/>
</wsdl:message>
<wsdl:message name="revokeDepositRequest">
<wsdl:part name="depositId" type="impl:TxId"/>
</wsdl:message>
<wsdl:message name="cashoutResponse">
<wsdl:part name="cashoutReturn" type="impl:TxId"/>
</wsdl:message>
<wsdl:portType name="BalanceServer">
<wsdl:operation name="canCashout" parameterOrder="sessionId amount">
<wsdl:input message="impl:canCashoutRequest" name="canCashoutRequest"/>
<wsdl:output message="impl:canCashoutResponse" name="canCashoutResponse"/>
<wsdl:fault message="impl:BalanceException" name="BalanceException"/>
<wsdl:fault message="impl:SessionClosedException" name="SessionClosedException"/>
<wsdl:fault message="impl:SessionNotFoundException" name="SessionNotFoundException"/>
</wsdl:operation>
<wsdl:operation name="cashout" parameterOrder="txId sessionId amount">
<wsdl:input message="impl:cashoutRequest" name="cashoutRequest"/>
<wsdl:output message="impl:cashoutResponse" name="cashoutResponse"/>
<wsdl:fault message="impl:BalanceException" name="BalanceException"/>
<wsdl:fault message="impl:OutOfCreditsException" name="OutOfCreditsException"/>
<wsdl:fault message="impl:SessionClosedException" name="SessionClosedException"/>
<wsdl:fault message="impl:SessionNotFoundException" name="SessionNotFoundException"/>
</wsdl:operation>
<wsdl:operation name="revokeCashout" parameterOrder="cashoutId">
<wsdl:input message="impl:revokeCashoutRequest" name="revokeCashoutRequest"/>
<wsdl:output message="impl:revokeCashoutResponse" name="revokeCashoutResponse"/>
<wsdl:fault message="impl:BalanceException" name="BalanceException"/>
</wsdl:operation>
<wsdl:operation name="deposit_sId" parameterOrder="txId sessionId amount">
<wsdl:input message="impl:deposit_sIdRequest" name="deposit_sIdRequest"/>
<wsdl:output message="impl:deposit_sIdResponse" name="deposit_sIdResponse"/>
<wsdl:fault message="impl:BalanceException" name="BalanceException"/>
<wsdl:fault message="impl:SessionClosedException" name="SessionClosedException"/>
<wsdl:fault message="impl:SessionNotFoundException" name="SessionNotFoundException"/>
</wsdl:operation>
<wsdl:operation name="deposit_uId" parameterOrder="txId userId amount">
<wsdl:input message="impl:deposit_uIdRequest" name="deposit_uIdRequest"/>
<wsdl:output message="impl:deposit_uIdResponse" name="deposit_uIdResponse"/>
<wsdl:fault message="impl:BalanceException" name="BalanceException"/>
<wsdl:fault message="impl:SessionClosedException" name="SessionClosedException"/>
<wsdl:fault message="impl:SessionNotFoundException" name="SessionNotFoundException"/>
</wsdl:operation>
<wsdl:operation name="revokeDeposit" parameterOrder="depositId">
<wsdl:input message="impl:revokeDepositRequest" name="revokeDepositRequest"/>
<wsdl:output message="impl:revokeDepositResponse" name="revokeDepositResponse"/>
<wsdl:fault message="impl:BalanceException" name="BalanceException"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="BalanceServerSoapBinding" type="impl:BalanceServer">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="canCashout">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="canCashoutRequest">
<wsdlsoap:body namespace="BalanceServer" use="literal"/>
</wsdl:input>
<wsdl:output name="canCashoutResponse">
<wsdlsoap:body namespace="BalanceServer" use="literal"/>
</wsdl:output>
<wsdl:fault name="BalanceException">
<wsdlsoap:fault name="BalanceException" use="literal"/>
</wsdl:fault>
<wsdl:fault name="SessionClosedException">
<wsdlsoap:fault name="SessionClosedException" use="literal"/>
</wsdl:fault>
<wsdl:fault name="SessionNotFoundException">
<wsdlsoap:fault name="SessionNotFoundException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="cashout">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="cashoutRequest">
<wsdlsoap:body namespace="BalanceServer" use="literal"/>
</wsdl:input>
<wsdl:output name="cashoutResponse">
<wsdlsoap:body namespace="BalanceServer" use="literal"/>
</wsdl:output>
<wsdl:fault name="BalanceException">
<wsdlsoap:fault name="BalanceException" use="literal"/>
</wsdl:fault>
<wsdl:fault name="OutOfCreditsException">
<wsdlsoap:fault name="OutOfCreditsException" use="literal"/>
</wsdl:fault>
<wsdl:fault name="SessionClosedException">
<wsdlsoap:fault name="SessionClosedException" use="literal"/>
</wsdl:fault>
<wsdl:fault name="SessionNotFoundException">
<wsdlsoap:fault name="SessionNotFoundException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="revokeCashout">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="revokeCashoutRequest">
<wsdlsoap:body namespace="BalanceServer" use="literal"/>
</wsdl:input>
<wsdl:output name="revokeCashoutResponse">
<wsdlsoap:body namespace="BalanceServer" use="literal"/>
</wsdl:output>
<wsdl:fault name="BalanceException">
<wsdlsoap:fault name="BalanceException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="deposit_sId">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="deposit_sIdRequest">
<wsdlsoap:body namespace="BalanceServer" use="literal"/>
</wsdl:input>
<wsdl:output name="deposit_sIdResponse">
<wsdlsoap:body namespace="BalanceServer" use="literal"/>
</wsdl:output>
<wsdl:fault name="BalanceException">
<wsdlsoap:fault name="BalanceException" use="literal"/>
</wsdl:fault>
<wsdl:fault name="SessionClosedException">
<wsdlsoap:fault name="SessionClosedException" use="literal"/>
</wsdl:fault>
<wsdl:fault name="SessionNotFoundException">
<wsdlsoap:fault name="SessionNotFoundException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="deposit_uId">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="deposit_uIdRequest">
<wsdlsoap:body namespace="BalanceServer" use="literal"/>
</wsdl:input>
<wsdl:output name="deposit_uIdResponse">
<wsdlsoap:body namespace="BalanceServer" use="literal"/>
</wsdl:output>
<wsdl:fault name="BalanceException">
<wsdlsoap:fault name="BalanceException" use="literal"/>
</wsdl:fault>
<wsdl:fault name="SessionClosedException">
<wsdlsoap:fault name="SessionClosedException" use="literal"/>
</wsdl:fault>
<wsdl:fault name="SessionNotFoundException">
<wsdlsoap:fault name="SessionNotFoundException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="revokeDeposit">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="revokeDepositRequest">
<wsdlsoap:body namespace="BalanceServer" use="literal"/>
</wsdl:input>
<wsdl:output name="revokeDepositResponse">
<wsdlsoap:body namespace="BalanceServer" use="literal"/>
</wsdl:output>
<wsdl:fault name="BalanceException">
<wsdlsoap:fault name="BalanceException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="BalanceServerService">
<wsdl:port binding="impl:BalanceServerSoapBinding" name="BalanceServer">
<wsdlsoap:address location="http://sub1.smbt.dgphoenix.com/services/BalanceServer"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
there is no problem to generate client in Eclipse, but it is very important for me to do it in NetBeans, please give me some advise.
PS may be i should change smth in my wsdd file???