You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Justin Schoeman (JIRA)" <ji...@apache.org> on 2006/03/01 11:18:39 UTC

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

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


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

Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-479?page=all ]

Deepal Jayasinghe reassigned AXIS2-479:
---------------------------------------

    Assign To: Ajith Harshana Ranabahu

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


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

Posted by "Ajith Harshana Ranabahu (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-479?page=comments#action_12371224 ] 

Ajith Harshana Ranabahu commented on AXIS2-479:
-----------------------------------------------

Seems this issue is related to the attribute namespace serialization issue since in the WSA case I see that the type is unqualified.

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


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

Posted by "Ajith Harshana Ranabahu (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-479?page=all ]
     
Ajith Harshana Ranabahu resolved AXIS2-479:
-------------------------------------------

    Resolution: Fixed

Issue fixed. The eror was actually in the OM attribute serialization

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