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/06/07 09:51:42 UTC

svn commit: r412318 - in /webservices/axis2/trunk/c: axiom/include/ axiom/src/om/ include/ modules/core/clientapi/ modules/core/description/ util/include/ util/src/

Author: samisa
Date: Wed Jun  7 00:51:41 2006
New Revision: 412318

URL: http://svn.apache.org/viewvc?rev=412318&view=rev
Log:
Improved service client API with const paramters and more detailed doc comments

Modified:
    webservices/axis2/trunk/c/axiom/include/axis2_om_element.h
    webservices/axis2/trunk/c/axiom/src/om/om_element.c
    webservices/axis2/trunk/c/include/axis2_svc.h
    webservices/axis2/trunk/c/include/axis2_svc_client.h
    webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c
    webservices/axis2/trunk/c/modules/core/description/svc.c
    webservices/axis2/trunk/c/util/include/axis2_qname.h
    webservices/axis2/trunk/c/util/src/qname.c

Modified: webservices/axis2/trunk/c/axiom/include/axis2_om_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/include/axis2_om_element.h?rev=412318&r1=412317&r2=412318&view=diff
==============================================================================
--- webservices/axis2/trunk/c/axiom/include/axis2_om_element.h (original)
+++ webservices/axis2/trunk/c/axiom/include/axis2_om_element.h Wed Jun  7 00:51:41 2006
@@ -499,7 +499,7 @@
     AXIS2_EXTERN axis2_om_element_t * AXIS2_CALL 
     axis2_om_element_create_with_qname (const axis2_env_t *env,
                                         axis2_om_node_t *parent,
-                                        axis2_qname_t *qname,
+                                        const axis2_qname_t *qname,
                                         axis2_om_node_t ** node);
 
 /** finds given namespace with respect to given node */

