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!

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
725 views