You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2010/05/21 23:42:27 UTC

svn commit: r947187 - /tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/provider/Axis2ReferenceBindingInvoker.java

Author: rfeng
Date: Fri May 21 21:42:27 2010
New Revision: 947187

URL: http://svn.apache.org/viewvc?rev=947187&view=rev
Log:
Add a workaround to support callback endpoint over WS

Modified:
    tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/provider/Axis2ReferenceBindingInvoker.java

Modified: tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/provider/Axis2ReferenceBindingInvoker.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/provider/Axis2ReferenceBindingInvoker.java?rev=947187&r1=947186&r2=947187&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/provider/Axis2ReferenceBindingInvoker.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/provider/Axis2ReferenceBindingInvoker.java Fri May 21 21:42:27 2010
@@ -40,6 +40,7 @@ import org.apache.axis2.client.Operation
 import org.apache.axis2.client.Options;
 import org.apache.axis2.client.ServiceClient;
 import org.apache.axis2.context.MessageContext;
+import org.apache.tuscany.sca.assembly.ComponentService;
 import org.apache.tuscany.sca.assembly.Endpoint;
 import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
 import org.apache.tuscany.sca.interfacedef.util.FaultException;
@@ -131,6 +132,14 @@ public class Axis2ReferenceBindingInvoke
         operationClient.setOptions(options);
 
         Endpoint callbackEndpoint = msg.getFrom().getCallbackEndpoint();
+        
+        // [rfeng] This is a hack to populate the callback endpoint 
+        if (callbackEndpoint == null) {
+            ComponentService callbackService = msg.getFrom().getReference().getCallbackService();
+            if (callbackService != null && !callbackService.getEndpoints().isEmpty()) {
+                callbackEndpoint = callbackService.getEndpoints().get(0);
+            }
+        }
 
         // add WS-Addressing header
         //FIXME: is there any way to use the Axis2 addressing support for this?