Modified: webservices/axis2/trunk/c/axiom/src/om/om_element.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/om/om_element.c?rev=412318&r1=412317&r2=412318&view=diff
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/om/om_element.c (original)
+++ webservices/axis2/trunk/c/axiom/src/om/om_element.c Wed Jun  7 00:51:41 2006
@@ -436,7 +436,7 @@
 AXIS2_EXTERN axis2_om_element_t * AXIS2_CALL
 axis2_om_element_create_with_qname (const axis2_env_t *env,
                                     axis2_om_node_t *parent,
-                                    axis2_qname_t *qname,
+                                    const axis2_qname_t *qname,
                                     axis2_om_node_t ** node)
 {
     axis2_om_element_t *element = NULL;

Modified: webservices/axis2/trunk/c/include/axis2_svc.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/include/axis2_svc.h?rev=412318&r1=412317&r2=412318&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_svc.h (original)
+++ webservices/axis2/trunk/c/include/axis2_svc.h Wed Jun  7 00:51:41 2006
@@ -79,7 +79,7 @@
    struct axis2_op *(AXIS2_CALL *
     get_op_with_qname) (axis2_svc_t *svc, 
                                   const axis2_env_t *env,
-                                  axis2_qname_t *op_qname);
+                                  const axis2_qname_t *op_qname);
 
    struct axis2_op *(AXIS2_CALL *
     get_op_with_name) (axis2_svc_t *svc, 

Modified: webservices/axis2/trunk/c/include/axis2_svc_client.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/include/axis2_svc_client.h?rev=412318&r1=412317&r2=412318&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_svc_client.h (original)
+++ webservices/axis2/trunk/c/include/axis2_svc_client.h Wed Jun  7 00:51:41 2006
@@ -1,18 +1,18 @@
 /*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
 
 #ifndef AXIS2_SVC_CLIENT_H
 #define AXIS2_SVC_CLIENT_H
@@ -20,7 +20,17 @@
 
 /**
   * @file axis2_svc_client.h
-  * @brief axis2 Service Client interface
+  * axis2 service client interface serves as the primary client interface for 
+  * consuming services. One can set the options to be used by the service 
+  * client and then invoke an operation on a given service. There are several 
+  * ways of invoking a service operation, basically they are based on the
+  * concept of message exchange pattern (MEP). The two basic MEP APIs 
+  * supported out-only and out-in. To achieve asynchrony, one could also 
+  * use the non-blocking modes of those methods.
+  * The operation invocations using service client API is based on the XML
+  * in/out principle. This means that the payload to be sent to the service
+  * is given in XML, using the AXIOM representation and the result from 
+  * the service would also be in XML, represented in AXIOM.
   */
 
 #include <axis2_defines.h>
@@ -38,9 +48,11 @@
 /** Name of anonymous service */
 #define AXIS2_ANON_SERVICE                 "__ANONYMOUS_SERVICE__"
 
-/** Operation names for operations representing different MEPs */
+/** out-only MEP operation name */
 #define AXIS2_ANON_OUT_ONLY_OP             "__OPERATION_OUT_ONLY__"
+/** out-only robust MEP operation name */
 #define AXIS2_ANON_ROBUST_OUT_ONLY_OP    "__OPERATION_ROBUST_OUT_ONLY__"
+/** out-in MEP operation name */
 #define AXIS2_ANON_OUT_IN_OP            "__OPERATION_OUT_IN__"
 
 
@@ -49,429 +61,443 @@
 {
 #endif
 
-/** 
- * @defgroup axis2_svc_client Service Client 
- * @ingroup axis2_core_clientapi
- * @{
- */
-    
-typedef struct axis2_svc_client_ops axis2_svc_client_ops_t;
-typedef struct axis2_svc_client axis2_svc_client_t; 
-
-    
-/** 
- * @brief Service Client ops struct
- * Encapsulator struct for operations of axis2_svc_client
- */  
-struct axis2_svc_client_ops
-{
-  /**
-    * Returns the axis2_svc_t this it is a client for. This is primarily useful
-    * when the service is created anonymously or from WSDL.
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @return the axis service
-    */
-    axis2_svc_t* (AXIS2_CALL *
-    get_svc)(
-        struct axis2_svc_client *svc_client, 
-        const axis2_env_t *env);
-
-  /**
-    * Sets the options to be used by service client
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param options pointer to options struct to be set
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-    */
-    axis2_status_t (AXIS2_CALL *
-    set_options)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_options_t *options);    
-
-  /**
-    * Gets options used by service client
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @return a pointer to the options struct
-    */
-    axis2_options_t* (AXIS2_CALL *
-    get_options)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env);
-
-  /**
-    * Sets the client options related to this service interaction to
-    * override any options that the underlying operation client may have.
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param options pointer to options struct to be set
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-    */
-    axis2_status_t (AXIS2_CALL *
-    set_override_options)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_options_t *override_options);    
-
-  /**
-    * Gets the overriding options
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @return pointer to overriding options struct 
-    */
-    axis2_options_t* (AXIS2_CALL *
-    get_override_options)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env);    
-
-  /**
-    * Engages the named module
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param module_name name of the module to be engaged
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-    */
-    axis2_status_t (AXIS2_CALL *
-    engage_module)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        const axis2_char_t *module_name);
-
-  /**
-    * Dis-engages the named module 
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param module_name name of the module to be dis-engaged
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-    */
-    axis2_status_t (AXIS2_CALL *
-    disengage_module)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        const axis2_char_t *module_name);
-    
-  /**
-    * Adds an XML element as a header to be sent to server side.
-    * This allows users to go a bit beyond the simple XML in/out pattern, and 
-    * send custom SOAP headers.
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param header om node representing the SOAP header in XML
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-    */
-    axis2_status_t (AXIS2_CALL *
-    add_header)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_om_node_t *header);
-
-  /**
-    * Removes all the headers added to service client
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-    */
-    axis2_status_t (AXIS2_CALL *
-    remove_headers)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env);
-
-  /**
-    * Adds a simple header consisting of some text to be sent with interactions.
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param header_name qname representing the header name
-    * @param header_text text of the header
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-    */
-    axis2_status_t (AXIS2_CALL *
-    add_header_with_text)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_qname_t *header_name,
-        axis2_char_t *header_text);     
-
-  /**
-    * This is a simple client API to invoke a service operation who's MEP is
-    * Robust In-Only. This API can be used to simply send a bit of XML.
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param payload pointer to OM node representing the XML payload to be sent
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-    */    
-    axis2_status_t (AXIS2_CALL *
-    send_robust)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_om_node_t *payload);
-
-  /**
-    * This is a simple client API to invoke a service operation who's MEP is
-    * Robust In-Only. This API can be used to simply send a bit of XML.
-    * The difference between this function and "send_robust" is that this
-    * method has to be given the operation name as a qname, where as 
-    * "send_robust" assumes the operation name to be 
-    * "__OPERATION_ROBUST_OUT_ONLY__"
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param op_qname operation qname 
-    * @param payload pointer to OM node representing the XML payload to be sent
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-    */    
-    axis2_status_t (AXIS2_CALL *
-    send_robust_with_op_qname)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_qname_t *op_qname,
-        axis2_om_node_t *payload);
-    
-  /**
-    * Sends a bit of XML and forgets about it. This API is used to interact with
-    * a service operation who's MEP is In-Only. That is, there is no
-    * opportunity to get an error from the service via this API; one may still
-    * get client-side errors, such as host unknown etc.
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param payload pointer to OM node representing the XML payload to be sent
-    */
-    void (AXIS2_CALL *
-    fire_and_forget)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_om_node_t *payload);
-
-  /**
-    * Sends a bit of XML and forget about it. This API is used to interact with
-    * a service operation who's MEP is In-Only. That is, there is no
-    * opportunity to get an error from the service via this API; one may still
-    * get client-side errors, such as host unknown etc.
-    * The difference between this function and "fire_and_forget" is that this
-    * method has to be given the operation name as a qname, where as 
-    * "fire_and_forget" assumes the operation name to be 
-    * "__OPERATION_OUT_ONLY__"
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param op_qname operation qname 
-    * @param payload pointer to OM node representing the XML payload to be sent
-    */
-    void (AXIS2_CALL *
-    fire_and_forget_with_op_qname)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_qname_t *op_qname,
-        axis2_om_node_t *payload);
-
-  /**
-    * Sends XML request and receives XML response.
-    * This API can be used to interact with a service operation who's 
-    * MEP is In-Out.
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param payload pointer to OM node representing the XML payload to be sent
-    * @return pointer to OM node representing the XML response
-    */
-    axis2_om_node_t* (AXIS2_CALL *
-    send_receive)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_om_node_t *payload);
-
-  /**
-    * Sends XML request and receives XML response.
-    * This API is used to interact with a service operation who's MEP is In-Out.
-    * The difference between this function and "send_receive" is that this
-    * method has to be given the operation name as a qname, where as 
-    * "send_receive" assumes the operation name to be 
-    * "__OPERATION_OUT_IN__"
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param op_qname operation qname 
-    * @param payload pointer to OM node representing the XML payload to be sent
-    * @return pointer to OM node representing the XML response
-    */
-    axis2_om_node_t* (AXIS2_CALL *
-    send_receive_with_op_qname)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_qname_t *op_qname,    
-        axis2_om_node_t *payload);
-
-  /**
-    * Sends XML request and receives XML response, but do not block for response.
-    * This API is used to interact with a service operation who's MEP is In-Out,
-    * in a non blocking mode.
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param payload pointer to OM node representing the XML payload to be sent
-    * @callback pointer to callback struct used to capture response 
-    */
-        
-    void (AXIS2_CALL *
-    send_receive_non_blocking)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_om_node_t *payload,
-        axis2_callback_t *callback);
+    /**
+     * @defgroup axis2_svc_client service client
+     * @ingroup axis2_core_clientapi
+     * @{
+     */
+
+    /** Type name for struct axis2_svc_client_ops */
+    typedef struct axis2_svc_client_ops axis2_svc_client_ops_t;
+    /** Type name for axis2_svc_client_t */
+    typedef struct axis2_svc_client axis2_svc_client_t;
+
+
+    /**
+     * @brief service client ops struct
+     * Encapsulator struct for operations of axis2_svc_client
+     */
+    struct axis2_svc_client_ops
+    {
+        /**
+          * Returns the axis2_svc_t this it is a client for. This is primarily 
+          * useful when the service is created anonymously or from WSDL.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @return the a pointer to axis service struct, NULL if no service 
+          * is associated
+          */
+        axis2_svc_t *(AXIS2_CALL *
+                get_svc)(
+                    const axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env);
+
+        /**
+          * Sets the options to be used by service client.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param options pointer to options struct to be set
+          * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+          */
+        axis2_status_t (AXIS2_CALL *
+                set_options)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    const axis2_options_t *options);
+
+        /**
+          * Gets options used by service client. 
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @return a pointer to the options struct if options set, else NULL.
+          * Returns a reference, not a cloned copy.
+          */
+        axis2_options_t *(AXIS2_CALL *
+                get_options)(
+                    const axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env);
+
+        /**
+          * Sets the overriding options. The overriding client options related 
+          * to this service interaction override any options that the 
+          * underlying operation client may have.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param options pointer to options struct to be set
+          * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+          */
+        axis2_status_t (AXIS2_CALL *
+                set_override_options)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    const axis2_options_t *override_options);
+
+        /**
+          * Gets the overriding options
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @return pointer to overriding options struct
+          */
+        axis2_options_t *(AXIS2_CALL *
+                get_override_options)(
+                    const axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env);
+
+        /**
+          * Engages the named module. The engaged modules extend the message
+          * processing when consuming services. Modules help to apply QoS
+          * norms in messaging. Once a module is engaged to service client,
+          * the axis2_engine makes sure to invoke the module for all the 
+          * interactions between the client and the service.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param module_name name of the module to be engaged
+          * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+          */
+        axis2_status_t (AXIS2_CALL *
+                engage_module)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    const axis2_char_t *module_name);
+
+        /**
+          * Dis-engages the named module. Dis-engaging a module on service 
+          * client ensures that the axis2_engine would not invoke the named 
+          * module wen sending and receiving messages.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param module_name name of the module to be dis-engaged
+          * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+          */
+        axis2_status_t (AXIS2_CALL *
+                disengage_module)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    const axis2_char_t *module_name);
+
+        /**
+          * Adds an XML element as a header to be sent to server side.
+          * This allows users to go a bit beyond the simple XML in/out pattern,
+          * and send custom SOAP headers. Once added, service client would own
+          * the header and would clean up in free.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param header om node representing the SOAP header in XML
+          * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+          */
+        axis2_status_t (AXIS2_CALL *
+                add_header)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    axis2_om_node_t *header);
+
+        /**
+          * Removes all the headers added to service client.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+          */
+        axis2_status_t (AXIS2_CALL *
+                remove_all_headers)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env);
+
+        /**
+          * Adds a simple header consisting of some text to be sent with 
+          * interactions.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param header_name qname representing the header name
+          * @param header_text text of the header
+          * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+          */
+        axis2_status_t (AXIS2_CALL *
+                add_header_with_text)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    const axis2_qname_t *header_name,
+                    const axis2_char_t *header_text);
+
+        /**
+          * This is a simple method to invoke a service operation whose MEP is
+          * Robust In-Only. This method can be used to simply send a bit of 
+          * XML.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param payload pointer to OM node representing the XML payload to be sent
+          * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+          */
+        axis2_status_t (AXIS2_CALL *
+                send_robust)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    const axis2_om_node_t *payload);
+
+        /**
+          * This is a simple method to invoke a service operation whose MEP is
+          * Robust In-Only. This method can be used to simply send a bit of XML.
+          * The difference between this method and "send_robust" is that this
+          * method has to be given the operation name as a qname, where as
+          * "send_robust" assumes the operation name to be
+          * "__OPERATION_ROBUST_OUT_ONLY__"
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param op_qname operation qname
+          * @param payload pointer to OM node representing the XML payload to be sent
+          * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+          */
+        axis2_status_t (AXIS2_CALL *
+                send_robust_with_op_qname)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    const axis2_qname_t *op_qname,
+                    const axis2_om_node_t *payload);
+
+        /**
+          * Sends a bit of XML and forgets about it. This method is used to interact with
+          * a service operation whose MEP is In-Only. That is, there is no
+          * opportunity to get an error from the service via this method; one may still
+          * get client-side errors, such as host unknown etc.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param payload pointer to OM node representing the XML payload to be sent
+          */
+        void (AXIS2_CALL *
+                fire_and_forget)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    const axis2_om_node_t *payload);
+
+        /**
+          * Sends a bit of XML and forget about it. This method is used to interact with
+          * a service operation whose MEP is In-Only. That is, there is no
+          * opportunity to get an error from the service via this method; one may still
+          * get client-side errors, such as host unknown etc.
+          * The difference between this method and "fire_and_forget" is that this
+          * method has to be given the operation name as a qname, where as
+          * "fire_and_forget" assumes the operation name to be
+          * "__OPERATION_OUT_ONLY__"
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param op_qname operation qname
+          * @param payload pointer to OM node representing the XML payload to be sent
+          */
+        void (AXIS2_CALL *
+                fire_and_forget_with_op_qname)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    const axis2_qname_t *op_qname,
+                    const axis2_om_node_t *payload);
+
+        /**
+          * Sends XML request and receives XML response.
+          * This method can be used to interact with a service operation whose
+          * MEP is In-Out.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param payload pointer to OM node representing the XML payload to be sent
+          * @return pointer to OM node representing the XML response
+          */
+        axis2_om_node_t* (AXIS2_CALL *
+                send_receive)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    const axis2_om_node_t *payload);
+
+        /**
+          * Sends XML request and receives XML response.
+          * This method is used to interact with a service operation whose MEP is In-Out.
+          * The difference between this method and "send_receive" is that this
+          * method has to be given the operation name as a qname, where as
+          * "send_receive" assumes the operation name to be
+          * "__OPERATION_OUT_IN__"
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param op_qname operation qname
+          * @param payload pointer to OM node representing the XML payload to be sent
+          * @return pointer to OM node representing the XML response
+          */
+        axis2_om_node_t* (AXIS2_CALL *
+                send_receive_with_op_qname)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    const axis2_qname_t *op_qname,
+                    const axis2_om_node_t *payload);
+
+        /**
+          * Sends XML request and receives XML response, but do not block for response.
+          * This method is used to interact with a service operation whose MEP is In-Out,
+          * in a non blocking mode.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param payload pointer to OM node representing the XML payload to be sent
+          * @callback pointer to callback struct used to capture response
+          */
+
+        void (AXIS2_CALL *
+                send_receive_non_blocking)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    const axis2_om_node_t *payload,
+                    axis2_callback_t *callback);
+
+        /**
+          * Sends XML request and receives XML response, but do not block for response.
+          * This method is used to interact with a service operation whose MEP is In-Out,
+          * in a non blocking mode.
+          * The difference between this method and "send_receive_non_blocking" is that this
+          * method has to be given the operation name as a qname, where as
+          * "send_receive_non_blocking" assumes the operation name to be
+          * "__OPERATION_OUT_IN__"
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param op_qname operation qname
+          * @param payload pointer to OM node representing the XML payload to be sent
+          * @callback pointer to callback struct used to capture response
+          */
+        void (AXIS2_CALL *
+                send_receive_non_blocking_with_op_qname)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    const axis2_qname_t *op_qname,
+                    const axis2_om_node_t *payload,
+                    axis2_callback_t *callback);
+
+        /**
+          * Creates an op_client for a specific operation. This is the way to  
+          * create a full functional MEP client which can be used to exchange 
+          * messages for this specific operation.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param op_qname axis2_qname_t of the operation
+          * @return pointer to op_client configured to talk to the given operation
+          */
+        axis2_op_client_t* (AXIS2_CALL *
+                create_op_client)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    const axis2_qname_t *op_qname);
+
+        /**
+          * This will close the output stream and/or remove entry from waiting
+          * queue of the transport listener queue.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+          */
+        axis2_status_t (AXIS2_CALL *
+                finalize_invoke)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env);
+
+        /**
+          * Gets the from EPR.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param transport name of the transport, e.g "http"
+          * @return pointer to the epr struct
+          */
+        axis2_endpoint_ref_t* (AXIS2_CALL *
+                get_own_endpoint_ref)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    axis2_char_t *transport);
+
+        /**
+          * Gets the target EPR.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @return pointer to the epr struct
+          */
+        axis2_endpoint_ref_t* (AXIS2_CALL *
+                get_target_epr)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env);
+
+        /**
+          * Sets the target EPR.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @param target_epr pointer to the epr struct to be set as target
+          * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+          */
+        axis2_status_t (AXIS2_CALL *
+                set_target_epr)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env,
+                    axis2_endpoint_ref_t *target_epr);
+
+        /**
+          * Gets the service context.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @return pointer to service context struct. service client owns
+          * the returned pointer.
+          */
+        axis2_svc_ctx_t* (AXIS2_CALL *
+                get_svc_ctx)(
+                    const axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env);
+
+        /**
+          * Frees the service client.
+          * @param svc_client pointer to service client struct
+          * @param env pointer to environment struct. 
+          * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+          */
+
+        axis2_status_t (AXIS2_CALL *
+                free)(
+                    axis2_svc_client_t *svc_client,
+                    const axis2_env_t *env);
+    };
+
+    /**
+     * @brief Service Client struct
+     * Axis2 Service Client
+     */
+    struct axis2_svc_client
+    {
+        axis2_svc_client_ops_t *ops;
+    };
+
+    /**
+     * Creates a service client struct
+     * @param env Environment. 
+     * @param client_home name of the directory that contains the Axis2/C repository
+     * @return a pointer to newly created service client struct,
+     *          returns NULL on error with error code set in environment's error.
+     */
+    AXIS2_EXTERN axis2_svc_client_t* AXIS2_CALL
+    axis2_svc_client_create(
+        const axis2_env_t *env,
+        const axis2_char_t *client_home);
+
+    /**
+     * Creates a service client struct, for the given service and the configuration
+     * context
+     * @param env Environment. 
+     * @param conf_ctx pointer to configuration context
+     * @param svc pointer to service struct representing the service to be consumed
+     * @param client_home name of the directory that contains the Axis2/C repository
+     * @return a pointer to newly created service client struct,
+     *          returns NULL on error with error code set in environment's error.
+     */
+    AXIS2_EXTERN axis2_svc_client_t* AXIS2_CALL
+    axis2_svc_client_create_with_conf_ctx_and_svc(
+        const axis2_env_t *env,
+        const axis2_char_t *client_home,
+        axis2_conf_ctx_t *conf_ctx,
+        axis2_svc_t *svc);
 
