History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: XFIRE-537
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Dan Diephouse
Reporter: Jean Davias
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
XFire

Missing complexType in generated wsdl with inheritance support

Created: 19/Jul/06 09:14 AM   Updated: 20/Jul/06 03:20 PM
Component/s: Aegis Module
Affects Version/s: None
Fix Version/s: 1.2-RC

Time Tracking:
Not Specified

File Attachments: 1. Text File inheritance.patch (6 kb)
2. Text File WSDLInheritance.patch (0.9 kb)


Testcase included: yes


 Description  « Hide
Attached patch includes updated org.codehaus.xfire.aegis.inheritance.xfire.XFireTestCase

 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Jean Davias - 19/Jul/06 09:51 AM
Considering the following inheritance tree :

public class BeanA
{
private String m_propA;

public String getPropA() { return m_propA; }
public void setPropA(String propA) { m_propA = propA; }
}

public class BeanB extends BeanA
{
private String m_propB;

public String getPropB() { return m_propB; }
public void setPropB(String propB) { m_propB = propB; }
}

public class BeanC extends BeanB
{
<...>
private BeanD[] m_tabC;

<...>
public BeanD getPropC() { return m_tabC; }
public void setTabC(BeanD[] tabC) { m_tabC = tabC; }
}

In case BeanD does not appear in any of the method prototypes of the ws, the complexType named ArrayOfBeanD will not be defined in the generated wsdl.


Jean Davias - 19/Jul/06 10:00 AM
Last line of previous comment should read:

In case BeanD[] does not appear in any of the method prototypes of the ws, ...


Alin Simionoiu - 19/Jul/06 01:54 PM
I had the exact same issue.
As far as I can tell the problem is in org.codehaus.xfire.aegis.type.basic.BeanType getDependencies method.
The if statement that's suppose to add the dependencies should have info.getTypeClass() instead of info.getClass().

I attached here a patch for this. In my tests everything is working fine now.


Dan Diephouse - 20/Jul/06 03:20 PM
Thanks to both of you! This is fixed in SVN now.