You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Jordan Digby (JIRA)" <ax...@ws.apache.org> on 2005/11/18 05:41:42 UTC

[jira] Commented: (AXIS-2307) wsdl2java does no longer generate Java classes for simple WSDL types

    [ http://issues.apache.org/jira/browse/AXIS-2307?page=comments#action_12357957 ] 

Jordan Digby commented on AXIS-2307:
------------------------------------

I believe the attached wsdl also produces another follow-on error.  We use ComplexTypes which extend simple types.  Because the simple type classes aren't being generated, our ComplexTypes prodce code which won't even compile.  The file test2.wsdl is the same as test.wsdl except that I've added a ComplexType which extends laendercode (simple type chosen at random).  The java file WSDL2Java generates, ComplexSubType.java contains the line

    // Simple Types must have a String constructor
    public ComplexSubType(java.lang.String _value) {
        super(_value);
    }
which fails, as ComplexSubType subclasses Object, which has no String constructor.  In axis1.2.1, this code was generated correctly as 

    // Simple Types must have a String constructor
    public ComplexSubType(java.lang.String _value) {
        this._value = _value;
    }
[Note that this subtyping technique is in the published schema of an industry standards body, so we don't get to change it.]

> wsdl2java does no longer generate Java classes for simple WSDL types
> --------------------------------------------------------------------
>
>          Key: AXIS-2307
>          URL: http://issues.apache.org/jira/browse/AXIS-2307
>      Project: Apache Axis
>         Type: Bug
>     Versions: 1.2, 1.2.1, 1.3
>  Environment: Windows XP, BEA Weblogic, Java 1.4
>     Reporter: Matthias Burbach
>     Priority: Blocker
>  Attachments: test.wsdl
>
> I observed that in contrast to Axis 1.1 wsdl2java does no longer generate Java classes for simple WSDL types in Axis 1.2 and above anymore.
> For example, my WSDL contains the following type definition:
>    <xs:simpleType name="anrede">
>     <xs:restriction base="xs:int">
>      <xs:minInclusive value="0">
>      </xs:minInclusive>
>      <xs:maxInclusive value="2">
>      </xs:maxInclusive>
>     </xs:restriction>
>    </xs:simpleType>
> wsdl2java of Axis 1.1 generated a Java class Anrede.java from this bit. 
> Axis 1.1 XML requests referencing this type look as follows (extraction): <anrede xsi:type="n1:anrede">0</anrede> 
> wsdl2java of Axis 1.2, however does **not** generated a Java class Anrede.java from this bit. 
> Axis 1.2 XML requests, on the contrary, referencing this type look as follows (extraction): <anrede xsi:type="xsd:int">0</anrede> 
> This difference causes the server I sent such requests to to reject requests of the latter kind:-(
> Consequently, I seem to face a serious interoperability problem due to the upgrade from Axis 1.1 to Axis 1.2. The problem remains when using Axis 1.2.1 or Axis 1.3.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira