[jira] [Commented] (AXIS2-479) Axis2 does not deserialise abstract types correctly when receiving WSA messages

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (AXIS2-479) Axis2 does not deserialise abstract types correctly when receiving WSA messages

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/AXIS2-479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303792#comment-16303792 ]

Hudson commented on AXIS2-479:
------------------------------

SUCCESS: Integrated in Jenkins build axiom-trunk #2922 (See [https://builds.apache.org/job/axiom-trunk/2922/])
Recycle the test case for AXIS2-479 and transform it into a test case for Axiom. It is no longer relevant for Axis2 itself because XmlBeans objects are now serialized using SAX. (veithen: rev 1819279)
* (edit) axiom/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
* (add) axiom/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestCreateStAXOMBuilderFromXmlBeansPullParser.java
* (add) axiom/testing/axiom-testsuite/src/main/resources/org/apache/axiom/ts/om/builder/xmlvend.xml
* (add) axiom/testing/axiom-testsuite/src/main/xsd/xmlvend.xsd


> Axis2 does not deserialise abstract types correctly when receiving WSA messages
> -------------------------------------------------------------------------------
>
>                 Key: AXIS2-479
>                 URL: https://issues.apache.org/jira/browse/AXIS2-479
>             Project: Axis2
>          Issue Type: Bug
>    Affects Versions: 0.94
>         Environment:  Suse Linux 9.3 Server, Tomcat 5.0, Axis2 0.94
>            Reporter: Justin Schoeman
>            Assignee: Ajith Harshana Ranabahu
>
> 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 was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]