Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Problem to generate classes from a gsoap server's wsdl with wsimport

843833May 30 2008 — edited May 30 2008
Hello,
I trie for a long time to generate my client classes from a wsdl file with wsimport. The wsdl file was generated by gsoap.

Here, the wsdl file :
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="form"
 targetNamespace="https://enterprise-name-masked.com/form.wsdl"
 xmlns:tns="https://enterprise-name-masked.com/form.wsdl"
 xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"
 xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:generic="generic"
 xmlns:xop="http://www.w3.org/2004/08/xop/include"
 xmlns:xmime4="http://www.w3.org/2004/11/xmlmime"
 xmlns:form="form"
 xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap12/"
 xmlns:MIME="http://schemas.xmlsoap.org/wsdl/mime/"
 xmlns:DIME="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/"
 xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/"
 xmlns="http://schemas.xmlsoap.org/wsdl/">

<types>

 <schema targetNamespace="generic"
  xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"
  xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:generic="generic"
  xmlns:xop="http://www.w3.org/2004/08/xop/include"
  xmlns:xmime4="http://www.w3.org/2004/11/xmlmime"
  xmlns:form="form"
  xmlns="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="unqualified"
  attributeFormDefault="unqualified">
  <import namespace="http://www.w3.org/2004/08/xop/include"/>
  <import namespace="http://www.w3.org/2004/11/xmlmime"/>
  <import namespace="http://www.w3.org/2003/05/soap-encoding"/>
  <simpleType name="service">
   <restriction base="xsd:string">

    <enumeration value="service-none"/><!-- enum const = 0 -->
    <enumeration value="service-ident"/><!-- enum const = 1 -->
    <enumeration value="service-pool"/><!-- enum const = 2 -->
    <enumeration value="service-hwr"/><!-- enum const = 3 -->
    <enumeration value="service-form"/><!-- enum const = 4 -->
    <enumeration value="service-document"/><!-- enum const = 5 -->
   </restriction>
  </simpleType>
  <simpleType name="result-code">

   <restriction base="xsd:string">
    <enumeration value="ok"/><!-- enum const = 0 -->
    <enumeration value="already-exists"/><!-- enum const = 1 -->
    <enumeration value="not-found"/><!-- enum const = 2 -->
    <enumeration value="cant-connect"/><!-- enum const = 3 -->
    <enumeration value="exception"/><!-- enum const = 4 -->
    <enumeration value="bad-conversion"/><!-- enum const = 5 -->
    <enumeration value="bad-values"/><!-- enum const = 6 -->
    <enumeration value="session-not-found"/><!-- enum const = 7 -->

    <enumeration value="initialization-failed"/><!-- enum const = 8 -->
   </restriction>
  </simpleType>
  <complexType name="result">
   <sequence>
     <element name="code" type="generic:result-code" minOccurs="1" maxOccurs="1"/>
     <element name="details" type="xsd:string" minOccurs="1" maxOccurs="1"/>
   </sequence>
  </complexType>

 </schema>

 <schema targetNamespace="form"
  xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"
  xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:generic="generic"
  xmlns:xop="http://www.w3.org/2004/08/xop/include"
  xmlns:xmime4="http://www.w3.org/2004/11/xmlmime"
  xmlns:form="form"
  xmlns="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="unqualified"
  attributeFormDefault="unqualified">
  <import namespace="http://www.w3.org/2004/08/xop/include"/>
  <import namespace="http://www.w3.org/2004/11/xmlmime"/>
  <import namespace="http://www.w3.org/2003/05/soap-encoding"/>
  <simpleType name="area-type">
   <restriction base="xsd:string">
    <enumeration value="area-type-text"/><!-- enum const = 0 -->

    <enumeration value="area-type-numeric"/><!-- enum const = 1 -->
    <enumeration value="area-type-date"/><!-- enum const = 2 -->
    <enumeration value="area-type-checkbox"/><!-- enum const = 3 -->
    <enumeration value="area-type-slider"/><!-- enum const = 4 -->
    <enumeration value="area-type-draw"/><!-- enum const = 5 -->
    <enumeration value="area-type-identifier"/><!-- enum const = 6 -->
   </restriction>
  </simpleType>
  <simpleType name="format">

   <restriction base="xsd:string">
    <enumeration value="A5"/><!-- enum const = 0 -->
    <enumeration value="A4"/><!-- enum const = 1 -->
    <enumeration value="A3"/><!-- enum const = 2 -->
    <enumeration value="A2"/><!-- enum const = 3 -->
    <enumeration value="A1"/><!-- enum const = 4 -->
    <enumeration value="A0"/><!-- enum const = 5 -->
   </restriction>
  </simpleType>

  <complexType name="area">
   <sequence>
     <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     <element name="x" type="xsd:double" minOccurs="1" maxOccurs="1"/>
     <element name="y" type="xsd:double" minOccurs="1" maxOccurs="1"/>
     <element name="width" type="xsd:double" minOccurs="1" maxOccurs="1"/>
     <element name="height" type="xsd:double" minOccurs="1" maxOccurs="1"/>
     <element name="comments" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     <element name="area-type" type="form:area-type" minOccurs="1" maxOccurs="1"/>

   </sequence>
  </complexType>
  <complexType name="area-with-string">
   <sequence>
     <element name="area" type="form:area" minOccurs="1" maxOccurs="1"/>
     <element name="string" type="xsd:string" minOccurs="1" maxOccurs="1"/>
   </sequence>
  </complexType>
  <complexType name="area-with-integer">

   <sequence>
     <element name="area" type="form:area" minOccurs="1" maxOccurs="1"/>
     <element name="integer" type="xsd:int" minOccurs="1" maxOccurs="1"/>
   </sequence>
  </complexType>
  <complexType name="area-with-range">
   <sequence>
     <element name="area" type="form:area" minOccurs="1" maxOccurs="1"/>
     <element name="lower" type="xsd:double" minOccurs="1" maxOccurs="1"/>

     <element name="upper" type="xsd:double" minOccurs="1" maxOccurs="1"/>
   </sequence>
  </complexType>
  <complexType name="areas">
   <sequence>
     <element name="areas" type="form:area" minOccurs="0" maxOccurs="unbounded"/>
     <element name="string-areas" type="form:area-with-string" minOccurs="0" maxOccurs="unbounded"/>
     <element name="integer-areas" type="form:area-with-integer" minOccurs="0" maxOccurs="unbounded"/>
     <element name="range-areas" type="form:area-with-range" minOccurs="0" maxOccurs="unbounded"/>

   </sequence>
  </complexType>
  <complexType name="group">
   <sequence>
     <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     <element name="areas" type="form:areas" minOccurs="1" maxOccurs="1"/>
     <element name="groups" type="form:group" minOccurs="0" maxOccurs="unbounded"/>
   </sequence>
  </complexType>

  <complexType name="background">
   <sequence>
     <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     <element name="md5" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     <element name="mime" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     <element name="num-page" type="xsd:int" minOccurs="1" maxOccurs="1"/>
   </sequence>
  </complexType>
  <complexType name="pattern-type">

   <sequence>
     <element name="print-once" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
     <element name="has-identifier" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
   </sequence>
  </complexType>
  <complexType name="page">
   <sequence>
     <element name="num-page" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     <element name="format" type="form:format" minOccurs="1" maxOccurs="1"/>

     <element name="is-portrait" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
     <element name="background" type="form:background" minOccurs="1" maxOccurs="1"/>
     <element name="areas" type="form:areas" minOccurs="1" maxOccurs="1"/>
     <element name="groups" type="form:group" minOccurs="0" maxOccurs="unbounded"/>
   </sequence>
  </complexType>
  <complexType name="document-new">
   <sequence>
     <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>

     <element name="pattern-type" type="form:pattern-type" minOccurs="1" maxOccurs="1"/>
     <element name="form-pages" type="form:page" minOccurs="0" maxOccurs="unbounded"/>
   </sequence>
  </complexType>
  <complexType name="document">
   <sequence>
     <element name="uuid" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     <element name="pattern-type" type="form:pattern-type" minOccurs="1" maxOccurs="1"/>

     <element name="form-pages" type="form:page" minOccurs="0" maxOccurs="unbounded"/>
   </sequence>
  </complexType>
  <complexType name="document-info">
   <sequence>
     <element name="uuid" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     <element name="page-count" type="xsd:int" minOccurs="1" maxOccurs="1"/>
   </sequence>

  </complexType>
  <complexType name="Data">
   <sequence>
     <element ref="xop:Include" minOccurs="1" maxOccurs="1"/>
   </sequence>
     <attribute ref="xmime4:contentType" use="optional"/>
  </complexType>
  <complexType name="login-response">
   <sequence>

     <element name="result" type="generic:result" minOccurs="1" maxOccurs="1"/>
     <element name="session" type="xsd:string" minOccurs="1" maxOccurs="1"/>
   </sequence>
  </complexType>
  <!-- operation request element -->
  <element name="login" type="xsd:string"/>
  <!-- operation request element -->
  <element name="password" type="xsd:string"/>
  <!-- operation response element -->

  <element name="result" type="generic:result"/>
  <!-- operation response element -->
  <element name="uuid" type="xsd:string"/>
  <!-- operation request element -->
  <element name="session" type="xsd:string"/>
  <!-- operation request element -->
  <element name="aform" type="form:document-new"/>
  <!-- operation response element -->
  <element name="form" type="form:document"/>

  <!-- operation request element -->
  <element name="md5" type="xsd:string"/>
  <!-- operation response element -->
  <element name="data" type="form:Data"/>
  <!-- operation response element -->
  <element name="exists" type="xsd:boolean"/>
  <!-- operation response element -->
  <element name="backgrounds" type="form:background"/>
  <!-- operation response element -->

  <element name="forms" type="form:document"/>
  <!-- operation response element -->
  <element name="forms-info" type="form:document-info"/>
 </schema>

