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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to