-  /**
-    * Sends XML request and receives XML response, but do not block for response.
-    * This API is used to interact with a service operation who's MEP is In-Out,
-    * in a non blocking mode.
-    * The difference between this function and "send_receive_non_blocking" is that this
-    * method has to be given the operation name as a qname, where as 
-    * "send_receive_non_blocking" assumes the operation name to be 
-    * "__OPERATION_OUT_IN__"
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param op_qname operation qname 
-    * @param payload pointer to OM node representing the XML payload to be sent
-    * @callback pointer to callback struct used to capture response 
-    */
-    void (AXIS2_CALL *
-    send_receive_non_blocking_with_op_qname)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_qname_t *op_qname,
-        axis2_om_node_t *payload,
-        axis2_callback_t *callback);
-    
-  /**
-    * Creates an op_client for a specific operation. This is the way one can
-    * create a full functional MEP client which can be used to exchange messages
-    * for this specific operation. 
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param op_qname axis2_qname_t of the operation
-    * @return pointer to op_client configured to talk to the given operation
-    */
-    axis2_op_client_t* (AXIS2_CALL *
-    create_op_client)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_qname_t *op_qname);
-
-  /**
-    * This will close the output stream and/or remove entry from waiting
-    * queue of the transport listener queue
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-    */
-    axis2_status_t (AXIS2_CALL *
-    finalize_invoke)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env);
-
-  /**
-    * Gets the from EPR 
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param transport name of the transport, e.g "http"
-    * @return pointer to the epr struct
-    */
-    axis2_endpoint_ref_t* (AXIS2_CALL *
-    get_my_epr)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_char_t *transport);                
-        
-  /**
-    * Gets the target EPR 
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @return pointer to the epr struct
-    */
-    axis2_endpoint_ref_t* (AXIS2_CALL *
-    get_target_epr)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env);
-
-  /**
-    * Sets the target EPR 
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @param target_epr pointer to the epr struct to be set as target
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-    */
-    axis2_status_t (AXIS2_CALL *
-    set_target_epr)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env,
-        axis2_endpoint_ref_t *target_epr);        
-        
-  /**
-    * Gets the service context
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @return pointer to service context struct
-    */
-    axis2_svc_ctx_t* (AXIS2_CALL *
-    get_svc_ctx)(
-        struct axis2_svc_client *svc_client,
-           const axis2_env_t *env);        
-
-  /**
-    * Frees the service client 
-    * @param svc_client pointer to service client struct
-    * @param env double pointer to environment struct. MUST NOT be NULL
-    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-    */
-
-    axis2_status_t (AXIS2_CALL *
-    free)(
-        struct axis2_svc_client *svc_client,
-        const axis2_env_t *env);    
-};
-
-/** 
- * @brief Service Client struct
- * Axis2 Service Client
- */
-struct axis2_svc_client
-{
-    axis2_svc_client_ops_t *ops;    
-};
-
-/**
- * Creates a service client struct 
- * @param env Environment. MUST NOT be NULL
- * @param client_home name of the directory that contains the Axis2/C repository
- * @return a pointer to newly created service client struct, 
- *          returns NULL on error with error code set in environment's error. 
- */
-AXIS2_EXTERN axis2_svc_client_t* AXIS2_CALL 
-axis2_svc_client_create(
-    const axis2_env_t *env, 
-    const axis2_char_t *client_home);
-
-/**
- * Creates a service client struct, for the given service and the configuration
- * context
- * @param env Environment. MUST NOT be NULL
- * @param conf_ctx pointer to configuration context
- * @param svc pointer to service struct representing the service to be consumed
- * @param client_home name of the directory that contains the Axis2/C repository
- * @return a pointer to newly created service client struct, 
- *          returns NULL on error with error code set in environment's error. 
- */
-AXIS2_EXTERN axis2_svc_client_t* AXIS2_CALL 
-axis2_svc_client_create_with_conf_ctx_and_svc(
-    const axis2_env_t *env,
-    axis2_conf_ctx_t *conf_ctx,
-    axis2_svc_t *svc,
-    const axis2_char_t *client_home);
-   
-/************************** Start of function macros **************************/
 /** Gets the service consumed by service client */
 #define AXIS2_SVC_CLIENT_GET_AXIS_SERVICE(svc_client, env) \
         ((svc_client)->ops->get_svc(svc_client, env))
