You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sa...@apache.org on 2006/12/08 15:43:39 UTC

svn commit: r484620 - in /webservices/axis2/trunk/c/modules/core/clientapi: op_client.c svc_client.c

Author: samisa
Date: Fri Dec  8 06:43:38 2006
New Revision: 484620

URL: http://svn.apache.org/viewvc?view=rev&rev=484620
Log:
Fixed the error in case of multiple invocations when the service is down.
AXIS2C-453

Modified:
    webservices/axis2/trunk/c/modules/core/clientapi/op_client.c
    webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c

Modified: webservices/axis2/trunk/c/modules/core/clientapi/op_client.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/clientapi/op_client.c?view=diff&rev=484620&r1=484619&r2=484620
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/op_client.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/op_client.c Fri Dec  8 06:43:38 2006
@@ -299,6 +299,13 @@
         axis2_hash_set(msg_ctx_map, AXIS2_WSDL_MESSAGE_LABEL_IN_VALUE, AXIS2_HASH_KEY_STRING, mc);
         AXIS2_OP_CTX_SET_IS_COMPLETE(op_client_impl->op_ctx, env, AXIS2_TRUE);
     }
+
+    if (out_msg_ctx && !mc)
+    {
+        AXIS2_MSG_CTX_FREE(out_msg_ctx, env);
+        out_msg_ctx = NULL;
+        axis2_hash_set(msg_ctx_map, AXIS2_WSDL_MESSAGE_LABEL_OUT_VALUE, AXIS2_HASH_KEY_STRING, NULL);
+    }
     return AXIS2_SUCCESS;
 }
 

Modified: webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c?view=diff&rev=484620&r1=484619&r2=484620
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c Fri Dec  8 06:43:38 2006
@@ -913,12 +913,7 @@
         {
             return NULL;
         }
-        if (svc_client_impl->op_client)
-        {
-            /** free op_client of previous request 
-            AXIS2_OP_CLIENT_FREE(svc_client_impl->op_client, env);
-            */
-        }
+
         svc_client_impl->op_client = op_client;
 
         AXIS2_OP_CLIENT_ADD_MSG_CTX(op_client, env, msg_ctx);
@@ -926,7 +921,9 @@
         res_msg_ctx = (axis2_msg_ctx_t *)AXIS2_OP_CLIENT_GET_MSG_CTX(op_client, env, AXIS2_WSDL_MESSAGE_LABEL_IN_VALUE);
 
         if (res_msg_ctx)
-          soap_envelope = AXIS2_MSG_CTX_GET_SOAP_ENVELOPE(res_msg_ctx, env);
+            soap_envelope = AXIS2_MSG_CTX_GET_SOAP_ENVELOPE(res_msg_ctx, env);
+        else
+            AXIS2_OP_CLIENT_ADD_MSG_CTX(op_client, env, res_msg_ctx); /* set in msg_ctx to be NULL to reset */
     }
 
     if (qname_free_flag)



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