</types>

<message name="login">
 <part name="login" element="form:login"/>
 <part name="password" element="form:password"/>
</message>

<message name="uuid-response">
 <part name="result" element="form:result"/>
 <part name="uuid" element="form:uuid"/>
</message>

<message name="quit">
 <part name="session" element="form:session"/>
</message>

<message name="response">
 <part name="result" element="form:result"/>
</message>

<message name="new-form">
 <part name="session" element="form:session"/>
 <part name="aform" element="form:aform"/>
</message>

<message name="free-form">
 <part name="session" element="form:session"/>
 <part name="uuid" element="form:uuid"/>
</message>

<message name="get-form">
 <part name="session" element="form:session"/>

 <part name="uuid" element="form:uuid"/>
</message>

<message name="document-response">
 <part name="result" element="form:result"/>
 <part name="form" element="form:form"/>
</message>

<message name="get-file">
 <part name="session" element="form:session"/>
 <part name="md5" element="form:md5"/>
</message>

<message name="data-response">
 <part name="result" element="form:result"/>
 <part name="data" element="form:data"/>
</message>

<message name="set-file">
 <part name="session" element="form:session"/>
 <part name="md5" element="form:md5"/>
 <part name="data" element="form:data"/>
</message>

<message name="file-exists">
 <part name="session" element="form:session"/>
 <part name="md5" element="form:md5"/>