-        
+
 /** Sets the options to be used by service client */
 #define AXIS2_SVC_CLIENT_SET_OPTIONS(svc_client, env, options) \
         ((svc_client)->ops->set_options(svc_client, env, options))
-        
+
 /** Gets the options being used by service client */
 #define AXIS2_SVC_CLIENT_GET_OPTIONS(svc_client, env) \
         ((svc_client)->ops->get_options(svc_client, env))
@@ -497,8 +523,8 @@
         ((svc_client)->ops->add_header(svc_client, env, header))
 
 /** Removes all the SOAP headers currently set on service client */
-#define AXIS2_SVC_CLIENT_REMOVE_HEADERS(svc_client, env) \
-        ((svc_client)->ops->remove_headers(svc_client, env))
+#define AXIS2_SVC_CLIENT_REMOVE_ALL_HEADERS(svc_client, env) \
+        ((svc_client)->ops->remove_all_headers(svc_client, env))
 
 /** Adds a SOAP header to be sent by the service client with given text */
 #define AXIS2_SVC_CLIENT_ADD_HEADER_WITH_TEXT(svc_client, env, header_name, header_text) \
@@ -537,8 +563,8 @@
     Does not block till response arrives. Uses the callback to capture response */
 #define AXIS2_SVC_CLIENT_SEND_RECEIVE_NON_BLOCKING_WITH_OP_QNAME(svc_client, env, op_qname, payload, callback) \
         ((svc_client)->ops->send_receive_non_blocking_with_op_qname(svc_client, env, op_qname, payload, callback))
