You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by ru...@apache.org on 2007/10/30 03:20:32 UTC

svn commit: r589938 - in /webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2: AsyncCallback.java Axis2FlexibleMEPClient.java DynamicAxisOperation.java SynapseCallbackReceiver.java

Author: ruwan
Date: Mon Oct 29 19:20:31 2007
New Revision: 589938

URL: http://svn.apache.org/viewvc?rev=589938&view=rev
Log:
We were using a deprecated class of Axis2 which is Callback and the option that they have provided now is the AxisCallback. I have removed the deprecated stuff from our code and incoperated the AxisCallback instead of Callback (I have tested about 12 samples which I thought is going to be affected if there is something wrong, they were working fine :D)

Modified:
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java?rev=589938&r1=589937&r2=589938&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java Mon Oct 29 19:20:31 2007
@@ -21,6 +21,7 @@
 
 import org.apache.axis2.client.async.Callback;
 import org.apache.axis2.client.async.AsyncResult;
+import org.apache.axis2.client.async.AxisCallback;
 import org.apache.synapse.SynapseConstants;
 import org.apache.synapse.MessageContext;
 
@@ -28,7 +29,7 @@
  * This class only "holds" the Synapse out message context for the Synapse callback message
  * receiver when a response is received or error is encountered
  */
-public class AsyncCallback extends Callback {
+public class AsyncCallback implements AxisCallback {
 
     /** The corresponding Synapse outgoing message context this instance is holding onto */
     MessageContext synapseOutMsgCtx = null;
@@ -43,9 +44,13 @@
         this.synapseOutMsgCtx = synapseOutMsgCtx;
     }
 
-    public void onComplete(AsyncResult result) {}
+    public void onMessage(org.apache.axis2.context.MessageContext messageContext) {}
+
+    public void onFault(org.apache.axis2.context.MessageContext messageContext) {}
 
     public void onError(Exception e) {}
+
+    public void onComplete() {}
 
     public org.apache.synapse.MessageContext getSynapseOutMsgCtx() {
         return synapseOutMsgCtx;

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java?rev=589938&r1=589937&r2=589938&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java Mon Oct 29 19:20:31 2007
@@ -19,20 +19,14 @@
 
 package org.apache.synapse.core.axis2;
 
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import javax.xml.namespace.QName;
-
+import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPHeaderBlock;
-import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.wsdl.WSDLConstants;
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.OperationClient;
@@ -45,15 +39,19 @@
 import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.AxisServiceGroup;
 import org.apache.axis2.engine.AxisConfiguration;
-import org.apache.synapse.util.MessageHelper;
+import org.apache.axis2.wsdl.WSDLConstants;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.neethi.Policy;
 import org.apache.neethi.PolicyEngine;
+import org.apache.sandesha2.client.SandeshaClientConstants;
 import org.apache.synapse.SynapseConstants;
 import org.apache.synapse.SynapseException;
 import org.apache.synapse.endpoints.utils.EndpointDefinition;
-import org.apache.sandesha2.client.SandeshaClientConstants;
+import org.apache.synapse.util.MessageHelper;
+
+import javax.xml.namespace.QName;
+import java.util.ArrayList;
 
 /**
  * This is a simple client that handles both in only and in out
@@ -110,7 +108,8 @@
         }
 
         // save the original message context wihout altering it, so we can tie the response
-        MessageContext originalInMsgCtx = ((Axis2MessageContext) synapseOutMessageContext).getAxis2MessageContext();
+        MessageContext originalInMsgCtx
+            = ((Axis2MessageContext) synapseOutMessageContext).getAxis2MessageContext();
 
         // create a new MessageContext to be sent out as this should not corrupt the original
         // we need to create the response to the original message later on
@@ -128,7 +127,7 @@
                 if (axisOutMsgCtx.getSoapAction() == null && axisOutMsgCtx.getWSAAction() != null) {
                     axisOutMsgCtx.setSoapAction(axisOutMsgCtx.getWSAAction());
                 }
-                if(axisOutMsgCtx.isSOAP11() != true) {
+                if(!axisOutMsgCtx.isSOAP11()) {
                     SOAPUtils.convertSOAP12toSOAP11(axisOutMsgCtx);
                 }
                 
@@ -137,7 +136,7 @@
                 if (axisOutMsgCtx.getSoapAction() == null && axisOutMsgCtx.getWSAAction() != null) {
                     axisOutMsgCtx.setSoapAction(axisOutMsgCtx.getWSAAction());
                 }
-                if(axisOutMsgCtx.isSOAP11() == true) {
+                if(axisOutMsgCtx.isSOAP11()) {
                     SOAPUtils.convertSOAP11toSOAP12(axisOutMsgCtx);
                 }                
                 
@@ -234,11 +233,12 @@
         if (!outOnlyMessage) {
             // always set a callback as we decide if the send it blocking or non blocking within
             // the MEP client. This does not cause an overhead, as we simply create a 'holder'
-            // object with a reference to the outgoing synapse message context synapseOutMessageContext
+            // object with a reference to the outgoing synapse message context
+            // synapseOutMessageContext
             AsyncCallback callback = new AsyncCallback(synapseOutMessageContext);
             if (endpoint != null) {
-                // set the timeout time and the timeout action to the callback, so that the TimeoutHandler
-                // can detect timed out callbacks and take approprite action.
+                // set the timeout time and the timeout action to the callback, so that the
+                // TimeoutHandler can detect timed out callbacks and take approprite action.
                 callback.setTimeOutOn(System.currentTimeMillis() + endpoint.getTimeoutDuration());
                 callback.setTimeOutAction(endpoint.getTimeoutAction());
             } else {
@@ -263,6 +263,9 @@
         newMC.setEnvelope(ori.getEnvelope());        
         removeAddressingHeaders(newMC);
 
+        newMC.setProperty(org.apache.axis2.context.MessageContext.TRANSPORT_HEADERS,
+            ori.getProperty(org.apache.axis2.context.MessageContext.TRANSPORT_HEADERS));
+
         return newMC;
     }
 
@@ -342,22 +345,20 @@
      * @param headerInformation headers to be removed
      */
     private static void detachAddressingInformation(ArrayList headerInformation) {
-       Iterator iterator = headerInformation.iterator();
-       while (iterator.hasNext()) {
-           Object o = iterator.next();
-           if (o instanceof SOAPHeaderBlock) {
-               SOAPHeaderBlock headerBlock = (SOAPHeaderBlock) o;
-               headerBlock.detach();
-           } else if (o instanceof OMElement) {
-               // work around for a known addressing bug which sends non SOAPHeaderBlock objects
-               OMElement om = (OMElement) o;
-               OMNamespace ns = om.getNamespace();
-               if (ns != null &&
-                       (AddressingConstants.Submission.WSA_NAMESPACE.equals(ns.getNamespaceURI())
-                       || AddressingConstants.Final.WSA_NAMESPACE.equals(ns.getNamespaceURI()))) {
-                   om.detach();
-               }
-           }
-       }
-   }
+        for (Object o : headerInformation) {
+            if (o instanceof SOAPHeaderBlock) {
+                SOAPHeaderBlock headerBlock = (SOAPHeaderBlock) o;
+                headerBlock.detach();
+            } else if (o instanceof OMElement) {
+                // work around for a known addressing bug which sends non SOAPHeaderBlock objects
+                OMElement om = (OMElement) o;
+                OMNamespace ns = om.getNamespace();
+                if (ns != null && (
+                    AddressingConstants.Submission.WSA_NAMESPACE.equals(ns.getNamespaceURI()) ||
+                        AddressingConstants.Final.WSA_NAMESPACE.equals(ns.getNamespaceURI()))) {
+                    om.detach();
+                }
+            }
+        }
+    }
 }

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java?rev=589938&r1=589937&r2=589938&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java Mon Oct 29 19:20:31 2007
@@ -172,7 +172,7 @@
 
                 SynapseCallbackReceiver callbackReceiver =
                     (SynapseCallbackReceiver) axisOp.getMessageReceiver();
