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