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 "Steve Green (JIRA)" <ax...@ws.apache.org> on 2004/11/15 20:03:23 UTC

[jira] Created: (AXIS-1668) SerializationContext does not force xsi:type when the WSDLJava generated metadata, and shouldSendType=false

SerializationContext does not force xsi:type when the WSDLJava generated metadata, and shouldSendType=false
-----------------------------------------------------------------------------------------------------------

         Key: AXIS-1668
         URL: http://nagoya.apache.org/jira/browse/AXIS-1668
     Project: Axis
        Type: Bug
  Components: Serialization/Deserialization  
    Versions: current (nightly)    
    Reporter: Steve Green


SerializationContext.serializeActual will force the xsi:type attribute (no matter what the setting for sendType) when the type being sent is not the same as the expected type, but only when there is a serializer in the type registry.  This is necessary to implement polymorphism.  When the type being serialized does not have a type registry entry, the serializer and type info is obtained from the bean itself.  In this case, xsi:type is not being forced when it should be.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Resolved: (AXIS-1668) SerializationContext does not force xsi:type when the WSDLJava generated metadata, and shouldSendType=false

Posted by "Davanum Srinivas (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1668?page=history ]
     
Davanum Srinivas resolved AXIS-1668:
------------------------------------

    Resolution: Fixed

Applied Patch.

> SerializationContext does not force xsi:type when the WSDLJava generated metadata, and shouldSendType=false
> -----------------------------------------------------------------------------------------------------------
>
>          Key: AXIS-1668
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1668
>      Project: Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: current (nightly)
>     Reporter: Steve Green
>  Attachments: ser.patch
>
> SerializationContext.serializeActual will force the xsi:type attribute (no matter what the setting for sendType) when the type being sent is not the same as the expected type, but only when there is a serializer in the type registry.  This is necessary to implement polymorphism.  When the type being serialized does not have a type registry entry, the serializer and type info is obtained from the bean itself.  In this case, xsi:type is not being forced when it should be.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Updated: (AXIS-1668) SerializationContext does not force xsi:type when the WSDLJava generated metadata, and shouldSendType=false

Posted by "Steve Green (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1668?page=history ]

Steve Green updated AXIS-1668:
------------------------------

    Attachment: ser.patch

This patch fixes the problem.  It's a copy-paste-modify from another section of the same method.

> SerializationContext does not force xsi:type when the WSDLJava generated metadata, and shouldSendType=false
> -----------------------------------------------------------------------------------------------------------
>
>          Key: AXIS-1668
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1668
>      Project: Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: current (nightly)
>     Reporter: Steve Green
>  Attachments: ser.patch
>
> SerializationContext.serializeActual will force the xsi:type attribute (no matter what the setting for sendType) when the type being sent is not the same as the expected type, but only when there is a serializer in the type registry.  This is necessary to implement polymorphism.  When the type being serialized does not have a type registry entry, the serializer and type info is obtained from the bean itself.  In this case, xsi:type is not being forced when it should be.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-1668) SerializationContext does not force xsi:type when the WSDLJava generated metadata, and shouldSendType=false

Posted by "Davanum Srinivas (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1668?page=comments#action_55757 ]
     
Davanum Srinivas commented on AXIS-1668:
----------------------------------------

    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 2.144 sec
    [junit] Running test.outparams.PackageTests
    [junit] - Exception:
    [junit] org.xml.sax.SAXException: Bad types (class java.lang.String -> int)
    [junit]     at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:282)
    [junit]     at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1031)
    [junit]     at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
    [junit]     at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
    [junit]     at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:347)
    [junit]     at org.apache.axis.message.RPCElement.getParams(RPCElement.java:386)
    [junit]     at org.apache.axis.client.Call.invoke(Call.java:2402)
    [junit]     at org.apache.axis.client.Call.invoke(Call.java:2301)
    [junit]     at test.outparams.TestOutParams.testOutputParams(TestOutParams.java:82)
    [junit]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [junit]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    [junit]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [junit]     at java.lang.reflect.Method.invoke(Method.java:324)
    [junit]     at junit.framework.TestCase.runTest(TestCase.java:154)
    [junit]     at junit.framework.TestCase.runBare(TestCase.java:127)
    [junit]     at junit.framework.TestResult$1.protect(TestResult.java:106)
    [junit]     at junit.framework.TestResult.runProtected(TestResult.java:124)
    [junit]     at junit.framework.TestResult.run(TestResult.java:109)
    [junit]     at junit.framework.TestCase.run(TestCase.java:118)
    [junit]     at junit.framework.TestSuite.runTest(TestSuite.java:208)
    [junit]     at junit.framework.TestSuite.run(TestSuite.java:203)
    [junit]     at junit.framework.TestSuite.runTest(TestSuite.java:208)
    [junit]     at junit.framework.TestSuite.run(TestSuite.java:203)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:289)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:656)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:558)
    [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 2.053 sec

> SerializationContext does not force xsi:type when the WSDLJava generated metadata, and shouldSendType=false
> -----------------------------------------------------------------------------------------------------------
>
>          Key: AXIS-1668
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1668
>      Project: Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: current (nightly)
>     Reporter: Steve Green
>  Attachments: ser.patch
>
> SerializationContext.serializeActual will force the xsi:type attribute (no matter what the setting for sendType) when the type being sent is not the same as the expected type, but only when there is a serializer in the type registry.  This is necessary to implement polymorphism.  When the type being serialized does not have a type registry entry, the serializer and type info is obtained from the bean itself.  In this case, xsi:type is not being forced when it should be.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-1668) SerializationContext does not force xsi:type when the WSDLJava generated metadata, and shouldSendType=false

Posted by "Davanum Srinivas (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1668?page=comments#action_55759 ]
     
Davanum Srinivas commented on AXIS-1668:
----------------------------------------

oops! ignore my prev comment. 

> SerializationContext does not force xsi:type when the WSDLJava generated metadata, and shouldSendType=false
> -----------------------------------------------------------------------------------------------------------
>
>          Key: AXIS-1668
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1668
>      Project: Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: current (nightly)
>     Reporter: Steve Green
>  Attachments: ser.patch
>
> SerializationContext.serializeActual will force the xsi:type attribute (no matter what the setting for sendType) when the type being sent is not the same as the expected type, but only when there is a serializer in the type registry.  This is necessary to implement polymorphism.  When the type being serialized does not have a type registry entry, the serializer and type info is obtained from the bean itself.  In this case, xsi:type is not being forced when it should be.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira