Support for Callbacks in TUSCANY 2.x
------------------------------------
Key: TUSCANY-3458
URL: https://issues.apache.org/jira/browse/TUSCANY-3458
Project: Tuscany
Issue Type: Bug
Components: Java SCA Axis Binding Extension
Affects Versions: Java-SCA-2.0-M4
Environment: java 5 + Tuscany 2.0 M4
Reporter: Anila Kumar GVN
Priority: Critical
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(CallBackBasicServiceImpl.java:33)
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:135)
at
org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:72)
at
org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.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!
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
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.