It must be complexType/complexContent (you don't have complexContent)

Something like this:

<complexType name="EmailDocument">
  <complexContent>
    <extension base="tns1:Document">
      <sequence>
        <element name="sender" nillable="true" type="xsd:string"/>
        <element name="recipient" nillable="true" type="xsd:string"/>
      </sequence>
    </extension>
  </complexContent>
</complexType>

----- Original Message ----- 
From: "babloosony" <[EMAIL PROTECTED]>
To: <axis-user@ws.apache.org>; <axis-dev@ws.apache.org>
Sent: Tuesday, March 01, 2005 7:02a
Subject: why Axis doesn't preserve Inheritance ?


> Hi All,
>
> I am using AXIS 1.2 RC2 and trying to expose an EJB as web service
> with below wsdl which is somewhat handcrafted  to support java
> collections using my custom AXIS (De)Serialzers.
>
> --------------------------------------------------------------------------
-------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
> xmlns:impl="http://ws.sosnoski.com/wsdl/wroxaxis/appendixb";
> xmlns:intf="http://ws.sosnoski.com/wsdl/wroxaxis/appendixb";
> xmlns:apachesoap="http://xml.apache.org/xml-soap";
> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:tns1="http://ws.sosnoski.com/schemas/wroxaxis/appendixb";
> targetNamespace="http://ws.sosnoski.com/wsdl/wroxaxis/appendixb";>
> <wsdl:types>
> <schema
targetNamespace="http://ws.sosnoski.com/schemas/wroxaxis/appendixb";
> elementFormDefault="qualified"
> xmlns:tns="http://ws.sosnoski.com/schemas/wroxaxis/appendixb";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns="http://www.w3.org/2001/XMLSchema";>
>
> <complexType name="parentForecast">
> <sequence>
> <element name="parentZip" nillable="true" type="xsd:string" />
> </sequence>
> </complexType>
>
> <!-- Created from mapping for class wroxaxis.appendixb.Forecast -->
> <element name="forecast">
> <complexType>
> <extension base="tns1:parentForecast">
> <sequence>
> <element minOccurs="0" name="zip" type="xsd:string"/>
> <element minOccurs="0" name="city" type="xsd:string"/>
> <element minOccurs="0" name="state" type="xsd:string"/>
> <element minOccurs="0" name="date" type="xsd:string"/>
> <element minOccurs="0" name="forecast" type="xsd:string"/>
> <element name="temp" minOccurs="0">
> <complexType>
> <sequence>
> <element minOccurs="0" name="temp" type="xsd:string"/>
> </sequence>
> </complexType>
> </element>
> <element minOccurs="0" maxOccurs="unbounded" name="dummyVector"
> type="xsd:string"/>
> </sequence>
> <attribute use="required" name="hi" type="xsd:byte"/>
> <attribute use="required" name="low" type="xsd:byte"/>
> <attribute use="required" name="precip" type="xsd:byte"/>
> </extension>
> </complexType>
> </element>
>
> </schema>
> <schema xmlns="http://www.w3.org/2001/XMLSchema";
> targetNamespace="http://ws.sosnoski.com/wsdl/wroxaxis/appendixb";
> elementFormDefault="qualified">
> <import namespace="http://ws.sosnoski.com/schemas/wroxaxis/appendixb"/>
> <element name="getWeather">
> <complexType>
> <sequence>
> <element name="ziprq" type="xsd:string"/>
> </sequence>
> </complexType>
> </element>
> <element name="getWeatherResponse">
> <complexType>
> <sequence>
> <element ref="tns1:forecast"/>
> </sequence>
> </complexType>
> </element>
> </schema>
> </wsdl:types>
> <wsdl:message name="getWeatherRequest">
> <wsdl:part name="parameters" element="impl:getWeather"/>
> </wsdl:message>
> <wsdl:message name="getWeatherResponse">
> <wsdl:part name="parameters" element="impl:getWeatherResponse"/>
> </wsdl:message>
> <wsdl:portType name="SparePartPriceSessionInterface">
> <wsdl:operation name="getWeather">
> <wsdl:input name="getWeatherRequest" message="impl:getWeatherRequest"/>
> <wsdl:output name="getWeatherResponse" message="impl:getWeatherResponse"/>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="SparePartPriceSessionBinding"
> type="impl:SparePartPriceSessionInterface">
> <wsdlsoap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="getWeather">
> <wsdlsoap:operation/>
> <wsdl:input>
> <wsdlsoap:body use="literal"/>
> </wsdl:input>
> <wsdl:output>
> <wsdlsoap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="SparePartPriceSessionInterfaceService">
> <wsdl:port name="SparePartPriceSessionBean"
> binding="impl:SparePartPriceSessionBinding">
> <wsdlsoap:address
> location="http://localhost:9999/axis/services/SparePartPriceSession"/>
> </wsdl:port>
> </wsdl:service>
> <!--WSDL created by Apache Axis version: 1.2RC2 Built on Nov 16, 2004
> (12:19:44 EST)-->
> </wsdl:definitions>
> --------------------------------------------------------------------------
-------------------------------
>
>
>
> I have 2 questions here now.
>
> 1. Even though the above WSDL is "validated ok" by WSAD'S WSDL
> Validator, Altova's XMLSpy say it is invalid and reports an error
> "Unexpected element 'extension' in element 'complexType'. Can anyone
> please tell me why is this error occurring ?        Is my WSDL correct
> ?
>
>
> 2. I have taken the above WSDL and feeded to axis to generate stubs
> but AXIS does not preserve inheritance among  Forecast class and its
> super class ParentForecast class. The Forecast java file does not
> extend ParentForecast class.  Why is this strange behavior from AXIS's
> WSDL2Java Code Generator ?
>
>
>
>
>
> Thanks & Regards,
> Kumar.

Reply via email to