-    
-/** Creates the operation client to be used by the service client */
+
+ /** Creates the operation client to be used by the service client */
 #define AXIS2_SVC_CLIENT_CREATE_OP_CLIENT(svc_client, env, op_qname) \
         ((svc_client)->ops->create_op_client(svc_client, env, op_qname))
 
@@ -548,7 +574,7 @@
 
 /** Gets the EPR of the service client */
 #define AXIS2_SVC_CLIENT_GET_MY_EPR(svc_client, env, transport) \
-        ((svc_client)->ops->get_my_epr(svc_client, env, transport))
+        ((svc_client)->ops->get_own_endpoint_ref(svc_client, env, transport))
 
 /** Gets the target EPR */
 #define AXIS2_SVC_CLIENT_GET_TARGET_EPR(svc_client, env) \
@@ -566,9 +592,7 @@
 #define AXIS2_SVC_CLIENT_FREE(svc_client, env) \
         ((svc_client)->ops->free(svc_client, env))
 
-/************************** End of function macros ****************************/    
-
-/** @} */
+    /** @} */
 #ifdef __cplusplus
 }
 #endif

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?rev=412318&r1=412317&r2=412318&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c Wed Jun  7 00:51:41 2006
@@ -68,30 +68,32 @@
                            axis2_svc_client_impl_t *svc_client_impl);
 static void axis2_svc_client_init_ops(axis2_svc_client_t *svc_client);
 static axis2_svc_t* axis2_svc_client_create_annonymous_svc(const axis2_env_t *env);
-static axis2_bool_t axis2_svc_client_fill_soap_envelope(const axis2_env_t *env, axis2_svc_client_impl_t *svc_client_impl,
-                                axis2_msg_ctx_t *msg_ctx, axis2_om_node_t *payload);
+static axis2_bool_t axis2_svc_client_fill_soap_envelope(const axis2_env_t *env, 
+    axis2_svc_client_impl_t *svc_client_impl,
+    axis2_msg_ctx_t *msg_ctx, 
+    const axis2_om_node_t *payload);
 
 /** public funcitons */
 axis2_svc_t* AXIS2_CALL 
-axis2_svc_client_get_svc(struct axis2_svc_client *svc_client, 
+axis2_svc_client_get_svc(const axis2_svc_client_t *svc_client, 
     const axis2_env_t *env);
 
 axis2_status_t AXIS2_CALL 
 axis2_svc_client_set_options(struct axis2_svc_client *svc_client,
                 const axis2_env_t *env,
-                axis2_options_t *options);
+                const axis2_options_t *options);
 
 axis2_options_t* AXIS2_CALL 
-axis2_svc_client_get_options(struct axis2_svc_client *svc_client,
+axis2_svc_client_get_options(const axis2_svc_client_t *svc_client,
     const axis2_env_t *env);
 
 axis2_status_t AXIS2_CALL 
 axis2_svc_client_set_override_options(struct axis2_svc_client *svc_client,
     const axis2_env_t *env,
-    axis2_options_t *override_options);
+    const axis2_options_t *override_options);
 
 axis2_options_t* AXIS2_CALL 
-axis2_svc_client_get_override_options(struct axis2_svc_client *svc_client,
+axis2_svc_client_get_override_options(const axis2_svc_client_t *svc_client,
     const axis2_env_t *env);
 
 axis2_status_t AXIS2_CALL 
@@ -110,76 +112,76 @@
                             axis2_om_node_t *header);
 
 axis2_status_t AXIS2_CALL 
-axis2_svc_client_remove_headers(struct axis2_svc_client *svc_client,
+axis2_svc_client_remove_all_headers(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env);
 
 axis2_status_t AXIS2_CALL 
 axis2_svc_client_add_header_with_text(struct axis2_svc_client *svc_client,
                         const axis2_env_t *env,
-                        axis2_qname_t *header_name,
-                        axis2_char_t *header_text);
+                        const axis2_qname_t *header_name,
+                        const axis2_char_t *header_text);
 
 axis2_status_t AXIS2_CALL 
 axis2_svc_client_send_robust(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_om_node_t *payload);
