Uploaded image for project: 'Axis'
  1. Axis
  2. AXIS-2543

wsdl2java fails to create objects, inheriting from array like objects.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.3, 1.4
    • None
    • Basic Architecture
    • None
    • Windows 2000 professional.

      java version "1.4.2_05"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04)
      Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode)

    Description

      I tried to create dataobjects using the following WSDL

      <?xml version="1.0" encoding="UTF-8"?>
      <wsdl:definitions
      targetNamespace="http://axis-test.t-mobile.de/test/inheritance"
      xmlns:inheritance="http://axis-test.t-mobile.de/test/inheritance"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
      <wsdl:types>
      <schema xmlns="http://www.w3.org/2001/XMLSchema">
      <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
      <complexType name="ValueBean">
      <complexContent>
      <extension base="inheritance:ValueBaseBean">
      <sequence>
      <element name="superContent" nillable="true" type="xsd:string"/>
      </sequence>
      </extension>
      </complexContent>
      </complexType>
      <complexType name="ValueBaseBean">
      <sequence>
      <element name="baseContent" maxOccurs="unbounded" minOccurs="0" type="xsd:string"/>
      </sequence>
      </complexType>
      </schema>
      </wsdl:types>
      </wsdl:definitions>

      Results in Compiler-Error:
      [javac] Compiling 1 source file to Y:\wfa_source\pcm\src\WebserviceGateway\build_ProdVersion
      [javac] Y:\wfa_source\pcm\src\WebserviceGateway\generated_ProdVersion\de\t_mobile\axis_test\test\inheritance\ValueBean.java:21: cannot resolve symbol
      [javac] symbol : variable param1
      [javac] location: class de.t_mobile.axis_test.test.inheritance.ValueBean
      [javac] this.param1 = param1;
      [javac] ^
      [javac] 1 error

      Analyses:
      wsdl2java looks the definition of ValueBaseBean as the definition of an array. On wsdl-Level ValueBean inherit from this array. W2SL cannot handle this.

      Solution Hints:
      I think on possible solution is, to make ValueBaseBean an object containing an arry, not to be an array.

      wsdl2java seems partly do an other approach: It's also possible to make the java implementation of ValueBean to contain the ValueBaseBean, not to inherit from it. wsdl2java seems partly to handle this approach: The 'extends' directive gots drop, the array attribute is included, but instead of setting the array value, there is an invalid reference to a super constructor.

      Attachments

        Activity

          People

            Unassigned Unassigned
            sauterfi Siegfried Sauter-Fischer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: