The composite files on the server & client sides look as follows:
server.composite: <?xml version="1.0" encoding="UTF-8"?> <composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" targetNamespace="http://sample" name="Calculator"> <component name="CallBackBasicService"> <implementation.java class="org.apache.tuscany.sca.test.CallBackBasicServiceImpl"/> <service name="CallBackBasicService"> <binding.ws uri="http://localhost:8086/CallBackBasicService"/> <callback> <binding.ws uri="http://localhost:8084/aCallBackService"/> </callback> </service> </component> </composite> client.composite: <?xml version="1.0" encoding="UTF-8"?> <composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" targetNamespace="http://callback" name="CallBackBasicTest"> <component name="CallBackBasicClient"> <implementation.java class="org.apache.tuscany.sca.test.CallBackBasicClientImpl"/> <reference name="aCallBackService"> <binding.ws uri="http://localhost:8086/CallBackBasicService"/> <callback> <binding.ws uri="http://localhost:8084/aCallBackService"/> </callback> </reference> </component> </composite> Thanks & Regards, Anil GVN CA Sr Software Engineer Tel: x78267 Mobile: +91-9849883351 [email protected] <http://www.ca.com/> From: GVN, Anila Kumar [mailto:[email protected]] Sent: Friday, February 05, 2010 5:09 PM To: [email protected] Subject: Support for Callbacks in TUSCANY 2.x Hi, When I am trying to run callback web service test (callback-basic-ws), it works. What I have observed is that in this test case, both client & server are in the same composite. Then I tried to separate them out into 2 different composites. This gave me the following exception at the server side: Caused by: org.oasisopen.sca.ServiceRuntimeException: No callback wire found at org.apache.tuscany.sca.core.invocation.impl.JDKCallbackInvocationHandler .invoke(JDKCallbackInvocationHandler.java:59) at $Proxy23.callBackMessage(Unknown Source) at org.apache.tuscany.sca.test.CallBackBasicServiceImpl.knockKnock(CallBack BasicServiceImpl.java:33) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav a:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.tuscany.sca.implementation.java.invocation.JavaImplementation Invoker.invoke(JavaImplementationInvoker.java:135) at org.apache.tuscany.sca.core.databinding.wire.DataTransformationIntercept or.invoke(DataTransformationInterceptor.java:72) at org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(Runtime WireInvoker.java:126) ... 29 more (( I tried to provide callback in my server composite also. )) There is another application that I wrote myself which sort of replicates the same scenario where in I found that I am getting a NullPointerException when trying to access the @Callback annotated variable in my serviceImpl. This raised the following question in my mind. Is the Callback mechanism fully supported on all bindings? Or is it that there needs to be some extra information provided in my server.composite file (which I don't think is the case), in case of ws-binding? May be I am missing something somewhere! Thanks & Regards, Anil GVN CA Sr Software Engineer Tel: x78267 Mobile: +91-9849883351 [email protected] <mailto:[email protected]> <http://www.ca.com/>
<<image001.gif>>
