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