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

wsdl2java mix up order of elements and arrays in super constructor call

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 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/order"
      xmlns:order="http://axis-test.t-mobile.de/test/order"
      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">
      <complexType name="SubBean">
      <complexContent>
      <extension base="order:SuperBean">
      <sequence/>
      </extension>
      </complexContent>
      </complexType>
      <complexType name="SuperBean">
      <sequence>
      <element name="superContent" maxOccurs="1" minOccurs="1" type="xsd:string"/>
      </sequence>
      <attribute name="superAttribute" type="xsd:int"/>
      </complexType>
      </schema>
      </wsdl:types>
      </wsdl:definitions>

      As a result I got a compiler error.
      [javac] Compiling 2 source files to Y:\wfa_source\pcm\src\WebserviceGateway\build_ProdVersion
      [javac] Y:\wfa_source\pcm\src\WebserviceGateway\generated_ProdVersion\de\t_mobile\axis_test\test\order\SubBean.java:17: cannot resolve symbol
      [javac] symbol : constructor SuperBean (int,java.lang.String)
      [javac] location: class de.t_mobile.axis_test.test.order.SuperBean
      [javac] super(
      [javac] ^
      [javac] 1 error

      The reason of this is a mix up in the order of the arguments in super class.
      The constructor of SuperBean has the signature
      public SuperBean( java.lang.String superContent, int superAttribute)
      but in the constructor of SubBean you find the call
      super( superAttribute, superContent);

      Attachments

        Activity

          People

            Unassigned Unassigned
            sauterfi Siegfried Sauter-Fischer
            Votes:
            5 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated: