[ http://issues.apache.org/jira/browse/AXIS-1843?page=history ]
Peter Canning updated AXIS-1843:
--------------------------------
Attachment: test.wsdl
> Non-default constructor generated for complex type should take parameters to
> initialize base class properties
> -------------------------------------------------------------------------------------------------------------
>
> Key: AXIS-1843
> URL: http://issues.apache.org/jira/browse/AXIS-1843
> Project: Axis
> Type: Bug
> Components: WSDL processing
> Versions: 1.2RC2, 1.2RC3
> Environment: Linux (debian testing distribution)
> JDK 1.5.0_01
> Axis 1.2RC3
> Reporter: Peter Canning
> Attachments: test.wsdl
>
> WSDL2Java creates a JavaBean class corresponding to a complexType in the
> WSDL. The JavaBean class contains properties for each element in the
> complexType. The JavaBean class also contains a default constructor as well
> as a constructor taking a parameter for each property. However when the
> complexType is an extension of another complexType the non-default
> constructor does not take parameters for the properties of the corresponding
> base class. This forces clients to use property set methods to initialize
> the base class properties. This is both inconvenient and error prone. The
> problem is even more serious when the complexType extension hierarchy (and
> the corresponding class hierarchy) is multiple levels deep.
> For example, when processing the attached WSDL file with
> java -cp $AXISRC3_JARS org.apache.axis.wsdl.WSDL2Java -O -1 -p
> org.imaginary.test -o axis_stubs test.wsdl
> it produces constructors
> public Base(
> java.lang.String x,
> int y) {
> this.x = x;
> this.y = y;
> }
> and
> public Derived(
> java.lang.String a,
> java.lang.String b,
> java.lang.Boolean c) {
> this.a = a;
> this.b = b;
> this.c = c;
> }
> The second constructor should be
> public Derived(
> java.lang.String x,
> int y,
> java.lang.String a,
> java.lang.String b,
> java.lang.Boolean c) {
> super(x, y);
> this.a = a;
> this.b = b;
> this.c = c;
> }
> This would (1) allow use of the constructor to guarantee that all the
> properties are initialized, and (2) allow creating instances of class Derived
> in a declarative manner.
--
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
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira