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/04/18 19:15:21 UTC

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

CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages
--------------------------------------------------------------------------------------

         Key: AXIS2-586
         URL: http://issues.apache.org/jira/browse/AXIS2-586
     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
 Assigned to: 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-586) CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages

Posted by "Justin Schoeman (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-586?page=comments#action_12441160 ] 
            
Justin Schoeman commented on AXIS2-586:
---------------------------------------

Just finished testing with the 4 October nightly build. Results are the same as previous tests.  The ID is still deserialised as DeviceIDImpl instead of GenericDeviceIDImpl.

The only significant difference is that an empty setAction in the client stub now generates an:
Operation Not found EPR is ...

error, where this did work correctly in the last 1.0 RC that I tested. (Although I am not sure why this is not set in the wsdl file...)

I will try test with ADB as well now, seeing as this seems to generate compilable code now.

-justin


> CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages
> --------------------------------------------------------------------------------------
>
>                 Key: AXIS2-586
>                 URL: http://issues.apache.org/jira/browse/AXIS2-586
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 0.94
>         Environment:  Suse Linux 9.3 Server, Tomcat 5.0, Axis2 0.94
>            Reporter: Justin Schoeman
>         Assigned To: 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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


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

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

Davanum Srinivas reassigned AXIS2-586:
--------------------------------------

    Assignee: Davanum Srinivas  (was: Ajith Harshana Ranabahu)

> CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages
> --------------------------------------------------------------------------------------
>
>                 Key: AXIS2-586
>                 URL: http://issues.apache.org/jira/browse/AXIS2-586
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 0.94
>         Environment:  Suse Linux 9.3 Server, Tomcat 5.0, Axis2 0.94
>            Reporter: Justin Schoeman
>         Assigned To: Davanum Srinivas
>
> 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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


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

Posted by "Justin Schoeman (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-586?page=comments#action_12374971 ] 

Justin Schoeman commented on AXIS2-586:
---------------------------------------

This does not seem to be entirely resolved in Axis2 0.95.  Using the same configuration as before (except for Axis2 0.95 instead of 0.94), I get the following:

Request message on the wire (for the ClientID parameter) :
<clientID xmlns="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:sch="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema" 
xsi:type="sch:GenericDeviceID" id="255255010" />
(which seems fine)

Deserialised object .getClass().getName() = za.co.eskom.nrs.www.xmlvend.base._2_0.schema.impl.DeviceIDImpl (should be za.co.eskom.nrs.www.xmlvend.base._2_0.schema.impl.GenericDeviceIDImpl)

Deserialised object .schemaType() = T=DeviceID@http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema (should be T=GenericDeviceID@http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema)

Deserialised object .toString() = <xml-fragment xsi:type="sch:GenericDeviceID" id="255255010" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sch="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"/>
(which seems fine).

So, even though the xsi:type information is now being correctly sent, the object is still not deserialised correctly (it is deserialised as the parent type, instead of the implemented type).

-justin


> CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages
> --------------------------------------------------------------------------------------
>
>          Key: AXIS2-586
>          URL: http://issues.apache.org/jira/browse/AXIS2-586
>      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] Updated: (AXIS2-586) CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages

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

Davanum Srinivas updated AXIS2-586:
-----------------------------------

    Component/s: databinding

> CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages
> --------------------------------------------------------------------------------------
>
>                 Key: AXIS2-586
>                 URL: http://issues.apache.org/jira/browse/AXIS2-586
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: databinding
>    Affects Versions: 0.94
>         Environment:  Suse Linux 9.3 Server, Tomcat 5.0, Axis2 0.94
>            Reporter: Justin Schoeman
>         Assigned To: Davanum Srinivas
>
> 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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


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

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

Davanum Srinivas resolved AXIS2-586.
------------------------------------

    Resolution: Fixed

Justin,

Please use the following parameter in your service.xml

<parameter name="ServiceTCCL" locked="false">service</parameter>

Basically this sets the thread context class loader to the class loader that loads your aar. This is needed because xmlbeans needs access to the *.xsb in your XBeans-packaged.jar and somehow xmlbeans does not pick it up if this is not in the class loader.

thanks,
dims

PS: after you run w2j for generating the serverside, copy your original wsdl and xsds into resources directory and then run ant to generate the aar.


> CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages
> --------------------------------------------------------------------------------------
>
>                 Key: AXIS2-586
>                 URL: http://issues.apache.org/jira/browse/AXIS2-586
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: databinding
>    Affects Versions: 0.94
>         Environment:  Suse Linux 9.3 Server, Tomcat 5.0, Axis2 0.94
>            Reporter: Justin Schoeman
>         Assigned To: Davanum Srinivas
>
> 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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


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

