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