[ 
https://issues.apache.org/jira/browse/TUSCANY-2213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mark Combellack resolved TUSCANY-2213.
--------------------------------------

    Resolution: Fixed

I've updated tuscany-core to add support for Serializing Stateless and 
Conversational CallbackReferences

I've re-enabled the @ignored test in itest-serialization and added a new test 
for Conversational CallbackReferences.

SVN commit 660874 added support for Serializing Stateless CallbackReferences.
SVN commit 660961 added support for Serializing Conversational 
CallbackReferences.

Marking this issue as fixed.

> Cannot Serialize and deserailize a CallableReference injected using a 
> @Callback - Is this a valid use case?
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-2213
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2213
>             Project: Tuscany
>          Issue Type: Task
>          Components: Java SCA Core Runtime
>    Affects Versions: Java-SCA-Next
>         Environment: svn trunk revision 645821
> Linux
>            Reporter: Mark Combellack
>            Assignee: Mark Combellack
>            Priority: Minor
>             Fix For: Java-SCA-Next
>
>
> I've got a bidirectional Service that uses @Callback to inject a 
> CalalbleReference 
> When a method is called on the Service, I Serialise and then deserialise the 
> CallableReference before it is used to invoke the client. I do this to 
> simulate persisting the CallableReference and then using it again later.
> The stack trace I get is:
> java.io.IOException
>       at 
> org.apache.tuscany.sca.core.context.CallableReferenceImpl.writeExternal(CallableReferenceImpl.java:361)
>       at 
> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1310)
>       at 
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1288)
>       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>       at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>       at 
> org.apache.tuscany.sca.itest.servicereference.utils.ServiceReferenceUtils.serialize(ServiceReferenceUtils.java:57)
>       at 
> org.apache.tuscany.sca.itest.servicereference.StatelessServiceImpl.triggerCallback(StatelessServiceImpl.java:70)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at 
> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:109)
>       at 
> org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
>       at 
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
>       at 
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
>       at $Proxy14.triggerCallback(Unknown Source)
>       at 
> org.apache.tuscany.sca.itest.servicereference.SCAManagedClientImpl.testSerializeCallbackToStatelessServiceInsideSCA(SCAManagedClientImpl.java:126)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at 
> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:109)
>       at 
> org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
>       at 
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
>       at 
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
>       at $Proxy13.testSerializeCallbackToStatelessServiceInsideSCA(Unknown 
> Source)
>       at 
> org.apache.tuscany.sca.itest.servicereference.SerializeServiceReferenceTestCase.testSerializeCallbackToStatelessServiceInsideSCA(SerializeServiceReferenceTestCase.java:103)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at 
> org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
>       at 
> org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
>       at 
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
>       at 
> org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
>       at 
> org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
>       at 
> org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:75)
>       at 
> org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:36)
>       at 
> org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
>       at 
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
>       at 
> org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
>       at 
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
>       at 
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> I'm not sure if this is a valid test or not. I've raised a new issue for this 
> area on the SCA-J OASIS TC. See:
>     http://lists.oasis-open.org/archives/sca-j/200804/msg00012.html
> I've raised it as a task rather than a bug so I can track progress on this 
> issue.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to