Author: veithen
Date: Sat Sep 25 17:26:06 2010
New Revision: 1001279

URL: http://svn.apache.org/viewvc?rev=1001279&view=rev
Log:
Make sure that the HTTP connection is always released properly when receiving a 
202 response. This was already the case for two-way asynchronous exchanges 
(useSeparateListener=true), but not for one-way invocations.

This change should solve the issue seen in Sandesha trunk.

Modified:
    
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java

Modified: 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java?rev=1001279&r1=1001278&r2=1001279&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java
 Sat Sep 25 17:26:06 2010
@@ -196,11 +196,6 @@ public class HTTPSender extends Abstract
             log.info("Unable to sendViaPost to url[" + url + "]", e);
             throw AxisFault.makeFault(e);
         } finally {
-            // If we're a dual-channel request, just auto-release the 
connection so it gets
-            // cleaned up and avoids starvation problems.
-            // TODO: Confirm this is OK with WS-RM, fix if not!
-            if (msgContext.getOptions().isUseSeparateListener())
-                msgContext.setProperty(HTTPConstants.AUTO_RELEASE_CONNECTION, 
true);
             cleanup(msgContext, postMethod);
         }
     }
@@ -277,6 +272,8 @@ public class HTTPSender extends Abstract
                 * of an in-only operation. In such a scenario, the HTTP 
response headers should be returned,
                 * i.e. session cookies. */
                obtainHTTPHeaderInformation(method, msgContext);
+               // Since we don't expect any content with a 202 response, we 
must release the connection
+               method.releaseConnection();
         } else if (statusCode == HttpStatus.SC_INTERNAL_SERVER_ERROR ||
                 statusCode == HttpStatus.SC_BAD_REQUEST) {
             Header contenttypeHeader =


Reply via email to