Handle bean inheritance
-----------------------
Key: XFIRE-355
URL: http://jira.codehaus.org/browse/XFIRE-355
Project: XFire
Type: Improvement
Components: Aegis Module
Versions: 1.1-beta-1
Reporter: Xavier Fournet
Assigned to: Dan Diephouse
Currently there is no way to use parameter or return bean value that are
inherited from the type present in the interface.
Example:
* class {{A}} with javabean properties {{name}} and {{val}}
* class {{B extends A}}, with additionnal javabean property {{data}}
* WS method {{public A[] list();}} that returns in fact both {{A}} and {{B}}
elements
In this case the reponse must be like that :
{code:xml}
<?xml version="
1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<listResponse xmlns="http://tempuri.org/">
<listResult>
<A xsi:type="B">
<name>2</name>
<val>2</val>
<data>data_2</data>
</A>
<A>
<name>1</name>
<val>1</val>
</A>
</listResult>
</listResponse>
</soap:Body>
</soap:Envelope>
{code}
Currently the {{B}} elements are handled as {{A}} elements and nor real type or
extended properties are present in the response.
Obvioulsy this will require additional type registration after the service has
been created from the interface in order to be able to generate a complete WSDL.
--
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