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

Wsdltojava cannot generate code for a wsdl file with import tag

    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. inner.xsd
          0.5 kB
          Julien le Colloec
        2. SimpleServiceDocLit.wsdl
          17 kB
          Julien le Colloec

        Activity

          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: