Xfire generates duplicate properties in WSDL for subclasses
-----------------------------------------------------------

                 Key: XFIRE-852
                 URL: http://jira.codehaus.org/browse/XFIRE-852
             Project: XFire
          Issue Type: Bug
    Affects Versions: 1.2.4
         Environment: Windows XP / Java 6
            Reporter: Los Morales
         Assigned To: Dan Diephouse


I'm running into an issue where duplicate properties are being generated in the 
WSDL for a subtype.  For example, I have a class called Employee which contains 
a name and id, and a subclass called Manager which adds a role property.  Hence 
they look like this:

*********************************
public class Employee {
   protected String name;
   protected Long id;

   // accessors
}

public class Manager extends Employee {
   protected String role;
 
   // accessors
}
********************************


Now, I have a service that returns a List of Managers back, e.g.:

public List<Manager> getManagers(String query);

This service is exposed as a WS using jsr181 annotations.  I'm also using 
servicemix (which uses xfire 1.2.2 internally) .  When I deploy this on the 
server, the generated WSDL looks like this:

******************************************
<xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://people.test.com";>
        <xsd:complexType name="ArrayOfManager">
        <xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="Manager" nillable="true" 
type="ns3:Manager"/>
</xsd:sequence>
</xsd:complexType>
        <xsd:complexType name="Manager">
        <xsd:sequence>
<xsd:element minOccurs="0" name="name" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="id" nillable="true" type="xsd:long"/>
<xsd:element minOccurs="0" name="role" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="id" nillable="true" type="xsd:long"/>
<xsd:element minOccurs="0" name="name" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

...

<xsd:complexType name="Employee">

        <xsd:sequence>
<xsd:element minOccurs="0" name="name" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="id" nillable="true" type="xsd:long"/>
</xsd:sequence>
</xsd:complexType>
******************************************

Notice that for Manager's complex type there are duplicates for name and id-- 
all of the superclass's properties have been duplicated.  However, the Employee 
complex type (used in another jsr181 service) generated in the WSDL is correct. 

-- 
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

        

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to