Posted by "Justin Schoeman (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-586?page=comments#action_12375086 ] 

Justin Schoeman commented on AXIS2-586:
---------------------------------------

OK - This only seems to affect deserialisation on the server. The client works correctly.

-justin


> CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages
> --------------------------------------------------------------------------------------
>
>          Key: AXIS2-586
>          URL: http://issues.apache.org/jira/browse/AXIS2-586
>      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-586) CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages

Posted by "Justin Schoeman (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-586?page=comments#action_12375980 ] 

Justin Schoeman commented on AXIS2-586:
---------------------------------------

The following files are required (in the same directory):

http://nrs.eskom.co.za/xmlvend/docs/Specification/November2005/WSDL/xmlvend-full-2.0.wsdl
http://nrs.eskom.co.za/xmlvend/docs/Specification/November2005/Schema/xmlvend-base-2.0.xsd
http://nrs.eskom.co.za/xmlvend/docs/Specification/November2005/Schema/xmlvend-revenue-2.0.xsd
http://nrs.eskom.co.za/xmlvend/docs/Specification/November2005/Schema/xmlvend-meter-2.0.xsd

Use '-d xmlbeans' with WSDL2Java, as the ADB code produced is not compilable. Also, may need to edit the SoapAction fields the the wsdl file - just make them the same as the operation names for the operations you intend to call. Axis2 performs the wrong operation if this is not done.

-justin


> CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages
> --------------------------------------------------------------------------------------
>
>          Key: AXIS2-586
>          URL: http://issues.apache.org/jira/browse/AXIS2-586
>      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-586) CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages

Posted by "Justin Schoeman (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-586?page=comments#action_12441169 ] 
            
Justin Schoeman commented on AXIS2-586:
---------------------------------------

The client code is on:

http://www.schoeman.org.za/axis2_test_client.tbz

It is hard coded to call either of the test methods (ConfirmCustomerRequest or CreditVendRequest).

Thanks,
-justin


> CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages
> --------------------------------------------------------------------------------------
>
>                 Key: AXIS2-586
>                 URL: http://issues.apache.org/jira/browse/AXIS2-586
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 0.94
>         Environment:  Suse Linux 9.3 Server, Tomcat 5.0, Axis2 0.94
>            Reporter: Justin Schoeman
>         Assigned To: 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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


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

Posted by "Justin Schoeman (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-586?page=comments#action_12375096 ] 

Justin Schoeman commented on AXIS2-586:
---------------------------------------

Server responses are still not always correctly serialised. For example, two successive fields in the response message, both are type 'GenericDeviceID' (which is an implementation of the abstract type DeviceID):

<clientID.xmlns="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="GenericDeviceID" 
id="255255011" />
<serverID.xmlns="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema" 
id="001" />

As you can see, clientID is serialised correctly, but serverID is not, even although their definition in the WSDL file is the same.  There seems to be something rather falkey in the serialisation code...

-justin


> CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages
> --------------------------------------------------------------------------------------
>
>          Key: AXIS2-586
>          URL: http://issues.apache.org/jira/browse/AXIS2-586
>      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-586) CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages

Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-586?page=comments#action_12441165 ] 
            
Davanum Srinivas commented on AXIS2-586:
----------------------------------------

Justin,

Could you please upload your java test code that you use to send the message? I am assuming you ran w2j on the wsdl's in the prev comment.

thanks,
dims

> CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages
> --------------------------------------------------------------------------------------
>
>                 Key: AXIS2-586
>                 URL: http://issues.apache.org/jira/browse/AXIS2-586
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 0.94
>         Environment:  Suse Linux 9.3 Server, Tomcat 5.0, Axis2 0.94
>            Reporter: Justin Schoeman
>         Assigned To: 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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


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

Posted by "Eran Chinthaka (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-586?page=comments#action_12439592 ] 
            
Eran Chinthaka commented on AXIS2-586:
--------------------------------------

Justin,

Can you please re-check this. I know for sure our data binding framework properly handles abstract types. 

> CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages
> --------------------------------------------------------------------------------------
>
>                 Key: AXIS2-586
>                 URL: http://issues.apache.org/jira/browse/AXIS2-586
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 0.94
>         Environment:  Suse Linux 9.3 Server, Tomcat 5.0, Axis2 0.94
>            Reporter: Justin Schoeman
>         Assigned To: 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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


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

Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-586?page=comments#action_12375898 ] 

Davanum Srinivas commented on AXIS2-586:
----------------------------------------

Can you please upload your wsdl?

thanks,
dims

> CLONE -Axis2 does not deserialise abstract types correctly when receiving WSA messages
> --------------------------------------------------------------------------------------
>
>          Key: AXIS2-586
>          URL: http://issues.apache.org/jira/browse/AXIS2-586
>      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