Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-5385

Failed to generate client stab using wsdl2java for valid WSDL document. (WSDLProcessingException exception: More than one element part is not allwed in document literal type binding operation)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • 1.5.6
    • None
    • databinding
    • Windows 7.

    Description

      Hi,

      We have valid wsdl document:

      • validated with XMLSpy editor
      • there is no problem to build client stab using Apache CXF or gSoap.

      We try to build client stab with different options of axis2-1.5.6 wsdl2java

      • axis2-1.5.6\bin>wsdl2java.bat -a -d jibx -u -uri PushIntRoamingTariffList.1.Concrete.wsdl
        More than one element part is not allwed in document literal type binding operation

      We receive following WSDLProcessingException exception:

      WSDL11ToAxisServiceBuilder$WSDLProcessingException: More than one element part is not allwed in document literal type binding operation PushIntRoamingTariffList.1

      Here is wsdl we use:

      <?xml version="1.0" encoding="UTF-8"?>
      <!-Created by TIBCO WSDL->
      <wsdl:definitions xmlns:ns0="http://xmlns.kpn.com/mobile/m2c/cdm/pushintroamingtarifflist.1request.xsd" xmlns:ns1="http://xmlns.kpn.com/mobile/m2c/cdm/pushintroamingtarifflist.1response.xsd" xmlns:ns2="http://xmlns.kpn.com/mobile/m2c/cdm/sml/envelope.1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://xmlns.kpn.com/mobile/m2c/cdm/sml/pushintroamingtarifflist.1/PushIntRoamingTariffList.1Impl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" name="Untitled" targetNamespace="http://xmlns.kpn.com/mobile/m2c/cdm/sml/pushintroamingtarifflist.1/PushIntRoamingTariffList.1Impl">
      <wsdl:types>
      <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://xmlns.kpn.com/mobile/m2c/cdm/pushintroamingtarifflist.1request.xsd" xmlns:sml="http://xmlns.kpn.com/mobile/m2c/cdm/sml/envelope.1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.kpn.com/mobile/m2c/cdm/pushintroamingtarifflist.1request.xsd">
      <import namespace="http://xmlns.kpn.com/mobile/m2c/cdm/sml/envelope.1"/>
      <complexType name="MOBILE_CONNECTION">
      <sequence>
      <element name="MSISDN" type="ns:TelecomNumberDetailed"/>
      </sequence>
      </complexType>
      <simpleType name="NEString">
      <annotation>
      <documentation>Not Empty String</documentation>
      </annotation>
      <restriction base="xsd:string">
      <minLength value="1"/>
      </restriction>
      </simpleType>
      <complexType name="NETWORK_OPERATOR">
      <sequence>
      <element name="ID_MCC_MNC" type="ns:NEString"/>
      </sequence>
      </complexType>
      <complexType name="TelecomNumberDetailed">
      <simpleContent>
      <extension base="ns:NEString">
      <attribute form="qualified" name="area" type="ns:NEString" use="required"/>
      <attribute form="qualified" name="country" type="ns:NEString" use="required"/>
      <attribute form="qualified" name="subscriber" type="ns:NEString" use="required"/>
      </extension>
      </simpleContent>
      </complexType>
      <element name="PushIntRoamingTariffListRequest">
      <complexType>
      <sequence>
      <element name="Header">
      <complexType>
      <complexContent>
      <extension base="sml:Header"/>
      </complexContent>
      </complexType>
      </element>
      <element name="Body">
      <complexType>
      <complexContent>
      <extension base="sml:Body">
      <sequence>
      <element ref="ns:Request"/>
      </sequence>
      </extension>
      </complexContent>
      </complexType>
      </element>
      </sequence>
      </complexType>
      </element>
      <element name="Request">
      <complexType>
      <sequence>
      <element name="MOBILE_CONNECTION" type="ns:MOBILE_CONNECTION"/>
      <element name="NETWORK_OPERATOR" type="ns:NETWORK_OPERATOR"/>
      </sequence>
      </complexType>
      </element>
      </schema>
      <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:sml="http://xmlns.kpn.com/mobile/m2c/cdm/sml/envelope.1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.kpn.com/mobile/m2c/cdm/sml/envelope.1">
      <complexType name="Body"/>
      <complexType name="ConnectionInfo">
      <sequence>
      <element minOccurs="0" name="CPAId" type="xsd:string"/>
      <element minOccurs="0" name="ExternalRefToMessageId" nillable="true" type="xsd:string"/>
      <element minOccurs="0" name="Principal" type="xsd:string"/>
      <element minOccurs="0" name="Credentials" type="xsd:string"/>
      <element minOccurs="0" name="Signature" type="xsd:string"/>
      <element minOccurs="0" name="RemoteAddress" type="xsd:string"/>
      </sequence>
      </complexType>
      <complexType name="Detail">
      <sequence>
      <element maxOccurs="unbounded" minOccurs="0" name="SpecificError" type="sml:SpecificError"/>
      </sequence>
      </complexType>
      <complexType name="Error">
      <sequence>
      <element name="Code" type="xsd:string"/>
      <element name="Reason" type="xsd:string"/>
      <element minOccurs="0" name="Service" type="sml:Service"/>
      <element minOccurs="0" name="Detail" type="sml:Detail"/>
      </sequence>
      </complexType>
      <complexType name="ErrorList">
      <sequence>
      <element minOccurs="0" name="Error" type="sml:Error"/>
      </sequence>
      </complexType>
      <complexType name="From">
      <sequence>
      <element name="PartyId" type="sml:PartyId"/>
      <element minOccurs="0" name="Location" type="xsd:string"/>
      </sequence>
      </complexType>
      <complexType name="Header">
      <sequence>
      <element ref="sml:MessageHeader"/>
      <element minOccurs="0" ref="sml:TraceHeaderList"/>
      <element minOccurs="0" ref="sml:ErrorList"/>
      <element minOccurs="0" ref="sml:TransactionList"/>
      </sequence>
      </complexType>
      <complexType name="HeaderFields">
      <sequence>
      <element minOccurs="0" name="ConversationId" type="xsd:string"/>
      <element minOccurs="0" name="MessageId" type="xsd:string"/>
      <element minOccurs="0" name="Timestamp" type="xsd:dateTime"/>
      <element minOccurs="0" name="HeaderProperties" type="sml:HeaderProperties"/>
      </sequence>
      </complexType>
      <complexType name="HeaderProperties">
      <sequence>
      <element maxOccurs="unbounded" minOccurs="0" name="HeaderProperty" type="sml:HeaderProperty"/>
      </sequence>
      </complexType>
      <complexType name="HeaderProperty">
      <attribute form="qualified" name="Name" type="xsd:string" use="required"/>
      <attribute form="qualified" name="Value" type="xsd:string" use="required"/>
      </complexType>
      <complexType name="MessageData">
      <sequence>
      <element name="MessageId" type="xsd:string"/>
      <element name="Timestamp" type="xsd:dateTime"/>
      <element minOccurs="0" name="RefToMessageId" type="xsd:string"/>
      </sequence>
      </complexType>
      <complexType name="MessageHeader">
      <sequence>
      <element name="From" type="sml:From"/>
      <element name="To" type="sml:To"/>
      <element name="HeaderFields" type="sml:HeaderFields"/>
      <element name="ConnectionInfo" type="sml:ConnectionInfo"/>
      <element name="Service" type="sml:Service"/>
      <element minOccurs="0" name="QualityOfServiceInfo" type="sml:QualityOfServiceInfo"/>
      <element minOccurs="0" name="TimeToLive" type="xsd:dateTime"/>
      <element minOccurs="0" name="Description" type="sml:Text"/>
      </sequence>
      <attribute form="qualified" name="version" type="xsd:string" use="required"/>
      </complexType>
      <complexType name="PartyId">
      <simpleContent>
      <extension base="xsd:string">
      <attribute form="qualified" name="type" type="xsd:string"/>
      </extension>
      </simpleContent>
      </complexType>
      <complexType name="QualityOfServiceInfo">
      <sequence>
      <element minOccurs="0" name="SequenceNumber" type="sml:SequenceNumber"/>
      <element minOccurs="0" name="DuplicateElimination" type="xsd:anyType"/>
      </sequence>
      <attribute form="qualified" name="deliveryReceiptRequest" type="xsd:string"/>
      </complexType>
      <complexType name="Result">
      <sequence>
      <element name="Status" type="sml:ResultStatus"/>
      <element minOccurs="0" name="Fault" type="sml:Error"/>
      </sequence>
      </complexType>
      <simpleType name="ResultStatus">
      <restriction base="xsd:string">
      <enumeration value="OK"/>
      <enumeration value="ERROR"/>
      </restriction>
      </simpleType>
      <complexType name="SequenceNumber">
      <simpleContent>
      <extension base="xsd:integer">
      <attribute form="qualified" name="finalMessage" type="xsd:boolean" use="required"/>
      <attribute form="qualified" name="status" type="xsd:string" use="required"/>
      </extension>
      </simpleContent>
      </complexType>
      <complexType name="Service">
      <sequence>
      <element name="Paradigm" type="xsd:string"/>
      <element name="Name" type="xsd:string"/>
      <element minOccurs="0" name="Version" type="xsd:string"/>
      <element minOccurs="0" name="Action" type="xsd:string"/>
      </sequence>
      </complexType>
      <complexType name="SpecificError">
      <sequence>
      <element name="Code" type="xsd:string"/>
      <element minOccurs="0" name="SubCode" type="xsd:string"/>
      <element name="Text" type="sml:Text"/>
      </sequence>
      </complexType>
      <complexType name="Text">
      <simpleContent>
      <extension base="xsd:string">
      <attribute form="qualified" name="lang" type="xsd:string"/>
      </extension>
      </simpleContent>
      </complexType>
      <complexType name="To">
      <sequence>
      <element minOccurs="0" name="PartyId" type="sml:PartyId"/>
      <element name="Location" type="xsd:string"/>
      </sequence>
      </complexType>
      <complexType name="TraceHeader">
      <sequence>
      <element name="Sender" type="sml:From"/>
      <element minOccurs="0" name="Receiver" type="sml:To"/>
      <element name="Service" type="sml:Service"/>
      <element name="MessageData" type="sml:MessageData"/>
      </sequence>
      </complexType>
      <complexType name="TraceHeaderList">
      <sequence>
      <element maxOccurs="unbounded" name="TraceHeader" type="sml:TraceHeader"/>
      </sequence>
      </complexType>
      <complexType name="Transaction">
      <sequence>
      <element name="Interaction" type="xsd:string"/>
      <element name="TransactionId" type="xsd:string"/>
      <element name="SystemId" type="xsd:string"/>
      <element name="MessageId" type="xsd:string"/>
      <element name="Timestamp" type="xsd:dateTime"/>
      </sequence>
      </complexType>
      <complexType name="TransactionList">
      <sequence>
      <element maxOccurs="unbounded" name="Transaction" type="sml:Transaction"/>
      </sequence>
      </complexType>
      <element name="ErrorList" type="sml:ErrorList"/>
      <element name="MessageHeader" type="sml:MessageHeader"/>
      <element name="TraceHeaderList" type="sml:TraceHeaderList"/>
      <element name="TransactionList" type="sml:TransactionList"/>
      </schema>
      <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://xmlns.kpn.com/mobile/m2c/cdm/pushintroamingtarifflist.1response.xsd" xmlns:sml="http://xmlns.kpn.com/mobile/m2c/cdm/sml/envelope.1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.kpn.com/mobile/m2c/cdm/pushintroamingtarifflist.1response.xsd">
      <import namespace="http://xmlns.kpn.com/mobile/m2c/cdm/sml/envelope.1"/>
      <element name="PushIntRoamingTariffListResponse">
      <complexType>
      <sequence>
      <element name="Header">
      <complexType>
      <complexContent>
      <extension base="sml:Header"/>
      </complexContent>
      </complexType>
      </element>
      <element minOccurs="0" name="Body">
      <complexType>
      <complexContent>
      <extension base="sml:Body">
      <sequence>
      <element minOccurs="0" ref="ns:Response"/>
      <element minOccurs="0" ref="ns:Result"/>
      </sequence>
      </extension>
      </complexContent>
      </complexType>
      </element>
      </sequence>
      </complexType>
      </element>
      <element name="Response" type="xsd:anyType"/>
      <element name="Result" type="sml:Result"/>
      </schema>
      </wsdl:types>
      <wsdl:message name="pushintroamingtarifflist.1requestmessage">
      <wsdl:part element="ns0:Request" name="Request"/>
      </wsdl:message>
      <wsdl:message name="pushintroamingtarifflist.1responsemessage">
      <wsdl:part element="ns1:Response" name="Response"/>
      <wsdl:part element="ns1:Result" name="Result"/>
      </wsdl:message>
      <wsdl:message name="HeaderMessage">
      <wsdl:part element="ns2:MessageHeader" name="MessageHeader"/>
      <wsdl:part element="ns2:TraceHeaderList" name="TraceHeaderList"/>
      <wsdl:part element="ns2:ErrorList" name="ErrorList"/>
      <wsdl:part element="ns2:TransactionList" name="TransactionList"/>
      </wsdl:message>
      <wsdl:portType name="PushIntRoamingTariffList.1PortType">
      <wsdl:operation name="PushIntRoamingTariffList.1">
      <wsdl:input message="tns:pushintroamingtarifflist.1requestmessage"/>
      <wsdl:output message="tns:pushintroamingtarifflist.1responsemessage"/>
      </wsdl:operation>
      </wsdl:portType>
      <wsdl:binding name="PushIntRoamingTariffList.1Binding" type="tns:PushIntRoamingTariffList.1PortType">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
      <wsdl:operation name="PushIntRoamingTariffList.1">
      <wsdl:documentation>The operation has no documentation</wsdl:documentation>
      <soap:operation soapAction="/PushIntRoamingTariffList.1" style="document"/>
      <wsdl:input>
      <soap:body parts="Request" use="literal"/>
      <soap:header message="tns:HeaderMessage" part="MessageHeader" use="literal"/>
      <soap:header message="tns:HeaderMessage" part="TraceHeaderList" use="literal"/>
      <soap:header message="tns:HeaderMessage" part="ErrorList" use="literal"/>
      <soap:header message="tns:HeaderMessage" part="TransactionList" use="literal"/>
      </wsdl:input>
      <wsdl:output>
      <soap:body parts="Response Result" use="literal"/>
      <soap:header message="tns:HeaderMessage" part="MessageHeader" use="literal"/>
      <soap:header message="tns:HeaderMessage" part="TraceHeaderList" use="literal"/>
      <soap:header message="tns:HeaderMessage" part="ErrorList" use="literal"/>
      <soap:header message="tns:HeaderMessage" part="TransactionList" use="literal"/>
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
      <wsdl:service name="PushIntRoamingTariffList.1">
      <wsdl:port binding="tns:PushIntRoamingTariffList.1Binding" name="PushIntRoamingTariffList.1HttpPort">
      <soap:address location="http://vm272:8181/Processes/WSDLTests/EURoamingPS/PushIntRoamingTariffList.1/PushIntRoamingTariffList.1"/>
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>

      Attachments

        Activity

          People

            Unassigned Unassigned
            amit2203 Amit
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: