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>