Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-565

Wsdltojava cannot generate code for a wsdl file with import tag

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.0-RC
    • Tooling
    • None

    Description

      Wsdltojava cannot generate types, SEI with a wsdl file which has an import tag .

      SimpleServiceDocLit.wsdl :

      <?xml version="1.0" encoding="UTF-8"?>
      <definitions name="SimpleService" targetNamespace="http://www.iona.com/bus/tests"
      xmlns="http://schemas.xmlsoap.org/wsdl/"
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns:tns="http://www.iona.com/bus/tests"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:corba="http://schemas.iona.com/bindings/corba"
      xmlns:xsd1="http://www.iona.com/bus/tests/types">

      <types>
      <schema targetNamespace="http://www.iona.com/bus/tests/types"
      xmlns="http://www.w3.org/2001/XMLSchema"
      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
      <import namespace="http://www.iona.com/bus/tests/types" schemaLocation="inner.xsd"/>

      <!-- dot type -->
      <simpleType name="TypeTest.Beer">
      <restriction base="string">
      <enumeration value="Wheat"/>
      <enumeration value="Lambic"/>
      <enumeration value="Bitter"/>
      <enumeration value="Stout"/>
      <enumeration value="Porter"/>
      </restriction>
      </simpleType>

      <!-- pingMe types -->
      <element name="pingMe">
      <complexType />
      </element>
      <element name="pingMeResponse">
      <complexType />
      </element>

      <!-- sayHi types -->
      <element name="sayHi">
      <complexType />
      </element>
      <element name="sayHiResponse">
      <complexType>
      <sequence>
      <element name="responseType" type="xsd:string" />
      </sequence>
      </complexType>
      </element>

      <!-- sayHello types -->
      <element name="responseType" type="xsd:string"/>

      <!-- greetMe types -->
      <element name="greetMe">
      <complexType>
      <sequence>
      <element name="requestType" type="xsd:string" />
      </sequence>
      </complexType>
      </element>
      <element name="greetMeResponse">
      <complexType>
      <sequence>
      <element name="responseType" type="xsd:string" />
      </sequence>
      </complexType>
      </element>

      <!-- exchangeDetails types -->
      <element name="exchangeDetailsElem" type="xsd1:Details"/>
      <complexType name="Details">
      <sequence>
      <element name="age" type="xsd:int"/>
      <element name="address" type="xsd:string"/>
      <element name="name" type="xsd:string"/>
      <element name="inner" type="xsd1:Inner"/>
      <element maxOccurs="unbounded" minOccurs="0" name="value" type="xsd:int"/>
      </sequence>
      </complexType>

      <element name="stringElem" type="xsd:string"/>
      <complexType name="CompoundArray">
      <sequence>
      <element maxOccurs="unbounded" minOccurs="0" name="array1" type="xsd:string"/>
      <element maxOccurs="unbounded" minOccurs="0" name="array2" type="xsd1:Details"/>
      <element name="address" type="xsd:string"/>
      <element name="date" type="xsd:dateTime"/>
      <element name="dec" type="xsd:decimal"/>
      </sequence>
      </complexType>

      <element name="echo">
      <complexType>
      <sequence>
      <element name="x" type="xsd:string"/>
      <element name="y" type="xsd:string"/>
      </sequence>
      </complexType>
      </element>

      <element name="echoResponse">
      <complexType>
      <sequence>
      <element name="return" type="xsd:string"/>
      <element name="y" type="xsd:string"/>
      <element name="z" type="xsd:string"/>
      </sequence>
      </complexType>
      </element>

      <element name="Compound" type="xsd1:CompoundArray"/>

      <element name="GetCustomer">
      <complexType>
      <sequence>
      <element name="MSISDN" type="string"/>
      <element maxOccurs="1" minOccurs="0" name="agentUserName"
      type="string"/>
      <element maxOccurs="1" minOccurs="0" name="ChannelID"
      type="string"/>
      <element name="testEnum" type="xsd1:TestEnum"/>
      <element maxOccurs="unbounded" minOccurs="1" name="CustomerArrayIn"
      type="xsd1:Customer"/>
      <element maxOccurs="unbounded" minOccurs="1" name="CustomerArrayInOut"
      type="xsd1:Customer"/>
      </sequence>
      </complexType>
      </element>

      <element name="GetCustomerResponse">
      <complexType>
      <sequence>
      <element maxOccurs="1" minOccurs="1" name="GetCustomerResult"
      type="xsd1:Customer"/>
      <element maxOccurs="1" minOccurs="1" name="OutStatusCode" type="int"/>
      <element maxOccurs="1" minOccurs="1" name="OutSalutation" type="xsd1:Customer"/>
      <element maxOccurs="unbounded" minOccurs="1" name="CustomerArrayInOut"
      type="xsd1:Customer"/>
      <element maxOccurs="unbounded" minOccurs="1" name="CustomerArrayOut"
      type="xsd1:Customer"/>
      </sequence>
      </complexType>
      </element>

      <xsd:simpleType name="TestEnum">
      <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Low"/>
      <xsd:enumeration value="Medium"/>
      <xsd:enumeration value="High"/>
      </xsd:restriction>
      </xsd:simpleType>

      <complexType name="Customer">
      <sequence>
      <element maxOccurs="1" minOccurs="1" name="StatusCode" type="int"/>
      <element maxOccurs="1" minOccurs="0" name="UserID" type="string"/>
      <element maxOccurs="1" minOccurs="0" name="Salutation" type="string"/>
      <element maxOccurs="1" minOccurs="0" name="FirstName" type="string"/>
      </sequence>
      </complexType>

      <element name="TypeTest.enum_inout">
      <complexType>
      <sequence>
      <element name="val" type="xsd1:TypeTest.Beer"/>
      </sequence>
      </complexType>
      </element>
      <element name="TypeTest.enum_inoutResult">
      <complexType>
      <sequence>
      <element name="val" type="xsd1:TypeTest.Beer"/>
      </sequence>
      </complexType>
      </element>

      </schema>
      </types>

      <!-- pingMe messages -->
      <message name="pingMeRequest">
      <part element="xsd1:pingMe" name="in" />
      </message>
      <message name="pingMeResponse">
      <part element="xsd1:pingMeResponse" name="out" />
      </message>

      <!-- sayHi messages -->
      <message name="sayHiRequest">
      <part element="xsd1:sayHi" name="in" />
      </message>
      <message name="sayHiResponse">
      <part element="xsd1:sayHiResponse" name="out" />
      </message>

      <!-- sayHello messages -->
      <message name="sayHelloRequest"/>
      <message name="sayHelloResponse">
      <part element="xsd1:responseType" name="theResponse"/>
      </message>

      <!-- greetMe messages -->
      <message name="greetMeRequest">
      <part element="xsd1:greetMe" name="in" />
      </message>
      <message name="greetMeResponse">
      <part element="xsd1:greetMeResponse" name="out" />
      </message>

      <!-- exchangeDetails messages -->
      <message name="exchangeDetailsRequest">
      <part element="xsd1:exchangeDetailsElem" name="detailsIn"/>
      </message>
      <message name="exchangeDetailsResponse">
      <part element="xsd1:exchangeDetailsElem" name="return"/>
      </message>

      <message name="say_goodbye">
      <part element="xsd1:Compound" name="goodbye"/>
      </message>

      <message name="say_goodbyeResponse">
      <part element="xsd1:Compound" name="return"/>
      </message>

      <message name="send_greeting">
      <part element="xsd1:stringElem" name="greeting"/>
      </message>

      <message name="send_greetingResponse">
      <part element="xsd1:stringElem" name="return"/>
      </message>

      <message name="echoChar">
      <part element="xsd1:echo" name="parameters"/>
      </message>

      <message name="echoCharResponse">
      <part element="xsd1:echoResponse" name="parameters"/>
      </message>

      <message name="failureOccured">
      <part element="xsd1:stringElem" name="exceptionType"/>
      </message>

      <message name="errorOccured">
      <part element="xsd1:stringElem" name="exceptionType"/>
      </message>

      <message name="GetCustomerSoapIn">
      <part element="xsd1:GetCustomer" name="parameters"/>
      </message>

      <message name="GetCustomerSoapOut">
      <part element="xsd1:GetCustomerResponse" name="parameters"/>
      </message>

      <message name="TypeTest.enum_inout">
      <part element="xsd1:TypeTest.enum_inout" name="parameters"/>
      </message>
      <message name="TypeTest.enum_inoutResponse">
      <part element="xsd1:TypeTest.enum_inoutResult" name="parameters"/>
      </message>

      <portType name="SimpleServicePortType">
      <operation name="pingMe">
      <input message="tns:pingMeRequest" name="pingMeRequest" />
      <output message="tns:pingMeResponse" name="pingMeResponse" />
      </operation>

      <operation name="sayHi">
      <input message="tns:sayHiRequest" name="sayHiRequest" />
      <output message="tns:sayHiResponse" name="sayHiResponse" />
      </operation>

      <operation name="sayHello">
      <input message="tns:sayHelloRequest" name="sayHelloRequest"/>
      <output message="tns:sayHelloResponse" name="sayHelloResponse"/>
      </operation>

      <operation name="greetMe">
      <input message="tns:greetMeRequest" name="greetMeRequest" />
      <output message="tns:greetMeResponse" name="greetMeResponse" />
      </operation>

      <operation name="exchangeDetails">
      <input message="tns:exchangeDetailsRequest" name="exchangeDetailsRequest"/>
      <output message="tns:exchangeDetailsResponse" name="exchangeDetailsResponse"/>
      </operation>

      <operation name="say_goodbye">
      <input message="tns:say_goodbye" name="say_goodbye"/>
      <output message="tns:say_goodbyeResponse" name="say_goodbyeResponse"/>
      </operation>

      <operation name="send_greeting">
      <input message="tns:send_greeting" name="send_greeting"/>
      <output message="tns:send_greetingResponse" name="send_greetingResponse"/>
      </operation>

      <operation name="echoChar">
      <input message="tns:echoChar"/>
      <output message="tns:echoCharResponse"/>
      <fault name="failure" message="tns:failureOccured"/>
      <fault name="error" message="tns:errorOccured"/>
      </operation>

      <operation name="GetCustomer">
      <input message="tns:GetCustomerSoapIn" name="GetCustomer"/>
      <output message="tns:GetCustomerSoapOut" name="GetCustomerResponse"/>
      </operation>

      </portType>

      <portType name="simple.simpleServicePortType">
      <operation name="pingMe">
      <input message="tns:pingMeRequest" name="pingMeRequest" />
      <output message="tns:pingMeResponse" name="pingMeResponse" />
      </operation>

      <operation name="enum_inout">
      <input message="tns:TypeTest.enum_inout" name="enum_inout"/>
      <output message="tns:TypeTest.enum_inoutResponse" name="enum_inoutResponse"/>
      </operation>
      </portType>

      <binding name="SimpleServiceBinding" type="tns:SimpleServicePortType">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

      <operation name="pingMe">
      <soap:operation soapAction="" style="document"/>
      <input name="pingMeRequest">
      <soap:body use="literal"/>
      </input>
      <output name="pingMeResponse">
      <soap:body use="literal"/>
      </output>
      </operation>

      <operation name="sayHi">
      <soap:operation soapAction="" style="document"/>
      <input name="sayHiRequest">
      <soap:body use="literal"/>
      </input>
      <output name="sayHiResponse">
      <soap:body use="literal"/>
      </output>
      </operation>

      <operation name="sayHello">
      <soap:operation soapAction="" style="document"/>
      <input name="sayHelloRequest">
      <soap:body use="literal"/>
      </input>
      <output name="sayHelloResponse">
      <soap:body use="literal"/>
      </output>
      </operation>

      <operation name="greetMe">
      <soap:operation soapAction="" style="document"/>
      <input name="greetMeRequest">
      <soap:body use="literal"/>
      </input>
      <output name="greetMeResponse">
      <soap:body use="literal"/>
      </output>
      </operation>

      <operation name="exchangeDetails">
      <soap:operation soapAction="http://www.iona.com/bus/tests" style="document"/>
      <input name="exchangeDetailsRequest">
      <soap:body use="literal"/>
      </input>
      <output name="exchangeDetailsResponse">
      <soap:body use="literal"/>
      </output>
      </operation>

      <operation name="say_goodbye">
      <soap:operation soapAction="http://www.iona.com/bus/tests" style="document"/>
      <input name="say_goodbye">
      <soap:body use="literal"/>
      </input>
      <output name="say_goodbyeResponse">
      <soap:body use="literal"/>
      </output>
      </operation>

      <operation name="send_greeting">
      <soap:operation soapAction="http://www.iona.com/bus/tests" style="document"/>
      <input name="send_greeting">
      <soap:body use="literal"/>
      </input>
      <output name="send_greetingResponse">
      <soap:body use="literal"/>
      </output>
      </operation>

      <operation name="echoChar">
      <soap:operation soapAction="http://soapinterop.org/" style="document"/>
      <input>
      <soap:body use="literal"/>
      </input>
      <output>
      <soap:body use="literal"/>
      </output>
      </operation>

      <operation name="GetCustomer">
      <soap:operation soapAction="http://www.mi-pay.com/WebServices/GetCustomer"
      style="document"/>
      <input name="GetCustomer">
      <soap:body use="literal"/>
      </input>
      <output name="GetCustomerResponse">
      <soap:body use="literal"/>
      </output>
      </operation>
      </binding>

      <binding name="simple.simpleServiceBinding" type="tns:simple.simpleServicePortType">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

      <operation name="pingMe">
      <soap:operation soapAction="" style="document"/>
      <input name="pingMeRequest">
      <soap:body use="literal"/>
      </input>
      <output name="pingMeResponse">
      <soap:body use="literal"/>
      </output>
      </operation>

      <operation name="enum_inout">
      <corba:operation name="enum_inout">
      <corba:param idltype="corbatm:TypeTest.Beer" mode="inout" name="val"/>
      </corba:operation>
      <input name="enum_inout"/>
      <output name="enum_inoutResponse"/>
      </operation>

      </binding>

      <service name="SimpleServiceService">
      <port binding="tns:SimpleServiceBinding" name="SimplePort">
      <soap:address location="http://localhost:9900/SimpleService/SimplePort"/>
      </port>
      </service>

      <service name="simple.simpleServiceService">
      <port binding="tns:simple.simpleServiceBinding" name="SimplePort">
      <soap:address location="http://localhost:9999/SimpleService/SimplePort"/>
      </port>
      </service>

      </definitions>

      inner.xsd :

      <?xml version="1.0" encoding="UTF-8"?>
      <xsd:schema targetNamespace="http://www.iona.com/bus/tests/types"
      xmlns="http://www.w3.org/2001/XMLSchema"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      elementFormDefault="unqualified"
      attributeFormDefault="unqualified">

      <complexType name="Inner">
      <all>
      <element name="e1" type="xsd:int"/>
      <element name="e2" type="xsd:string"/>
      </all>
      </complexType>
      </xsd:schema>

      Attachments

        1. SimpleServiceDocLit.wsdl
          17 kB
          Julien le Colloec
        2. inner.xsd
          0.5 kB
          Julien le Colloec

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            maomaode maomaode
            julien.lecolloec@iona.com Julien le Colloec
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment