Axis2 does not deserialise abstract types correctly when receiving WSA messages
-------------------------------------------------------------------------------
Key: AXIS2-479
URL: http://issues.apache.org/jira/browse/AXIS2-479
Project: Apache Axis 2.0 (Axis2)
Type: Bug
Versions: 0.94
Environment: Suse Linux 9.3 Server, Tomcat 5.0, Axis2 0.94
Reporter: Justin Schoeman
When receiving WSA encoded messages containing abstract types, the created objects are for
the implementation of the abstract class, instead of the actual type sent over the wire.
In the following example, DeviceID is an abstract type, and EANDeviceID is an implementation
of that type. The following information is obtained from the deserialised DeviceID object
(which is sent as an EANDeviceID object):
WSA:
getClass().getName(): za.co.eskom.nrs.www.xmlvend.base._2_0.schema.impl.DeviceIDImpl
schemaType(): DeviceID@http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema
toString(): <xml-fragment type="sch:GenericDeviceID" id="255255010" xmlns:sch="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"/>
XSI:
getClass().getName(): za.co.eskom.nrs.www.xmlvend.base._2_0.schema.impl.GenericDeviceIDImpl
schemaType(): T=GenericDeviceID@http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema
toString(): <xml-fragment xsi:type="sch:GenericDeviceID" id="255255010" xmlns:sch="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
As you can see, in both cases, the correct information is contained in the xmlbean, but for
the WSA message it is deserialised incorrectly.
-justin
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
|