All,
First, I apologize
for not following the appropriate process when I filed this as a bug (AXIS2-922)
before appropriately investigating it.
I'm trying to
generate a skeleton and stub from my wsdl. This works fine when I only
have a single fault. But when I have multiple faults (3 in this case), the
generated skeleton is incorrect:
1) The service call
in the skeleton declares the same fault class 3 times in the throws
section
2) Only one fault
class is generated in the skeleton (the same on declared in
1)
3) The stub adds
the same fault class 3 times to the faultExceptionNameMap and the
faultExceptionClassNameMap
Any thoughts as to
what I'm doing wrong?
WSDL:
<?xml
version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="CommunityIntegrationServices"
targetNamespace="http://cis.example.com/2006/wsdl/cis/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://cis.example.com/2006/wsdl/cis/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ens="http://cis.example.com/2006/schemas/cis/">
<wsdl:types>
<xsd:schema
targetNamespace="http://cis.example.com/2006/schemas/cis/"
blockDefault="#all"
xmlns:tns="http://cis.example.com/2006/schemas/cis/">
<wsdl:definitions name="CommunityIntegrationServices"
targetNamespace="http://cis.example.com/2006/wsdl/cis/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://cis.example.com/2006/wsdl/cis/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ens="http://cis.example.com/2006/schemas/cis/">
<wsdl:types>
<xsd:schema
targetNamespace="http://cis.example.com/2006/schemas/cis/"
blockDefault="#all"
xmlns:tns="http://cis.example.com/2006/schemas/cis/">
<xsd:element name="updateMemberResponseMsg"
type="xsd:int" />
<xsd:element name="updateMemberRequestMsg"
type="tns:UpdateMemberRequestType" />
<xsd:element name="updateMemberRequestMsg"
type="tns:UpdateMemberRequestType" />
<xsd:complexType
name="UpdateMemberRequestType">
<xsd:complexContent>
<xsd:extension
base="tns:AbstractMemberRequestType">
<xsd:sequence>
<xsd:element name="userGalleryImage"
type="tns:UserGalleryImageType" maxOccurs="unbounded"
minOccurs="0">
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexContent>
<xsd:extension
base="tns:AbstractMemberRequestType">
<xsd:sequence>
<xsd:element name="userGalleryImage"
type="tns:UserGalleryImageType" maxOccurs="unbounded"
minOccurs="0">
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType
name="MemberIdType">
<xsd:restriction base="xsd:string"></xsd:restriction>
</xsd:simpleType>
<xsd:restriction base="xsd:string"></xsd:restriction>
</xsd:simpleType>
<xsd:simpleType
name="PartnerIdType">
<xsd:restriction base="xsd:long"></xsd:restriction>
</xsd:simpleType>
<xsd:restriction base="xsd:long"></xsd:restriction>
</xsd:simpleType>
<xsd:complexType
name="UserGalleryImageType">
<xsd:complexContent>
<xsd:extension base="tns:AbstractActionType">
<xsd:sequence>
<xsd:element name="imageId"
type="xsd:string" maxOccurs="1" minOccurs="1">
</xsd:element>
<xsd:element name="title" type="xsd:string"
maxOccurs="1" minOccurs="0">
</xsd:element>
<xsd:element name="description"
type="xsd:string" maxOccurs="1" minOccurs="0">
</xsd:element>
<xsd:element name="image"
type="xsd:base64Binary">
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexContent>
<xsd:extension base="tns:AbstractActionType">
<xsd:sequence>
<xsd:element name="imageId"
type="xsd:string" maxOccurs="1" minOccurs="1">
</xsd:element>
<xsd:element name="title" type="xsd:string"
maxOccurs="1" minOccurs="0">
</xsd:element>
<xsd:element name="description"
type="xsd:string" maxOccurs="1" minOccurs="0">
</xsd:element>
<xsd:element name="image"
type="xsd:base64Binary">
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType
name="AbstractActionType">
<xsd:sequence>
<xsd:element name="action"
type="tns:ActionCodeType">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:sequence>
<xsd:element name="action"
type="tns:ActionCodeType">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType
name="ActionCodeType">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="AddOrUpdate"></xsd:enumeration>
<xsd:enumeration value="Delete"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="AddOrUpdate"></xsd:enumeration>
<xsd:enumeration value="Delete"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType
name="AbstractRequestType">
<xsd:sequence>
<xsd:element name="partnerId"
type="tns:PartnerIdType">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:sequence>
<xsd:element name="partnerId"
type="tns:PartnerIdType">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType
name="AbstractMemberRequestType">
<xsd:complexContent>
<xsd:extension base="tns:AbstractRequestType">
<xsd:sequence>
<xsd:element name="memberId"
type="tns:MemberIdType">
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ErrorElement" type="tns:ErrorType"></xsd:element>
<xsd:complexContent>
<xsd:extension base="tns:AbstractRequestType">
<xsd:sequence>
<xsd:element name="memberId"
type="tns:MemberIdType">
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ErrorElement" type="tns:ErrorType"></xsd:element>
<xsd:complexType
name="ErrorType">
<xsd:sequence>
<xsd:element name="reason" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:sequence>
<xsd:element name="reason" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
</wsdl:types>
<wsdl:message
name="updateMemberResponseMsg">
<wsdl:part name="updateMemberResponseMsg"
element="ens:updateMemberResponseMsg" />
</wsdl:message>
<wsdl:message name="updateMemberRequestMsg">
<wsdl:part name="updateMemberRequestMsg"
element="ens:updateMemberRequestMsg" />
</wsdl:message>
<wsdl:message name="invalidDataFault">
<wsdl:part name="invalidDataFault" element="ens:ErrorElement"></wsdl:part>
</wsdl:message>
<wsdl:message name="invalidMemberIdFault">
<wsdl:part name="invalidMemberIdFault" element="ens:ErrorElement"></wsdl:part>
</wsdl:message>
<wsdl:message name="invalidPartnerIdFault">
<wsdl:part name="invalidPartnerIdFault" element="ens:ErrorElement"></wsdl:part>
</wsdl:message>
<wsdl:portType name="updateMemberPort">
<wsdl:operation name="updateMember">
<wsdl:input message="tns:updateMemberRequestMsg" />
<wsdl:output message="tns:updateMemberResponseMsg" />
<wsdl:fault name="DataFault" message="tns:invalidDataFault" />
<wsdl:fault name="InvalidMemberIdFault" message="tns:invalidMemberIdFault" />
<wsdl:fault name="InvalidPartnerIdFault" message="tns:invalidPartnerIdFault" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="updateMemberSOAP" type="tns:updateMemberPort">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="updateMember">
<soap:operation soapAction="urn:updateMember"
style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
<wsdl:fault name="DataFault">
<soap:fault name="DataFault" use="literal" />
</wsdl:fault>
<wsdl:fault name="InvalidMemberIdFault">
<soap:fault name="InvalidMemberIdFault" use="literal" />
</wsdl:fault>
<wsdl:fault name="InvalidPartnerIdFault">
<soap:fault name="InvalidPartnerIdFault" use="literal" />
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="updateMember">
<wsdl:port binding="tns:updateMemberSOAP"
name="updateMemberSOAP">
<soap:address
location="http://localhost:8080/axis2/services/updateMember" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
<wsdl:part name="updateMemberResponseMsg"
element="ens:updateMemberResponseMsg" />
</wsdl:message>
<wsdl:message name="updateMemberRequestMsg">
<wsdl:part name="updateMemberRequestMsg"
element="ens:updateMemberRequestMsg" />
</wsdl:message>
<wsdl:message name="invalidDataFault">
<wsdl:part name="invalidDataFault" element="ens:ErrorElement"></wsdl:part>
</wsdl:message>
<wsdl:message name="invalidMemberIdFault">
<wsdl:part name="invalidMemberIdFault" element="ens:ErrorElement"></wsdl:part>
</wsdl:message>
<wsdl:message name="invalidPartnerIdFault">
<wsdl:part name="invalidPartnerIdFault" element="ens:ErrorElement"></wsdl:part>
</wsdl:message>
<wsdl:portType name="updateMemberPort">
<wsdl:operation name="updateMember">
<wsdl:input message="tns:updateMemberRequestMsg" />
<wsdl:output message="tns:updateMemberResponseMsg" />
<wsdl:fault name="DataFault" message="tns:invalidDataFault" />
<wsdl:fault name="InvalidMemberIdFault" message="tns:invalidMemberIdFault" />
<wsdl:fault name="InvalidPartnerIdFault" message="tns:invalidPartnerIdFault" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="updateMemberSOAP" type="tns:updateMemberPort">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="updateMember">
<soap:operation soapAction="urn:updateMember"
style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
<wsdl:fault name="DataFault">
<soap:fault name="DataFault" use="literal" />
</wsdl:fault>
<wsdl:fault name="InvalidMemberIdFault">
<soap:fault name="InvalidMemberIdFault" use="literal" />
</wsdl:fault>
<wsdl:fault name="InvalidPartnerIdFault">
<soap:fault name="InvalidPartnerIdFault" use="literal" />
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="updateMember">
<wsdl:port binding="tns:updateMemberSOAP"
name="updateMemberSOAP">
<soap:address
location="http://localhost:8080/axis2/services/updateMember" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
UpdateMemberStub.java
Description: Binary data
UpdateMemberSkeleton.java
Description: Binary data
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