+                    const axis2_om_node_t *payload);
 
 
 axis2_status_t AXIS2_CALL 
 axis2_svc_client_send_robust_with_op_qname(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_qname_t *op_qname,
-                    axis2_om_node_t *payload);
+                    const axis2_qname_t *op_qname,
+                    const axis2_om_node_t *payload);
 
 void AXIS2_CALL 
 axis2_svc_client_fire_and_forget(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_om_node_t *payload);
+                    const axis2_om_node_t *payload);
 
 
 void AXIS2_CALL 
 axis2_svc_client_fire_and_forget_with_op_qname(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_qname_t *op_qname,
-                    axis2_om_node_t *payload);
+                    const axis2_qname_t *op_qname,
+                    const axis2_om_node_t *payload);
 
 axis2_om_node_t* AXIS2_CALL 
 axis2_svc_client_send_receive(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_om_node_t *payload);
+                    const axis2_om_node_t *payload);
 
 
 axis2_om_node_t* AXIS2_CALL 
 axis2_svc_client_send_receive_with_op_qname(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_qname_t *op_qname,
-                    axis2_om_node_t *payload);
+                    const axis2_qname_t *op_qname,
+                    const axis2_om_node_t *payload);
 
 
 void AXIS2_CALL 
 axis2_svc_client_send_receive_non_blocking(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_om_node_t *payload,
+                    const axis2_om_node_t *payload,
                     axis2_callback_t *callback);
 
 void AXIS2_CALL 
 axis2_svc_client_send_receive_non_blocking_with_op_qname(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_qname_t *op_qname,
-                    axis2_om_node_t *payload,
+                    const axis2_qname_t *op_qname,
+                    const axis2_om_node_t *payload,
                     axis2_callback_t *callback);
 
 axis2_op_client_t* AXIS2_CALL 
 axis2_svc_client_create_op_client(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_qname_t *op_qname);
+                    const axis2_qname_t *op_qname);
 
 axis2_status_t AXIS2_CALL 
 axis2_svc_client_finalize_invoke(struct axis2_svc_client *svc_client,
                         const axis2_env_t *env);
     
 axis2_endpoint_ref_t* AXIS2_CALL 
-axis2_svc_client_get_my_epr(struct axis2_svc_client *svc_client,
+axis2_svc_client_get_own_endpoint_ref(struct axis2_svc_client *svc_client,
                 const axis2_env_t *env,
                 axis2_char_t *transport);
 
@@ -193,7 +195,7 @@
                     axis2_endpoint_ref_t *target_epr);
     
 axis2_svc_ctx_t* AXIS2_CALL 
-axis2_svc_client_get_svc_ctx(struct axis2_svc_client *svc_client,
+axis2_svc_client_get_svc_ctx(const axis2_svc_client_t *svc_client,
                     const axis2_env_t *env);
 
 axis2_status_t AXIS2_CALL
@@ -201,13 +203,14 @@
                   const axis2_env_t *env);
 
 axis2_svc_client_t* AXIS2_CALL
-axis2_svc_client_create(const axis2_env_t *env, const axis2_char_t *client_home)
+axis2_svc_client_create(const axis2_env_t *env, 
+    const axis2_char_t *client_home)
 {
     axis2_svc_client_impl_t *svc_client_impl = NULL;
     
     AXIS2_ENV_CHECK(env, NULL);
       svc_client_impl = AXIS2_INTF_TO_IMPL(axis2_svc_client_create_with_conf_ctx_and_svc
-                                 (env, NULL, NULL, client_home));
+                                 (env, client_home, NULL, NULL));
    
    if (!svc_client_impl)
       return NULL;
