Hi there,

i'm trying to generete my client classes with the WSDL2Java from axis.
Here is my (simplified) wsdl :

============== wsdl ===================
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://myServices";
                  xmlns:impl="http://myServices";
                  xmlns:intf="http://myServices";
                  xmlns:frcnpvdpmetpubobjets="http://objects.my";
                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                  xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
<wsdl:types>
<xsd:schema elementFormDefault="unqualified"
    targetNamespace="http://objects.my";
    xmlns:myobjects="http://objects.my";
    xmlns:xsd="http://www.w3.org/2001/XMLSchema";
    >

    <xsd:complexType name="Ventilation" abstract="true">
        <xsd:sequence>
            <xsd:element nillable="true"
                    minOccurs="0"
                    maxOccurs="unbounded"
                    name="sousArbreVentilations"
                    type="xsd:anyType" >
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="VentilationProfil">
        <xsd:complexContent>
            <xsd:extension base="myobjects:Ventilation">
        <xsd:sequence>
            <xsd:element nillable="true"
                    name="codeProfil"
                    type="xsd:string" >
            </xsd:element>
            <xsd:element nillable="true"
                    name="dureeHorizon"
                    type="xsd:int" >
            </xsd:element>
        </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
</xsd:schema>
</wsdl:types>
</wsdl:definitions>
=================================
With axis 1.1 and 1.2 it works fine i have 2 objects generated :
 - Ventilation
 - VentilationProfil extends ventilation

With axis 1.3 and 1.4 it doesn't work, i have only 1 object generated :
 - VentilationProfil wich doesn't compile. Here is the beginning of the class:

============== VentilationProfil.java ===================
public class VentilationProfil  implements java.io.Serializable {
    private java.lang.String codeProfil;

    private java.lang.Integer dureeHorizon;

    private java.lang.Object[] ventilation;  // attribute

    public VentilationProfil() {
    }

    public VentilationProfil(
           java.lang.Object[] param1,
           java.lang.String codeProfil,
           java.lang.Integer dureeHorizon) {
        this.param1 = param1; // <= there is no attribute param1...
        this.codeProfil = codeProfil;
        this.dureeHorizon = dureeHorizon;
    }
=================================
If i add a "foo" element in the complexType "Ventilation", it works
fine with all axis versions :

=================================
    <xsd:complexType name="Ventilation" abstract="true">
        <xsd:sequence>
<!-- Adding a foo attribute in the ventilation abstract class -->
            <xsd:element nillable="true"
                     name="foo"
                     type="xsd:anyType"/>
            <xsd:element nillable="true"
                    minOccurs="0"
                    maxOccurs="unbounded"
                    name="sousArbreVentilations"
                    type="xsd:anyType" >
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
=================================

But this work arount is not a solution for me (i'm not the owner of the wsdl).

Is it a known issue? Is there a solution?

Thanks !

Reply via email to