axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "webhiker@tiscali.fr" <webhi...@tiscali.fr>
Subject Re: "extension base" inheritance seems non-functional in wsdl2java?
Date Thu, 09 Sep 2004 13:23:45 GMT
Thanks, I'll try it with your sample and see if I get anything going.
However, you don't seem to define namespace "tns1"? Perhaps this is the 
secret Axis fiddle I will need to get it working.
I thought they replaced this "tns1" thing as a bug fix in 1.1 beta? It's 
certainly not a documented feature that I've seen before.




Christophe Roudet wrote:

>It works fine for me with Axis 1.1
>
>Here is a sample:
>
><schema targetNamespace="urn:my.domain"
>xmlns="http://www.w3.org/2001/XMLSchema">
>   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
><complexType abstract="true" name="DeviceGroup">
>    <sequence>
>     <element name="id" type="xsd:long"/>
>     <element name="name" nillable="true" type="xsd:string"/>
>     <element name="parentGroupName" nillable="true" type="xsd:string"/>
>     <element name="creatorName" nillable="false" type="xsd:string"/>
>     <element name="type" type="xsd:int"/>
>    </sequence>
>   </complexType>
>   <complexType name="StaticDeviceGroup">
>    <complexContent>
>     <extension base="tns1:DeviceGroup">
>      <sequence>
>       <element name="devices" nillable="true" type="xsd:anyType"/>
>      </sequence>
>     </extension>
>    </complexContent>
>   </complexType>
>
>Christophe
>
>  
>
>>-----Original Message-----
>>From: webhiker@tiscali.fr [mailto:webhiker@tiscali.fr]
>>Sent: Thursday, September 09, 2004 8:51 AM
>>To: axis-user@ws.apache.org
>>Subject: Re: "extension base" inheritance seems non-functional in
>>wsdl2java?
>>
>>Actually, it appears Axis is completely oblivious to the "<extension
>>base=.." tag.
>>I even tried to define :
>><extension base="dummy:IDontExist">
>>
>>and Axis doesn't even generate a warning! Seems to be there's a big
>>piece of Axis not implemented here, I think when they see this
>>definition, they just ignore it.
>>
>>So since I'm the first person on the planet to want to factorise and
>>re-use some of my complex objects among web services, how have you guys
>>been doing it?
>>For example if all web services return a complex object with parameter
>>"common1", "common2", and you want a web service to return
>>this common portion, but also a new parameter "specific1", do you
>>currently just duplicate every single wsdl you have?
>>
>>I was planning a usefull import statement to import this base type in
>>the wsdl, and then each web service can extend it as needed.
>>
>>wh
>>
>>webhiker@tiscali.fr wrote:
>>
>>    
>>
>>>Yes, sorry, it was just a copy paste error.
>>>The correct wsdl is :
>>>
>>>       <xsd:complexType name="EmailResult">
>>>                     <complexContent>
>>>                          <extension base="sdns:SDResult">
>>>                            <xsd:all>
>>>                              <xsd:element name="Result"
>>>type="xsd:string"/>
>>>                            </xsd:all>
>>>                          </extension>
>>>                     </complexContent>
>>>       </xsd:complexType>
>>>
>>>
>>>but the end result is the same.
>>>Does anyone have an example using a wsdl declaration like this that I
>>>can crib from?
>>>
>>>
>>>tony.q.weddle@gsk.com wrote:
>>>
>>>      
>>>
>>>>If you copy and pasted this bit of XML, then you have an error. The
>>>>sequence element doesn't have a closing tag and there are two closing
>>>>tags for the extension element. However, I would have expected this
>>>>to show up as an error when running WSDL2Java.
>>>>
>>>>Tony
>>>>
>>>>
>>>>
>>>>I'm trying to factorise my wsdl descriptions for all our web services,
>>>>but as soon as I use the <extension base="..." the stubs which are
>>>>generated are completely empty. Is there some special magic option I
>>>>need to set, or is this functionality just not supported by Axis yet?
>>>>(using 1.1 beta)
>>>>The class I want to extend is not even generated by Axis (in the
>>>>        
>>>>
>>example
>>    
>>
>>>>below, the SDResult class)
>>>>
>>>>I'd appreciate any thoughts on where I'm going wrong.
>>>>
>>>>Here's my wsdl snippet :
>>>>
>>>>...
>>>>       <xsd:schema>
>>>>       <xsd:complexType abstract="true" name="SDResult">
>>>>                   <xsd:sequence>
>>>>                       <xsd:element name="SDId"
>>>>type="xsd:string"/>
>>>>                       <xsd:element name="SDIndex"
>>>>type="xsd:int"/>
>>>>                       <xsd:element name="SDMimeType"
>>>>type="xsd:string"/>
>>>>                       <xsd:element name="SDURL"
>>>>type="xsd:string"/>
>>>>                       <xsd:element name="SDStatus"
>>>>type="xsd:string"/>
>>>>                       <xsd:element name="SDMessage"
>>>> type="xsd:string"/>
>>>>               </xsd:sequence>
>>>>       </xsd:complexType>
>>>>
>>>>       <xsd:complexType name="EmailResult">
>>>>                     <complexContent>
>>>>                          <extension base="SDResult">
>>>>                            <sequence>
>>>>                              <xsd:element
>>>>name="Result"                type="xsd:string"/>
>>>>                            </extension>
>>>>                          </extension>
>>>>                     </complexContent>
>>>>       </xsd:complexType>
>>>>       </xsd:schema>
>>>>...
>>>>
>>>>        
>>>>
>>>      
>>>
>
>
>
>
>
>  
>


Mime
View raw message