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