You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Ao...@meridianp2p.com on 2004/07/19 14:38:03 UTC
Missing classes in 1.2 beta wsdl2java
Last week I used the WSDL2Java tool in the released Axis 1.1.
Today I re-ran the tool from the 1.2_beta2 release. The code that is
generated does not compile and there are some major differences. Firstly
the reason for non-compilation is that one of the generated classes is
attempting to extend java.lang.String (which is defined as final).
When I compiled with axis1.1 this problem didn't occur as the generated
class extended another generated class which had a private member variable
which was the string. The wsdl imports a number of xsd files one of which
defines all the base types that are used by used by other xsd files. In
this there are a number of xsd simpleType elements whose restriction type
is one defined earlier in the file and which in itself is an xsd:string.
For example
<xsd:simpleType name="alpha">
<xsd:restriction base="xsd:string">
<xsd:pattern value="...." />
</xsd:restriction base
</xsd:simpleType>
<xsd:simpleType name="alpha8">
<xsd:restriction base="alpha">
<xsd:maxLength value="8"/>
</xsd:restriction base
</xsd:simpleType>
etc
Using axis 1.1 I get generated java classes for each of these simple
types. For example an Alpha.java and a Alpha8.java with the latter having
an instance of the former as a private member.
With the beta I don't get either of these so that when a more complex type
is defined at a later stage in another xsd file, for example
<xsd:element name="ElementName">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="EncodedElement">
<xsd:complexType>
<xsd:complexContent>
<xsd:extensionBase="ns:alpha8">
....
</xsd:extensionBase>
</xsd:complexContext>
</xsd:complexType>
</xsd:element>
.....
</xsd:sequence>
</xsd:sequence>
</xsd:element>
In this case the generated class __ElementName_EncodedElement extends
java.lang.String
Is there something different I need to when using WSDL2Java with the 1.2
beta?
Thanks,
Aoife
Re: Missing classes in 1.2 beta wsdl2java
Posted by Davanum Srinivas <da...@gmail.com>.
please log a bug report with your complete wsdl.
thanks,
dims
----- Original Message -----
From: aoife.kavanagh@meridianp2p.com <ao...@meridianp2p.com>
Date: Mon, 19 Jul 2004 13:38:03 +0100
Subject: Missing classes in 1.2 beta wsdl2java
To: axis-user@ws.apache.org
Last week I used the WSDL2Java tool in the released Axis 1.1.
Today I re-ran the tool from the 1.2_beta2 release. The code that is
generated does not compile and there are some major differences.
Firstly the reason for non-compilation is that one of the generated
classes is attempting to extend java.lang.String (which is defined as
final).
When I compiled with axis1.1 this problem didn't occur as the
generated class extended another generated class which had a private
member variable which was the string. The wsdl imports a number of
xsd files one of which defines all the base types that are used by
used by other xsd files. In this there are a number of xsd simpleType
elements whose restriction type is one defined earlier in the file and
which in itself is an xsd:string.
For example
<xsd:simpleType name="alpha">
<xsd:restriction base="xsd:string">
<xsd:pattern value="...." />
</xsd:restriction base
</xsd:simpleType>
<xsd:simpleType name="alpha8">
<xsd:restriction base="alpha">
<xsd:maxLength value="8"/>
</xsd:restriction base
</xsd:simpleType>
etc
Using axis 1.1 I get generated java classes for each of these simple
types. For example an Alpha.java and a Alpha8.java with the latter
having an instance of the former as a private member.
With the beta I don't get either of these so that when a more complex
type is defined at a later stage in another xsd file, for example
<xsd:element name="ElementName">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="EncodedElement">
<xsd:complexType>
<xsd:complexContent>
<xsd:extensionBase="ns:alpha8">
....
</xsd:extensionBase>
</xsd:complexContext>
</xsd:complexType>
</xsd:element>
.....
</xsd:sequence>
</xsd:sequence>
</xsd:element>
In this case the generated class __ElementName_EncodedElement extends
java.lang.String
Is there something different I need to when using WSDL2Java with the 1.2 beta?
Thanks,
Aoife
--
Davanum Srinivas - http://webservices.apache.org/~dims/