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]