@@ -217,9 +220,9 @@
 
 axis2_svc_client_t* AXIS2_CALL
 axis2_svc_client_create_with_conf_ctx_and_svc(const axis2_env_t *env,
-                                            axis2_conf_ctx_t *conf_ctx,
-                                            axis2_svc_t *svc,
-                                 const axis2_char_t *client_home)
+    const axis2_char_t *client_home,
+    axis2_conf_ctx_t *conf_ctx,
+    axis2_svc_t *svc)
 {
     axis2_svc_client_impl_t *svc_client_impl = NULL;
    axis2_svc_grp_t *svc_grp = NULL;
@@ -326,7 +329,7 @@
 
 
 axis2_svc_t* AXIS2_CALL 
-axis2_svc_client_get_svc(struct axis2_svc_client *svc_client, const axis2_env_t *env)
+axis2_svc_client_get_svc(const axis2_svc_client_t *svc_client, const axis2_env_t *env)
 {
     axis2_svc_client_impl_t *svc_client_impl = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
@@ -337,7 +340,7 @@
 axis2_status_t AXIS2_CALL 
 axis2_svc_client_set_options(struct axis2_svc_client *svc_client,
                 const axis2_env_t *env,
-                axis2_options_t *options)
+                const axis2_options_t *options)
 {
     axis2_svc_client_impl_t *svc_client_impl = NULL;
 
@@ -348,12 +351,12 @@
    /*TODO:double check whether we need to free*/
    if (svc_client_impl->options)
       AXIS2_OPTIONS_FREE(svc_client_impl->options, env);
-      svc_client_impl->options = options;
+      svc_client_impl->options = (axis2_options_t *)options;
    return AXIS2_SUCCESS;   
 }
 
 axis2_options_t* AXIS2_CALL 
-axis2_svc_client_get_options(struct axis2_svc_client *svc_client, 
+axis2_svc_client_get_options(const axis2_svc_client_t *svc_client, 
     const axis2_env_t *env)
 {
     axis2_svc_client_impl_t *svc_client_impl = NULL;
@@ -366,7 +369,7 @@
 axis2_status_t AXIS2_CALL 
 axis2_svc_client_set_override_options(struct axis2_svc_client *svc_client,
                         const axis2_env_t *env,
-                        axis2_options_t *override_options)
+                        const axis2_options_t *override_options)
 {
     axis2_svc_client_impl_t *svc_client_impl = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
@@ -375,13 +378,13 @@
    if (svc_client_impl->override_options)
       AXIS2_OPTIONS_FREE(svc_client_impl->override_options, env);
 
-   svc_client_impl->override_options = override_options;
+   svc_client_impl->override_options = (axis2_options_t *)override_options;
 
    return AXIS2_SUCCESS;
 }
 
 axis2_options_t* AXIS2_CALL 
-axis2_svc_client_get_override_options(struct axis2_svc_client *svc_client,
+axis2_svc_client_get_override_options(const axis2_svc_client_t *svc_client,
     const axis2_env_t *env)
 {
     axis2_svc_client_impl_t *svc_client_impl = NULL;
@@ -469,7 +472,7 @@
 }
 
 axis2_status_t AXIS2_CALL 
-axis2_svc_client_remove_headers(struct axis2_svc_client *svc_client,
+axis2_svc_client_remove_all_headers(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env)
 {
     axis2_svc_client_impl_t *svc_client_impl = NULL;
@@ -498,8 +501,8 @@
 axis2_status_t AXIS2_CALL 
 axis2_svc_client_add_header_with_text(struct axis2_svc_client *svc_client,
                         const axis2_env_t *env,
-                        axis2_qname_t *header_name,
-                        axis2_char_t *header_text)
+                        const axis2_qname_t *header_name,
+                        const axis2_char_t *header_text)
 {
    axis2_om_node_t *node_name, *node_text;
    axis2_om_element_t *element = NULL;
@@ -529,7 +532,7 @@
 axis2_status_t AXIS2_CALL 
 axis2_svc_client_send_robust(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_om_node_t *payload)
+                    const axis2_om_node_t *payload)
 {
     
    axis2_svc_client_impl_t *svc_client_impl = NULL;
@@ -547,8 +550,8 @@
 axis2_status_t AXIS2_CALL 
 axis2_svc_client_send_robust_with_op_qname(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_qname_t *op_qname,
-                    axis2_om_node_t *payload)
+                    const axis2_qname_t *op_qname,
+                    const axis2_om_node_t *payload)
 {
    axis2_svc_client_impl_t *svc_client_impl = NULL;
     axis2_op_client_t *op_client = NULL;
@@ -579,7 +582,7 @@
 void AXIS2_CALL 
 axis2_svc_client_fire_and_forget(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_om_node_t *payload)
+                    const axis2_om_node_t *payload)
 {
    axis2_svc_client_impl_t *svc_client_impl = NULL;
    axis2_qname_t *op_qname = NULL;
@@ -598,8 +601,8 @@
 void AXIS2_CALL 
 axis2_svc_client_fire_and_forget_with_op_qname(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_qname_t *op_qname,
-                    axis2_om_node_t *payload)
+                    const axis2_qname_t *op_qname,
+                    const axis2_om_node_t *payload)
 {
     axis2_svc_client_impl_t *svc_client_impl = NULL;
     axis2_op_client_t *op_client = NULL;
@@ -632,7 +635,7 @@
 axis2_om_node_t* AXIS2_CALL 
 axis2_svc_client_send_receive(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_om_node_t *payload)
+                    const axis2_om_node_t *payload)
 {
    axis2_svc_client_impl_t *svc_client_impl = NULL;
    axis2_qname_t *op_qname = NULL;
@@ -649,8 +652,8 @@
 axis2_om_node_t* AXIS2_CALL 
 axis2_svc_client_send_receive_with_op_qname(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_qname_t *op_qname,
-                    axis2_om_node_t *payload)
+                    const axis2_qname_t *op_qname,
+                    const axis2_om_node_t *payload)
 {
    axis2_svc_client_impl_t *svc_client_impl = NULL;
     axis2_soap_envelope_t *soap_envelope = NULL;
@@ -810,7 +813,7 @@
 void AXIS2_CALL 
 axis2_svc_client_send_receive_non_blocking(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_om_node_t *payload,
+                    const axis2_om_node_t *payload,
                     axis2_callback_t *callback)
 {
     axis2_svc_client_impl_t *svc_client_impl = NULL;
@@ -827,8 +830,8 @@
 void AXIS2_CALL 
 axis2_svc_client_send_receive_non_blocking_with_op_qname(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_qname_t *op_qname,
-                    axis2_om_node_t *payload,
+                    const axis2_qname_t *op_qname,
+                    const axis2_om_node_t *payload,
                     axis2_callback_t *callback)
 {
     axis2_svc_client_impl_t *svc_client_impl = NULL;
@@ -880,7 +883,7 @@
 axis2_op_client_t* AXIS2_CALL 
 axis2_svc_client_create_op_client(struct axis2_svc_client *svc_client,
                     const axis2_env_t *env,
-                    axis2_qname_t *op_qname)
+                    const axis2_qname_t *op_qname)
 {
    axis2_op_t *op = NULL;
    axis2_svc_client_impl_t *svc_client_impl = NULL;
@@ -942,7 +945,7 @@
 }
     
 axis2_endpoint_ref_t* AXIS2_CALL 
-axis2_svc_client_get_my_epr(struct axis2_svc_client *svc_client,
+axis2_svc_client_get_own_endpoint_ref(struct axis2_svc_client *svc_client,
                 const axis2_env_t *env,
                 axis2_char_t *transport)
 {
@@ -951,7 +954,7 @@
    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
    svc_client_impl = AXIS2_INTF_TO_IMPL(svc_client);
-   /*TODO:implement-issue - there's not get_my_epr in svc_ctx*/
+   /*TODO:implement-issue - there's not get_own_endpoint_ref in svc_ctx*/
    
    return NULL;
 }
@@ -986,7 +989,7 @@
 }
     
 axis2_svc_ctx_t* AXIS2_CALL 
-axis2_svc_client_get_svc_ctx(struct axis2_svc_client *svc_client,
+axis2_svc_client_get_svc_ctx(const axis2_svc_client_t *svc_client,
                     const axis2_env_t *env)
 {
    axis2_svc_client_impl_t *svc_client_impl = NULL;
@@ -1076,7 +1079,7 @@
    svc_client->ops->engage_module = axis2_svc_client_engage_module;
    svc_client->ops->disengage_module = axis2_svc_client_disengage_module;
    svc_client->ops->add_header = axis2_svc_client_add_header;
-   svc_client->ops->remove_headers = axis2_svc_client_remove_headers;
+   svc_client->ops->remove_all_headers = axis2_svc_client_remove_all_headers;
    svc_client->ops->add_header_with_text = axis2_svc_client_add_header_with_text;
    svc_client->ops->send_robust = axis2_svc_client_send_robust;
    svc_client->ops->send_robust_with_op_qname = axis2_svc_client_send_robust_with_op_qname;
@@ -1088,7 +1091,7 @@
    svc_client->ops->send_receive_non_blocking_with_op_qname = axis2_svc_client_send_receive_non_blocking_with_op_qname;
    svc_client->ops->create_op_client = axis2_svc_client_create_op_client;
    svc_client->ops->finalize_invoke = axis2_svc_client_finalize_invoke;
-   svc_client->ops->get_my_epr = axis2_svc_client_get_my_epr;
+   svc_client->ops->get_own_endpoint_ref = axis2_svc_client_get_own_endpoint_ref;
    svc_client->ops->get_target_epr = axis2_svc_client_get_target_epr;
    svc_client->ops->set_target_epr = axis2_svc_client_set_target_epr;
    svc_client->ops->get_svc_ctx = axis2_svc_client_get_svc_ctx;
@@ -1244,8 +1247,10 @@
     return AXIS2_SUCCESS;
 }
 
-static axis2_bool_t axis2_svc_client_fill_soap_envelope(const axis2_env_t *env, axis2_svc_client_impl_t *svc_client_impl,
-                        axis2_msg_ctx_t *msg_ctx, axis2_om_node_t *payload)
+static axis2_bool_t axis2_svc_client_fill_soap_envelope(const axis2_env_t *env, 
+    axis2_svc_client_impl_t *svc_client_impl,
+    axis2_msg_ctx_t *msg_ctx, 
+    const axis2_om_node_t *payload)
 {
    const axis2_char_t *soap_version_uri;
    int soap_version;
@@ -1309,7 +1314,7 @@
             node = AXIS2_SOAP_BODY_GET_BASE_NODE(soap_body, env);
             if (node)
             {
-                AXIS2_OM_NODE_ADD_CHILD(node, env, payload);
+                AXIS2_OM_NODE_ADD_CHILD(node, env, (axis2_om_node_t *)payload);
             }
         }
     }

Modified: webservices/axis2/trunk/c/modules/core/description/svc.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/description/svc.c?rev=412318&r1=412317&r2=412318&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/svc.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/svc.c Wed Jun  7 00:51:41 2006
@@ -52,7 +52,7 @@
 
 axis2_op_t * AXIS2_CALL
 axis2_svc_get_op_with_qname (axis2_svc_t *svc, const axis2_env_t *env,
-                                  axis2_qname_t *op_name);
+                                  const axis2_qname_t *op_name);
       
 axis2_op_t * AXIS2_CALL
 axis2_svc_get_op_with_name (axis2_svc_t *svc, const axis2_env_t *env,
@@ -613,7 +613,7 @@
 axis2_op_t * AXIS2_CALL
 axis2_svc_get_op_with_qname (axis2_svc_t *svc,
                                         const axis2_env_t *env,
-                                      axis2_qname_t *op_name)
+                                      const axis2_qname_t *op_name)
 {
     axis2_svc_impl_t *svc_impl = NULL;
     axis2_op_t *op_l = NULL;

Modified: webservices/axis2/trunk/c/util/include/axis2_qname.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/include/axis2_qname.h?rev=412318&r1=412317&r2=412318&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/include/axis2_qname.h (original)
+++ webservices/axis2/trunk/c/util/include/axis2_qname.h Wed Jun  7 00:51:41 2006
@@ -83,15 +83,15 @@
            const axis2_env_t *env);
                                        
     axis2_char_t* (AXIS2_CALL *
-   get_uri)(struct axis2_qname *qname,
+   get_uri)(const struct axis2_qname *qname,
              const axis2_env_t *env);
                                         
     axis2_char_t* (AXIS2_CALL *
-   get_prefix)(struct axis2_qname *qname,
+   get_prefix)(const struct axis2_qname *qname,
                 const axis2_env_t *env);
 
     axis2_char_t* (AXIS2_CALL *
-   get_localpart)(struct axis2_qname *qname,
+   get_localpart)(const struct axis2_qname *qname,
                    const axis2_env_t *env);
                                               
     /**
@@ -101,7 +101,7 @@
      * The returned char* is freed when qname free function is called.
      */
     axis2_char_t* (AXIS2_CALL *
-   to_string)(struct axis2_qname *qname,
+   to_string)(const struct axis2_qname *qname,
                const axis2_env_t *env); 
                
    

Modified: webservices/axis2/trunk/c/util/src/qname.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/src/qname.c?rev=412318&r1=412317&r2=412318&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/src/qname.c (original)
+++ webservices/axis2/trunk/c/util/src/qname.c Wed Jun  7 00:51:41 2006
@@ -37,19 +37,19 @@
                   const axis2_env_t *env);
                                       
 axis2_char_t* AXIS2_CALL
-axis2_qname_get_uri(axis2_qname_t *qname,
+axis2_qname_get_uri(const axis2_qname_t *qname,
                     const axis2_env_t *env);
                                         
 axis2_char_t* AXIS2_CALL 
-axis2_qname_get_prefix(axis2_qname_t *qname,
+axis2_qname_get_prefix(const axis2_qname_t *qname,
                         const axis2_env_t *env);
 
 axis2_char_t* AXIS2_CALL 
-axis2_qname_get_localpart(axis2_qname_t *qname,
+axis2_qname_get_localpart(const axis2_qname_t *qname,
                           const axis2_env_t *env);
                           
 axis2_char_t* AXIS2_CALL
-axis2_qname_to_string(axis2_qname_t *qname,
+axis2_qname_to_string(const axis2_qname_t *qname,
                       const axis2_env_t *env);                          
                                             
 /*************************************** qname struct *********************/
@@ -285,7 +285,7 @@
 
                   
 axis2_char_t* AXIS2_CALL
-axis2_qname_get_uri(axis2_qname_t *qname,
+axis2_qname_get_uri(const axis2_qname_t *qname,
                     const axis2_env_t *env)
 {
     AXIS2_ENV_CHECK(env,NULL);
@@ -293,7 +293,7 @@
 }                    
                                         
 axis2_char_t* AXIS2_CALL 
-axis2_qname_get_prefix(axis2_qname_t *qname,
+axis2_qname_get_prefix(const axis2_qname_t *qname,
                         const axis2_env_t *env)
 {
     AXIS2_ENV_CHECK(env,NULL);
@@ -302,7 +302,7 @@
 
 
 axis2_char_t* AXIS2_CALL 
-axis2_qname_get_localpart(axis2_qname_t *qname,
+axis2_qname_get_localpart(const axis2_qname_t *qname,
                           const axis2_env_t *env)
 {
     AXIS2_ENV_CHECK(env,NULL);
@@ -310,7 +310,7 @@
 } 
 
 axis2_char_t* AXIS2_CALL
-axis2_qname_to_string(axis2_qname_t *qname,
+axis2_qname_to_string(const axis2_qname_t *qname,
                       const axis2_env_t *env)
 {
     axis2_qname_impl_t *qname_impl = NULL;



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