</message>

<message name="exists-response">
 <part name="result" element="form:result"/>
 <part name="exists" element="form:exists"/>
</message>

<message name="list-form-backgrounds">
 <part name="session" element="form:session"/>

 <part name="uuid" element="form:uuid"/>
</message>

<message name="list-backgrounds-response">
 <part name="result" element="form:result"/>
 <part name="backgrounds" element="form:backgrounds"/>
</message>

<message name="list-forms">
 <part name="session" element="form:session"/>
</message>

<message name="list-forms-response">

 <part name="result" element="form:result"/>
 <part name="forms" element="form:forms"/>
</message>

<message name="list-forms-info">
 <part name="session" element="form:session"/>
</message>

<message name="list-forms-info-response">
 <part name="result" element="form:result"/>
 <part name="forms-info" element="form:forms-info"/>
</message>

<portType name="formPortType">
 <operation name="login">
  <documentation>Service definition of function form__login</documentation>
  <input message="tns:login"/>
  <output message="tns:uuid-response"/>
 </operation>
 <operation name="quit">
  <documentation>Service definition of function form__quit</documentation>

  <input message="tns:quit"/>
  <output message="tns:response"/>
 </operation>
 <operation name="new-form">
  <documentation>Service definition of function form__new_form</documentation>
  <input message="tns:new-form"/>
  <output message="tns:uuid-response"/>
 </operation>

 <operation name="free-form">
  <documentation>Service definition of function form__free_form</documentation>
  <input message="tns:free-form"/>
  <output message="tns:response"/>
 </operation>
 <operation name="get-form">
  <documentation>Service definition of function form__get_form</documentation>
  <input message="tns:get-form"/>

  <output message="tns:document-response"/>
 </operation>
 <operation name="get-file">
  <documentation>Service definition of function form__get_file</documentation>
  <input message="tns:get-file"/>
  <output message="tns:data-response"/>
 </operation>
 <operation name="set-file">

  <documentation>Service definition of function form__set_file</documentation>
  <input message="tns:set-file"/>
  <output message="tns:response"/>
 </operation>
 <operation name="file-exists">
  <documentation>Service definition of function form__file_exists</documentation>
  <input message="tns:file-exists"/>
  <output message="tns:exists-response"/>

 </operation>
 <operation name="list-form-backgrounds">
  <documentation>Service definition of function form__list_form_backgrounds</documentation>
  <input message="tns:list-form-backgrounds"/>
  <output message="tns:list-backgrounds-response"/>
 </operation>
 <operation name="list-forms">
  <documentation>Service definition of function form__list_forms</documentation>

  <input message="tns:list-forms"/>
  <output message="tns:list-forms-response"/>
 </operation>
 <operation name="list-forms-info">
  <documentation>Service definition of function form__list_forms_info</documentation>
  <input message="tns:list-forms-info"/>
  <output message="tns:list-forms-info-response"/>
 </operation>

</portType>

