Author: damitha
Date: Mon Jul  5 03:24:31 2010
New Revision: 960429

URL: http://svn.apache.org/viewvc?rev=960429&view=rev
Log:
In http 1.0 Keep-Alive false case transport sender is freed prematurely at 
http_transport_sender. Because of this, although soap message comes through the 
wire it cannot be processed.

Modified:
    
axis/axis2/c/core/trunk/src/core/transport/http/sender/http_transport_sender.c

Modified: 
axis/axis2/c/core/trunk/src/core/transport/http/sender/http_transport_sender.c
URL: 
http://svn.apache.org/viewvc/axis/axis2/c/core/trunk/src/core/transport/http/sender/http_transport_sender.c?rev=960429&r1=960428&r2=960429&view=diff
==============================================================================
--- 
axis/axis2/c/core/trunk/src/core/transport/http/sender/http_transport_sender.c 
(original)
+++ 
axis/axis2/c/core/trunk/src/core/transport/http/sender/http_transport_sender.c 
Mon Jul  5 03:24:31 2010
@@ -777,12 +777,14 @@ axis2_http_transport_sender_write_messag
     status = AXIS2_HTTP_SENDER_SEND(sender, env, msg_ctx, out, url, 
soap_action);
 #endif
 
-    AXIS2_HTTP_SENDER_FREE(sender, env);
-    sender = NULL;
 
     /* if the send was not successful, do not process any response */
     if(status != AXIS2_SUCCESS)
+    {
+        AXIS2_HTTP_SENDER_FREE(sender, env);
+        sender = NULL;
         return status;
+    }
 
     op = axis2_msg_ctx_get_op(msg_ctx, env);
     if(op)
@@ -793,6 +795,8 @@ axis2_http_transport_sender_write_messag
         if(axutil_strcmp(mep, AXIS2_MEP_URI_OUT_ONLY) == 0 || 
axutil_strcmp(mep,
             AXIS2_MEP_URI_ROBUST_OUT_ONLY) == 0 || axutil_strcmp(mep, 
AXIS2_MEP_URI_IN_ONLY) == 0)
         {
+            AXIS2_HTTP_SENDER_FREE(sender, env);
+            sender = NULL;
             return status;
         }
         else
@@ -811,6 +815,9 @@ axis2_http_transport_sender_write_messag
         }
     }
 
+    AXIS2_HTTP_SENDER_FREE(sender, env);
+    sender = NULL;
+
     return status;
 }
 


Reply via email to