You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by da...@apache.org on 2006/11/30 12:49:23 UTC

svn commit: r480901 - /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/DispatchPhase.java

Author: davidillsley
Date: Thu Nov 30 03:49:22 2006
New Revision: 480901

URL: http://svn.apache.org/viewvc?view=rev&rev=480901
Log:
Use the RequestResponseTransport stuff added by Bill to ack early
if both ReplyTo and FaultTo addresses are non-anonymous.

Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/DispatchPhase.java

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/DispatchPhase.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/DispatchPhase.java?view=diff&rev=480901&r1=480900&r2=480901
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/DispatchPhase.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/DispatchPhase.java Thu Nov 30 03:49:22 2006
@@ -3,6 +3,7 @@
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
 import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.addressing.AddressingHelper;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.AxisService;
 import org.apache.axis2.i18n.Messages;
@@ -77,7 +78,18 @@
           {
             ((RequestResponseTransport)requestResponseTransport).acknowledgeMessage(msgContext);
           }
-        }
+        }else if (msgContext.getAxisOperation().getMessageExchangePattern().equals(WSDL20_2004Constants.MEP_URI_IN_OUT))
+        {   // OR, if 2 way operation but the response is intended to not use the response channel of a 2-way transport
+            // then we don't need to keep the transport waiting.
+            Object requestResponseTransport = msgContext.getProperty(RequestResponseTransport.TRANSPORT_CONTROL);
+            if (requestResponseTransport != null)
+            {
+                if(AddressingHelper.isReplyRedirected(msgContext) && AddressingHelper.isFaultRedirected(msgContext)){
+                    ((RequestResponseTransport)requestResponseTransport).acknowledgeMessage(msgContext);
+                }
+            }
+          }
+
 
         ArrayList operationChain = msgContext.getAxisOperation().getRemainingPhasesInFlow();
         msgContext.setExecutionChain((ArrayList) operationChain.clone());



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