1 Reply Latest reply on Dec 20, 2006 3:24 PM by mr662

    wstools ignoring <xsd:choice> ??

    mr662 Newbie

      In my wsdl there is a choice element somewhere. I am using wstools to generate the java classes from my wsdl, but wstools seems to be ignoring the "xsd:choice" element.

      Below are snippets from my wsdl and corresponding generated java classes:

      WSDL

      <xsd:complexType name="Parameter">
       <xsd:sequence>
       <xsd:element name="name" type="xsd:string">
       </xsd:element>
       <xsd:choice>
       <xsd:element name="scalarValue" type="xsd:string">
       </xsd:element>
       <xsd:element name="arrayValue" type="xsd:boolean">
       </xsd:element>
       </xsd:choice>
       </xsd:sequence>
       </xsd:complexType>


      The generated java class

      /*
       * JBossWS WS-Tools Generated Source
       *
       * Generation Date: Wed Dec 20 15:18:01 EST 2006
       *
       * This generated source code represents a derivative work of the input to
       * the generator that produced it. Consult the input for the copyright and
       * terms of use that apply to this source code.
       */
      
      package com.covergence.enms.ws.templates;
      
      
      public class Parameter
      {
      
      protected java.lang.String name;
      public Parameter(){}
      
      public Parameter(java.lang.String name){
      this.name=name;
      }
      public java.lang.String getName() { return name ;}
      
      public void setName(java.lang.String name){ this.name=name; }
      
      }



      Even though jaxrpc-bindings file look ok
      <java-xml-type-mapping>
       <java-type>com.covergence.enms.ws.templates.Parameter</java-type>
       <root-type-qname xmlns:typeNS='http://www.covergence.com/ws/templates'>typeNS:Parameter</root-type-qname>
       <qname-scope>complexType</qname-scope>
       <variable-mapping>
       <java-variable-name>name</java-variable-name>
       <xml-element-name>name</xml-element-name>
       </variable-mapping>
       <variable-mapping>
       <java-variable-name>scalarValue</java-variable-name>
       <xml-element-name>scalarValue</xml-element-name>
       </variable-mapping>
       <variable-mapping>
       <java-variable-name>arrayValue</java-variable-name>
       <xml-element-name>arrayValue</xml-element-name>
       </variable-mapping>
       </java-xml-type-mapping>