<binding name="form" type="tns:formPortType">
 <SOAP:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
 <operation name="login">
  <SOAP:operation style="rpc"/>
  <input>
     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </input>
  <output>

     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </output>
 </operation>
 <operation name="quit">
  <SOAP:operation style="rpc"/>
  <input>
     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </input>
  <output>

     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </output>
 </operation>
 <operation name="new-form">
  <SOAP:operation style="rpc"/>
  <input>
     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </input>
  <output>

     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </output>
 </operation>
 <operation name="free-form">
  <SOAP:operation style="rpc"/>
  <input>
     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </input>
  <output>

     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </output>
 </operation>
 <operation name="get-form">
  <SOAP:operation style="rpc"/>
  <input>
     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </input>
  <output>

     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </output>
 </operation>
 <operation name="get-file">
  <SOAP:operation style="rpc"/>
  <input>
     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </input>
  <output>

     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </output>
 </operation>
 <operation name="set-file">
  <SOAP:operation style="rpc"/>
  <input>
     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </input>
  <output>

     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </output>
 </operation>
 <operation name="file-exists">
  <SOAP:operation style="rpc"/>
  <input>
     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </input>
  <output>

     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </output>
 </operation>
 <operation name="list-form-backgrounds">
  <SOAP:operation style="rpc"/>
  <input>
     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </input>
  <output>

     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </output>
 </operation>
 <operation name="list-forms">
  <SOAP:operation style="rpc"/>
  <input>
     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </input>
  <output>

     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </output>
 </operation>
 <operation name="list-forms-info">
  <SOAP:operation style="rpc"/>
  <input>
     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </input>
  <output>

     <SOAP:body parts="parameters" use="literal" namespace="form"/>
  </output>
 </operation>
</binding>

<service name="form">
 <documentation>gSOAP 2.7.10 generated service definition</documentation>
 <port name="form" binding="tns:form">
  <SOAP:address location="https://enterprise-name-masked.com/cgi-bin/form.fcgi"/>
 </port>

</service>

</definitions>
And here, you can find the generated errors :
wsimport -s Sources -b http://www.w3.org/2004/08/xop/includ
e -b http://www.w3.org/2004/11/xmlmime form.wsdl
parsing WSDL...


[WARNING] src-resolve: Cannot resolve the name 'xmime4:contentType' to a(n) 'attribute declaration' component.
  line 215 of file:/C:/Documents%20and%20Settings/Hopi_1/Mes%20documents/Alexandre/Recherche%20SOAP/WSImport/Test/Form/form.wsdl#types?schema2

[WARNING] s4s-elt-invalid-content.1: The content of 'Data' is invalid.  Element 'attribute' is invalid, misplaced, or occurs too often.
  line 215 of file:/C:/Documents%20and%20Settings/Hopi_1/Mes%20documents/Alexandre/Recherche%20SOAP/WSImport/Test/Form/form.wsdl#types?schema2

[WARNING] src-resolve.4.2: Error resolving component 'generic:result'. It was detected that 'generic:result' is in namespace 'generic', but components
 from this namespace are not referenceable from schema document 'file:/C:/Documents%20and%20Settings/Hopi_1/Mes%20documents/Alexandre/Recherche%20SOAP
/WSImport/Test/Form/form.wsdl#types?schema2'. If this is the incorrect namespace, perhaps the prefix of 'generic:result' needs to be changed. If this
is the correct namespace, then an appropriate 'import' tag should be added to 'file:/C:/Documents%20and%20Settings/Hopi_1/Mes%20documents/Alexandre/Re
cherche%20SOAP/WSImport/Test/Form/form.wsdl#types?schema2'.
  line 230 of file:/C:/Documents%20and%20Settings/Hopi_1/Mes%20documents/Alexandre/Recherche%20SOAP/WSImport/Test/Form/form.wsdl#types?schema2

[WARNING] src-resolve: Cannot resolve the name 'xop:Include' to a(n) 'element declaration' component.
  line 213 of file:/C:/Documents%20and%20Settings/Hopi_1/Mes%20documents/Alexandre/Recherche%20SOAP/WSImport/Test/Form/form.wsdl#types?schema2

[WARNING] Ignoring SOAP port "form": it uses non-standard SOAP 1.2 binding.
You must specify the "-extension" option to use this binding.
  line 533 of file:/C:/Documents%20and%20Settings/Hopi_1/Mes%20documents/Alexandre/Recherche%20SOAP/WSImport/Test/Form/form.wsdl

[WARNING] Service "form" does not contain any usable ports. try running wsimport with -extension switch.
  line 531 of file:/C:/Documents%20and%20Settings/Hopi_1/Mes%20documents/Alexandre/Recherche%20SOAP/WSImport/Test/Form/form.wsdl

generating code...


compiling code...
Could you tell me how to correctly generate my classes in this case ?
Thank you.

Edited by: morphet on May 30, 2008 6:12 AM
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 27 2008
Added on May 30 2008
0 comments
667 views