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/11 21:39:25 UTC

[jira] Created: (AXIS-1663) LocalSender does not deserialize response message

LocalSender does not deserialize response message
-------------------------------------------------

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


When using the LocalSender, the response message is not passed through the deserializer and as a result, trying to call getValueAsType on some MessageElements results in an exception because there is no DeserializationContext associated with the element.  This is the piece of LocalSender.java in question.  Please note the comments, and the commented out line.

    // copy back the response, and force its format to String in order to
    // exercise the deserializers.
    clientContext.setResponseMessage(serverContext.getResponseMessage());
    //clientContext.getResponseMessage().getAsString();

Replacing the commented line with this line solves the problem.

    clientContext.getResponseMessage().getSOAPPartAsString();

Was this functionality commented out for any particular reason?

-- 
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-1663) LocalSender does not deserialize response message

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

     [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

> LocalSender does not deserialize response message
> -------------------------------------------------
>
>          Key: AXIS-1663
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1663
>      Project: Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: current (nightly)
>     Reporter: Steve Green

>
> When using the LocalSender, the response message is not passed through the deserializer and as a result, trying to call getValueAsType on some MessageElements results in an exception because there is no DeserializationContext associated with the element.  This is the piece of LocalSender.java in question.  Please note the comments, and the commented out line.
>     // copy back the response, and force its format to String in order to
>     // exercise the deserializers.
>     clientContext.setResponseMessage(serverContext.getResponseMessage());
>     //clientContext.getResponseMessage().getAsString();
> Replacing the commented line with this line solves the problem.
>     clientContext.getResponseMessage().getSOAPPartAsString();
> Was this functionality commented out for any particular reason?

-- 
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-1663) LocalSender does not deserialize response message

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

    Resolution: Fixed

Thanks. Applied both patches.

-- dims

> LocalSender does not deserialize response message
> -------------------------------------------------
>
>          Key: AXIS-1663
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1663
>      Project: Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: current (nightly)
>     Reporter: Steve Green
>  Attachments: test.diff
>
> When using the LocalSender, the response message is not passed through the deserializer and as a result, trying to call getValueAsType on some MessageElements results in an exception because there is no DeserializationContext associated with the element.  This is the piece of LocalSender.java in question.  Please note the comments, and the commented out line.
>     // copy back the response, and force its format to String in order to
>     // exercise the deserializers.
>     clientContext.setResponseMessage(serverContext.getResponseMessage());
>     //clientContext.getResponseMessage().getAsString();
> Replacing the commented line with this line solves the problem.
>     clientContext.getResponseMessage().getSOAPPartAsString();
> Was this functionality commented out for any particular reason?

-- 
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-1663) LocalSender does not deserialize response message

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

Steve Green updated AXIS-1663:
------------------------------

    Attachment: test.diff

It looks like the fix to LocalSender revealed a bug in TestOutParams.  Funny.. I thought it was supposed to work the other way around :)

By not adding the parameters to the Call, getOutputParamByQName() will default to assuming that output params are the same type as the return type, which in this case is false. 

> LocalSender does not deserialize response message
> -------------------------------------------------
>
>          Key: AXIS-1663
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1663
>      Project: Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: current (nightly)
>     Reporter: Steve Green
>  Attachments: test.diff
>
> When using the LocalSender, the response message is not passed through the deserializer and as a result, trying to call getValueAsType on some MessageElements results in an exception because there is no DeserializationContext associated with the element.  This is the piece of LocalSender.java in question.  Please note the comments, and the commented out line.
>     // copy back the response, and force its format to String in order to
>     // exercise the deserializers.
>     clientContext.setResponseMessage(serverContext.getResponseMessage());
>     //clientContext.getResponseMessage().getAsString();
> Replacing the commented line with this line solves the problem.
>     clientContext.getResponseMessage().getSOAPPartAsString();
> Was this functionality commented out for any particular reason?

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