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/02/11 14:04:43 UTC
svn commit: r376973 - in /webservices/axis2/trunk/c: configure.ac
include/axis2_call.h modules/core/clientapi/call.c
modules/mod_addr/addr_out_handler.c samples/client/Makefile.am
Author: samisa
Date: Sat Feb 11 05:04:41 2006
New Revision: 376973
URL: http://svn.apache.org/viewcvs?rev=376973&view=rev
Log:
Fixed the TO related bug in addressing. Also exposed the required methods to hel write
addressing based clients
Modified:
webservices/axis2/trunk/c/configure.ac
webservices/axis2/trunk/c/include/axis2_call.h
webservices/axis2/trunk/c/modules/core/clientapi/call.c
webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c
webservices/axis2/trunk/c/samples/client/Makefile.am
Modified: webservices/axis2/trunk/c/configure.ac
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/configure.ac?rev=376973&r1=376972&r2=376973&view=diff
==============================================================================
--- webservices/axis2/trunk/c/configure.ac (original)
+++ webservices/axis2/trunk/c/configure.ac Sat Feb 11 05:04:41 2006
@@ -171,6 +171,7 @@
samples/client/Makefile \
samples/client/echo/Makefile \
samples/client/math/Makefile \
+ samples/client/addr_echo/Makefile \
test/Makefile \
test/xml/Makefile \
test/xml/om/Makefile \
Modified: webservices/axis2/trunk/c/include/axis2_call.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_call.h?rev=376973&r1=376972&r2=376973&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_call.h (original)
+++ webservices/axis2/trunk/c/include/axis2_call.h Sat Feb 11 05:04:41 2006
@@ -50,6 +50,8 @@
*/
struct axis2_call_ops
{
+ axis2_mep_client_t* (AXIS2_CALL *get_base)(struct axis2_call *call,
+ axis2_env_t **env);
/**
* This accepts a ServiceContext, and the axis2_svc_ctx_t *should have all the parents set in to it right
* Ideall this should be generated from a WSDL, we do not have it yet.
@@ -240,6 +242,8 @@
axis2_char_t *client_home);
/************************** Start of function macros **************************/
+
+#define AXIS2_CALL_GET_BASE(call, env) ((call)->ops->get_base(call, env))
#define AXIS2_CALL_INVOKE_BLOCKING(call, env, op, msg_ctx) ((call)->ops->invoke_blocking(call, env, op, msg_ctx))
#define AXIS2_CALL_INVOKE_NON_BLOCKING(call, env, op, msg_ctx, callback) ((call)->ops->invoke_non_blocking(call, env, op, msg_ctx, callback))
#define AXIS2_CALL_SET_TO(call, env, to) ((call)->ops->set_to(call, env, to))
Modified: webservices/axis2/trunk/c/modules/core/clientapi/call.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/clientapi/call.c?rev=376973&r1=376972&r2=376973&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/call.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/call.c Sat Feb 11 05:04:41 2006
@@ -67,6 +67,10 @@
/******************************************************************************/
+axis2_mep_client_t *AXIS2_CALL
+axis2_call_get_base(struct axis2_call *call,
+ axis2_env_t **env);
+
axis2_msg_ctx_t* AXIS2_CALL
axis2_call_invoke_blocking(struct axis2_call *call,
axis2_env_t **env,
@@ -226,11 +230,14 @@
axis2_call_free(&(call_impl->call), env);
return NULL;
}
+
+ call_impl->call.ops->get_base = axis2_call_get_base;
call_impl->call.ops->set_to = axis2_call_set_to;
call_impl->call.ops->set_transport_info = axis2_call_set_transport_info;
call_impl->call.ops->check_transport = axis2_call_check_transport;
call_impl->call.ops->close = axis2_call_close;
call_impl->call.ops->set_time = axis2_call_set_time;
+ call_impl->call.ops->invoke_blocking = axis2_call_invoke_blocking;
call_impl->call.ops->invoke_blocking_with_om = axis2_call_invoke_blocking_with_om;
call_impl->call.ops->invoke_blocking_with_soap = axis2_call_invoke_blocking_with_soap;
call_impl->call.ops->invoke_non_blocking_with_om = axis2_call_invoke_non_blocking_with_om;
@@ -1236,4 +1243,13 @@
svc_ctx = AXIS2_SVC_GRP_CTX_GET_SVC_CTX(svc_grp_ctx, env, assumed_svc_name);
AXIS2_QNAME_FREE(assumed_svc_qname, env);
return svc_ctx;
+}
+
+
+axis2_mep_client_t *AXIS2_CALL
+axis2_call_get_base(struct axis2_call *call,
+ axis2_env_t **env)
+{
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ return AXIS2_INTF_TO_IMPL(call)->base;
}
Modified: webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c?rev=376973&r1=376972&r2=376973&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c (original)
+++ webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c Sat Feb 11 05:04:41 2006
@@ -140,7 +140,7 @@
ctx = AXIS2_MSG_CTX_GET_BASE (msg_ctx, env);
addressing_version_from_msg_ctx =
- AXIS2_MSG_CTX_GET_PROPERTY (ctx, env, AXIS2_WSA_VERSION, AXIS2_FALSE);
+ AXIS2_CTX_GET_PROPERTY (ctx, env, AXIS2_WSA_VERSION, AXIS2_FALSE);
if (addressing_version_from_msg_ctx)
{
@@ -237,6 +237,15 @@
addressing_namespace);
to_header_block_node =
AXIS2_SOAP_HEADER_BLOCK_GET_BASE_NODE (to_header_block, env);
+ if (to_header_block_node)
+ {
+ axis2_om_element_t *to_header_block_element = NULL;
+ to_header_block_element = (axis2_om_element_t*)AXIS2_OM_NODE_GET_DATA_ELEMENT(to_header_block_node, env);
+ if (to_header_block_element)
+ {
+ AXIS2_OM_ELEMENT_SET_TEXT(to_header_block_element, env, address, to_header_block_node);
+ }
+ }
}
Modified: webservices/axis2/trunk/c/samples/client/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/samples/client/Makefile.am?rev=376973&r1=376972&r2=376973&view=diff
==============================================================================
--- webservices/axis2/trunk/c/samples/client/Makefile.am (original)
+++ webservices/axis2/trunk/c/samples/client/Makefile.am Sat Feb 11 05:04:41 2006
@@ -1 +1 @@
-SUBDIRS = echo math
+SUBDIRS = echo math addr_echo