[ http://jira.codehaus.org/browse/XFIRE-35?page=comments#action_64048 ] 

Fried Hoeben commented on XFIRE-35:
-----------------------------------

Does the solution describe here also ensure that a call to 
SampleService.getA(name) may return a B? I.e. will the server also be aware 
that it may have to serialize all of B's properties, not just those defined by 
A?

> Inheritance relationship is not included into the schema definition
> -------------------------------------------------------------------
>
>          Key: XFIRE-35
>          URL: http://jira.codehaus.org/browse/XFIRE-35
>      Project: XFire
>         Type: Bug

>   Components: Core
>     Versions: 1.0-M3
>     Reporter: Arjen Poutsma
>     Assignee: Dan Diephouse
>  Attachments: InheritancePath.zip
>
>
> Nicolas Averseng writes:
> Let's take the following class structure as an example :
> public interface I
> {
>    String getName();
>    void setName(String name);
> }
> public class A implements I
> {
>    private String m_name;
>    public String getName() {
>        return m_name;
>    }
>    public void setName(String name) {
>        m_name = name;
>    }
> }
> public class B extends A
> {
>    private String m_data;
>    public String getData) {
>        return m_data;
>    }
>    public void setData(String data) {
>        m_data = data;
>    }
> }
> public interface SampleService1
> {
>    public A getA(String name);
>    public B getB(String name, int i);
> }
> public interface SampleService2
> {
>    public A getA(String name);
>    public B getB(String name, int i);
>    public I getI(String name);
> }
> public interface SampleService3
> {
>    public A getA(String name);
>    public B getB(String name, int i);
>    public Collection findSomeA() throws RemoteException; }
> 1- When generating the WSDL for a service with interface SampleService1, the 
> inheritance relationship between B and A is not included into the schema 
> definition.
> <xsd:complexType name="B">
>     <xsd:sequence>
>         <xsd:element name="data" nillable="true" type="xsd:string"/>
>         <xsd:element name="name" nillable="true" type="xsd:string"/>
>     </xsd:sequence>
> </xsd:complexType>
> <xsd:complexType name="A">
>     <xsd:sequence>
>         <xsd:element name="name" nillable="true" type="xsd:string"/>
>     </xsd:sequence>
> </xsd:complexType>
> instead of :
> <xsd:complexType name="B">
>     <xsd:complexContent>
>         <xsd:extension base="A">
>             <xsd:sequence>
>                 <xsd:element name="data" nillable="true" type="xsd:string"/>
>             </xsd:sequence>
>         </xsd:extension>
>     </xsd:complexContent>
> </xsd:complexType>
> <xsd:complexType name="A">
>     <xsd:sequence>
>         <xsd:element name="name" nillable="true" type="xsd:string"/>
>     </xsd:sequence>
> </xsd:complexType>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to