You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ml...@apache.org on 2007/02/28 13:40:51 UTC

svn commit: r512732 - /webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java

Author: mlovett
Date: Wed Feb 28 04:40:50 2007
New Revision: 512732

URL: http://svn.apache.org/viewvc?view=rev&rev=512732
Log:
Ensure that we always signal a transport, if one is waiting as we send a message

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java?view=diff&rev=512732&r1=512731&r2=512732
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java Wed Feb 28 04:40:50 2007
@@ -134,21 +134,21 @@
 			RequestResponseTransport t = null;
 			Boolean makeConnection = (Boolean) msgCtx.getProperty(Sandesha2Constants.MAKE_CONNECTION_RESPONSE);
 			EndpointReference toEPR = msgCtx.getTo();
-			if((toEPR!=null && toEPR.hasAnonymousAddress()) &&
-				(makeConnection == null || !makeConnection.booleanValue())) {
 
-				MessageContext inMsg = null;
-				OperationContext op = msgCtx.getOperationContext();
-				if (op != null)
-					inMsg = op.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
-				if (inMsg != null)
-					t = (RequestResponseTransport) inMsg.getProperty(RequestResponseTransport.TRANSPORT_CONTROL);
-
-				if (t == null || !t.getStatus().equals(RequestResponseTransportStatus.WAITING)) {
-					if (log.isDebugEnabled())
-						log.debug("Exit: SenderWorker::run, no response transport for anonymous message");
-					return;
-				}
+			MessageContext inMsg = null;
+			OperationContext op = msgCtx.getOperationContext();
+			if (op != null)
+				inMsg = op.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
+			if (inMsg != null)
+				t = (RequestResponseTransport) inMsg.getProperty(RequestResponseTransport.TRANSPORT_CONTROL);
+
+			// If we are anonymous, and this is not a makeConnection, then we must have a transport waiting
+			if((toEPR==null || toEPR.hasAnonymousAddress()) &&
+			   (makeConnection == null || !makeConnection.booleanValue()) &&
+			   (t == null || !t.getStatus().equals(RequestResponseTransportStatus.WAITING))) {
+				if (log.isDebugEnabled())
+					log.debug("Exit: SenderWorker::run, no response transport for anonymous message");
+				return;
 			}
 			
 			boolean continueSending = updateMessage(rmMsgCtx,senderBean,storageManager);
@@ -235,7 +235,7 @@
 				if(response != InvocationResponse.SUSPEND) {
 					if(t != null) {
 						if(log.isDebugEnabled()) log.debug("Signalling transport in " + t);
-						if(t != null) t.signalResponseReady();
+						t.signalResponseReady();
 					}
 				}
 				



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