You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2006/09/09 11:22:19 UTC

svn commit: r441769 - in /webservices/axis2/trunk/c: include/axis2_op_client.h modules/core/clientapi/op_client.c modules/core/clientapi/svc_client.c

Author: samisa
Date: Sat Sep  9 02:22:18 2006
New Revision: 441769

URL: http://svn.apache.org/viewvc?view=rev&rev=441769
Log:
Fixed the double addressing header problem for multiple call for one-way client

Modified:
    webservices/axis2/trunk/c/include/axis2_op_client.h
    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/include/axis2_op_client.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/include/axis2_op_client.h?view=diff&rev=441769&r1=441768&r2=441769
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_op_client.h (original)
+++ webservices/axis2/trunk/c/include/axis2_op_client.h Sat Sep  9 02:22:18 2006
@@ -111,6 +111,21 @@
                     axis2_msg_ctx_t *msg_ctx);
 
         /**
+         * Adds out message context to the client for processing. 
+         * @param op_client pointer to operation client struct
+         * @param env pointer to environment struct
+         * @param msg_ctx message context to be added. operation client takes 
+         * over the ownership of the message context struct.
+         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+         */
+        axis2_status_t (AXIS2_CALL *
+                add_out_msg_ctx)(
+                    axis2_op_client_t *op_client,
+                    const axis2_env_t *env,
+                    axis2_msg_ctx_t *msg_ctx);
+
+
+        /**
          * Gets a message corresponding to the given label.
          * @param op_client pointer to operation client struct
          * @param env pointer to environment struct
@@ -265,6 +280,11 @@
     @sa axis2_op_client_ops#add_msg_ctx*/
 #define AXIS2_OP_CLIENT_ADD_MSG_CTX(op_client, env, msg_ctx) \
       ((op_client)->ops->add_msg_ctx(op_client, env, msg_ctx))
+
+/** Adds out message context. 
+    @sa axis2_op_client_ops#add_out_msg_ctx*/
+#define AXIS2_OP_CLIENT_ADD_OUT_MSG_CTX(op_client, env, msg_ctx) \
+      ((op_client)->ops->add_out_msg_ctx(op_client, env, msg_ctx))
 
 /** Gets the message context corresponding to given label. 
     @sa axis2_op_client_ops#get_msg_ctx*/

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=441769&r1=441768&r2=441769
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/op_client.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/op_client.c Sat Sep  9 02:22:18 2006
@@ -87,6 +87,11 @@
     const axis2_env_t *env,
     axis2_msg_ctx_t *mc);
 
+axis2_status_t AXIS2_CALL
+axis2_op_client_add_out_msg_ctx(
+    axis2_op_client_t *op_client,
+    const axis2_env_t *env,
+    axis2_msg_ctx_t *mc);
 
 const axis2_msg_ctx_t *AXIS2_CALL
 axis2_op_client_get_msg_ctx(
@@ -288,6 +293,27 @@
     return AXIS2_SUCCESS;
 }
 
+axis2_status_t AXIS2_CALL
+axis2_op_client_add_out_msg_ctx(
+    axis2_op_client_t *op_client,
+    const axis2_env_t *env,
+    axis2_msg_ctx_t *mc)
+{
+    axis2_op_client_impl_t *op_client_impl = NULL;
+    axis2_hash_t *msg_ctx_map = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+    op_client_impl = AXIS2_INTF_TO_IMPL(op_client);
+
+    msg_ctx_map = AXIS2_OP_CTX_GET_MSG_CTX_MAP(op_client_impl->op_ctx, env);
+
+    axis2_hash_set(msg_ctx_map, AXIS2_WSDL_MESSAGE_LABEL_OUT_VALUE, AXIS2_HASH_KEY_STRING, mc);
+
+    return AXIS2_SUCCESS;
+}
+
+
 
 const axis2_msg_ctx_t *AXIS2_CALL
 axis2_op_client_get_msg_ctx(
@@ -636,6 +662,7 @@
     op_client->ops->set_options = axis2_op_client_set_options;
     op_client->ops->get_options = axis2_op_client_get_options;
     op_client->ops->add_msg_ctx = axis2_op_client_add_msg_ctx;
+    op_client->ops->add_out_msg_ctx = axis2_op_client_add_out_msg_ctx;
     op_client->ops->get_msg_ctx = axis2_op_client_get_msg_ctx;
     op_client->ops->set_callback = axis2_op_client_set_callback;
     op_client->ops->execute = axis2_op_client_execute;

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=441769&r1=441768&r2=441769
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c Sat Sep  9 02:22:18 2006
@@ -690,7 +690,7 @@
     
     svc_client_impl->op_client = op_client;
     
-    AXIS2_OP_CLIENT_ADD_MSG_CTX(op_client, env, msg_ctx);
+    AXIS2_OP_CLIENT_ADD_OUT_MSG_CTX(op_client, env, msg_ctx);
     return AXIS2_OP_CLIENT_EXECUTE(op_client, env, AXIS2_TRUE);
 }
 
@@ -738,7 +738,7 @@
     }
     svc_client_impl->op_client = op_client;
 
-    AXIS2_OP_CLIENT_ADD_MSG_CTX(op_client, env, msg_ctx);
+    AXIS2_OP_CLIENT_ADD_OUT_MSG_CTX(op_client, env, msg_ctx);
     AXIS2_OP_CLIENT_EXECUTE(op_client, env, AXIS2_FALSE);
     return;
 }
@@ -879,7 +879,7 @@
         }
         svc_client_impl->op_client = op_client;
         
-        AXIS2_OP_CLIENT_ADD_MSG_CTX(op_client, env, msg_ctx);
+        AXIS2_OP_CLIENT_ADD_OUT_MSG_CTX(op_client, env, msg_ctx);
         AXIS2_OP_CLIENT_EXECUTE(op_client, env, AXIS2_TRUE);
         res_msg_ctx = (axis2_msg_ctx_t *)AXIS2_OP_CLIENT_GET_MSG_CTX(op_client, env, AXIS2_WSDL_MESSAGE_LABEL_IN_VALUE);
 
@@ -951,7 +951,7 @@
     svc_client_impl->op_client = op_client;
 
     AXIS2_OP_CLIENT_SET_CALLBACK(op_client, env, callback);
-    AXIS2_OP_CLIENT_ADD_MSG_CTX(op_client, env, msg_ctx);
+    AXIS2_OP_CLIENT_ADD_OUT_MSG_CTX(op_client, env, msg_ctx);
 
     if (AXIS2_OPTIONS_GET_USE_SEPERATE_LISTENER(svc_client_impl->options, env))
     {



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