Hi,

The XSD schema used by my WSDL defines the following types:

...
  <xsd:complexType name="typeA">
    <xsd:sequence>

      <xsd:element name="typeB">
        <xsd:simpleType>
          <xsd:restriction base="xsd:positiveInteger">
            <xsd:minExclusive value="01"/>
            <xsd:maxInclusive value="99"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>
...

In short, typeA uses typeB, typeB being defined within typeA.


I generated the code for the server in adb mode with the command

$AXIS2_HOME/bin/wsdl2java.sh -uri myService.wsdl -p my.package -o /tmp/my/dir/server -d adb -s -wv 1.1 -ss -sd

Then in /tmp/my/dir/server/src, I have a java file for typeB, for which the package name is not set ('package ;'). As a result, the java code cannot be compiled.

I have this problem with Axis2.1.1.1 and with the latest release (Axis2.1.2).


However, if I change my XSD schema, to have something like this:

...
  <xsd:simpleType name="typeB">
    <xsd:restriction base="xsd:positiveInteger">
      <xsd:minExclusive value="01"/>
      <xsd:maxInclusive value="99"/>
    </xsd:restriction>
  </xsd:simpleType>

  <xsd:complexType name="typeA">
    <xsd:sequence>
      <xsd:element name="elementB" type="typeB">
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
...

In short, typeB is now defined at the top-level in the XSD schema and typeA defines elementB which uses a reference to typeB.

Now, the code generation in adb mode works fine and the java files compile.


I would like to know if someone had this kind of problem before.
Is this behavior a known issue or a limitation of Axis2.1.x ?

Thanks in advance.

Stephane Roy
Alcatel-Lucent


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to