You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by ml...@apache.org on 2007/03/20 12:30:30 UTC
svn commit: r520367 -
/webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
Author: mlovett
Date: Tue Mar 20 04:30:29 2007
New Revision: 520367
URL: http://svn.apache.org/viewvc?view=rev&rev=520367
Log:
Use the HOLD_RESPONSE property to hold the transport for sync 2-way messages
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java?view=diff&rev=520367&r1=520366&r2=520367
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java Tue Mar 20 04:30:29 2007
@@ -20,8 +20,10 @@
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.context.OperationContext;
import org.apache.axis2.description.AxisService;
import org.apache.axis2.handlers.AbstractHandler;
+import org.apache.axis2.transport.RequestResponseTransport;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.sandesha2.RMMsgContext;
@@ -136,6 +138,14 @@
}
}
+ // Server-side, when we are suspend the outbound flow we may still be connected to an
+ // inbound transport. If we are then they don't see the InvocationResponse that we
+ // return, so we need to set a flag on the operation context too.
+ OperationContext opCtx = msgCtx.getOperationContext();
+ if(opCtx != null && returnValue == InvocationResponse.SUSPEND) {
+ if(log.isDebugEnabled()) log.debug("Setting HOLD_RESPONSE property");
+ opCtx.setProperty(RequestResponseTransport.HOLD_RESPONSE, Boolean.TRUE);
+ }
} catch (Exception e) {
// message should not be sent in a exception situation.
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org