-                callbackReceiver.addCallback(outMsgCtx.getMessageID(), callback);
+                callbackReceiver.addCallback(outMsgCtx.getMessageID(), axisCallback);
                 send(outMsgCtx);
 			}
 		}

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java?rev=589938&r1=589937&r2=589938&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java Mon Oct 29 19:20:31 2007
@@ -26,20 +26,19 @@
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.addressing.RelatesTo;
-import org.apache.axis2.client.async.Callback;
 import org.apache.axis2.client.Options;
+import org.apache.axis2.client.async.AxisCallback;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.engine.MessageReceiver;
-import org.apache.synapse.transport.nhttp.NhttpConstants;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.sandesha2.client.SandeshaClientConstants;
-import org.apache.synapse.SynapseConstants;
 import org.apache.synapse.FaultHandler;
+import org.apache.synapse.SynapseConstants;
 import org.apache.synapse.SynapseException;
 import org.apache.synapse.config.SynapseConfiguration;
 import org.apache.synapse.endpoints.Endpoint;
-import org.apache.synapse.mediators.eip.EIPUtils;
+import org.apache.synapse.transport.nhttp.NhttpConstants;
 
 import java.util.*;
 
@@ -82,7 +81,7 @@
     }
 
 
-    public void addCallback(String MsgID, Callback callback) {
+    public void addCallback(String MsgID, AxisCallback callback) {
         callbackStore.put(MsgID, callback);
     }
 
@@ -112,7 +111,7 @@
         }
 
         if (messageID != null) {
-            Callback callback = (Callback) callbackStore.remove(messageID);
+            AxisCallback callback = (AxisCallback) callbackStore.remove(messageID);
 
             RelatesTo[] relates = messageCtx.getRelationships();
             if (relates != null && relates.length > 1) {



---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org