You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by as...@apache.org on 2008/01/13 16:38:41 UTC

svn commit: r611583 - /webservices/synapse/branches/1.1.1/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java

Author: asankha
Date: Sun Jan 13 07:38:41 2008
New Revision: 611583

URL: http://svn.apache.org/viewvc?rev=611583&view=rev
Log:
fix SYNAPSE-205 applying patch from Andreas

Modified:
    webservices/synapse/branches/1.1.1/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java

Modified: webservices/synapse/branches/1.1.1/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
URL: http://svn.apache.org/viewvc/webservices/synapse/branches/1.1.1/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java?rev=611583&r1=611582&r2=611583&view=diff
==============================================================================
--- webservices/synapse/branches/1.1.1/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java (original)
+++ webservices/synapse/branches/1.1.1/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java Sun Jan 13 07:38:41 2008
@@ -432,18 +432,19 @@
             }
 
             public void failed(SessionRequest request) {
-                handleError(request);
+                handleError(request, false);
             }
 
             public void timeout(SessionRequest request) {
-                handleError(request);
+                handleError(request, true);
+                request.cancel();
             }
 
             public void cancelled(SessionRequest sessionRequest) {
 
             }
 
-            private void handleError(SessionRequest request) {
+            private void handleError(SessionRequest request, boolean isTimeout) {
                 if (request.getAttachment() != null &&
                     request.getAttachment() instanceof Axis2HttpRequest) {
 
@@ -456,11 +457,17 @@
                         // inform that this is a sending error (e.g. endpoint failure) and handle it
                         // differently at the message receiver.
 
-                        Exception exception = request.getException();
+                        AxisFault axisFault;
+                        if (isTimeout) {
+                            // In case of a timeout there is no exception
+                            axisFault = new AxisFault("The connection timed out");
+                        } else {
+                            Exception exception = request.getException();
+                            /** this is not a mistake I do NOT want getMessage()*/
+                            axisFault = new AxisFault(exception.toString(), exception);
+                        }
                         MessageContext nioFaultMessageContext =
-                            MessageContextBuilder.createFaultMessageContext(
-                                /** this is not a mistake I do NOT want getMessage()*/
-                                mc, new AxisFault(exception.toString(), exception));
+                            MessageContextBuilder.createFaultMessageContext(mc, axisFault);
                         nioFaultMessageContext.setProperty(NhttpConstants.SENDING_FAULT, Boolean.TRUE);
                         mr.receive(nioFaultMessageContext);
                         



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