blob: e31cc62cdcbfdc6f61c06fcae745c1f4e95e9147 [file] [log] [blame]
/*
* 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_MSG_CTX_H
#define AXIS2_MSG_CTX_H
/**
* @file axis2_msg_ctx.h
* @brief axis2 Message Context interface
*/
#include <axis2_defines.h>
#include <axis2_env.h>
#include <axis2_ctx.h>
#include <axis2_relates_to.h>
#include <axis2_param.h>
#include <axis2_handler_desc.h>
#include <axis2_qname.h>
#include <axis2_msg_info_headers.h>
#ifdef __cplusplus
extern "C"
{
#endif
/** @defgroup axis2_msg_ctx Message Context
* @ingroup axis2_core_context
* @{
*/
/** axis2 transport headers */
#define AXIS2_TRANSPORT_HEADERS "AXIS2_TRANSPORT_HEADERS"
/** axis2 transport in */
#define AXIS2_TRANSPORT_OUT "AXIS2_TRANSPORT_OUT"
/** axis2 transport out */
#define AXIS2_TRANSPORT_IN "AXIS2_TRANSPORT_IN"
/** axis2 character set encoding */
#define AXIS2_CHARACTER_SET_ENCODING "AXIS2_CHARACTER_SET_ENCODING"
/** axis2 UTF_8; This is the 'utf-8' value for AXIS2_CHARACTER_SET_ENCODING property */
#define AXIS2_UTF_8 "UTF-8"
/** axis2 UTF_16; This is the 'utf-16' value for AXIS2_CHARACTER_SET_ENCODING property */
#define AXIS2_UTF_16 "utf-16"
/** axis2 default char set encoding; This is the default value for AXIS2_CHARACTER_SET_ENCODING property */
#define AXIS2_DEFAULT_CHAR_SET_ENCODING "UTF-8"
/** axis2 transport succeeded */
#define AXIS2_TRANSPORT_SUCCEED "AXIS2_TRANSPORT_SUCCEED"
/* HTTP Client */
#define AXIS2_HTTP_CLIENT "AXIS2_HTTP_CLIENT"
#define AXIS2_TRANSPORT_URL "TransportURL"
typedef struct axis2_msg_ctx_ops axis2_msg_ctx_ops_t;
typedef struct axis2_msg_ctx axis2_msg_ctx_t;
struct axis2_svc;
struct axis2_op;
struct axis2_conf_ctx;
struct axis2_svc_grp_ctx;
struct axis2_svc_ctx;
struct axis2_op_ctx;
struct axis2_conf;
struct axiom_soap_envelope;
struct axis2_options;
/**
* @brief Message Context ops struct
* Encapsulator struct for ops of axis2_msg_ctx
*/
struct axis2_msg_ctx_ops
{
struct axis2_ctx* (AXIS2_CALL *
get_base)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
struct axis2_op_ctx* (AXIS2_CALL *
get_parent)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @param context
*/
axis2_status_t (AXIS2_CALL *
set_parent)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
struct axis2_op_ctx *parent);
axis2_status_t (AXIS2_CALL *
free)(axis2_msg_ctx_t *msg_ctx,
const axis2_env_t *env);
/**
* The method is used to do the intialization of the EngineContext
*
*/
axis2_status_t (AXIS2_CALL *
init)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
struct axis2_conf *conf);
/**
* @return
*/
axis2_endpoint_ref_t *(AXIS2_CALL *
get_fault_to)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @return
*/
axis2_endpoint_ref_t *(AXIS2_CALL *
get_from)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @return
*/
axis2_bool_t (AXIS2_CALL *
get_in_fault_flow)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @return
*/
struct axiom_soap_envelope* (AXIS2_CALL *
get_soap_envelope)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
struct axiom_soap_envelope* (AXIS2_CALL *
get_fault_soap_envelope)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @return
*/
axis2_char_t* (AXIS2_CALL *
get_msg_id)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @return
*/
axis2_bool_t (AXIS2_CALL *
get_process_fault)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @return
*/
axis2_relates_to_t* (AXIS2_CALL *
get_relates_to)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @return
*/
axis2_endpoint_ref_t *(AXIS2_CALL *
get_reply_to)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @return
*/
axis2_bool_t (AXIS2_CALL *
get_response_written)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @return
*/
axis2_bool_t (AXIS2_CALL *
get_server_side)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @return
*/
axis2_endpoint_ref_t* (AXIS2_CALL *
get_to)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @param reference
*/
axis2_status_t (AXIS2_CALL *
set_fault_to)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_endpoint_ref_t *reference);
/**
* @param reference
*/
axis2_status_t (AXIS2_CALL *
set_from)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_endpoint_ref_t *reference);
/**
* @param b
*/
axis2_status_t (AXIS2_CALL *
set_in_fault_flow)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_bool_t in_fault_flow);
/**
* @param soap_envelope
*/
axis2_status_t (AXIS2_CALL *
set_soap_envelope)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
struct axiom_soap_envelope *soap_envelope);
axis2_status_t (AXIS2_CALL *
set_fault_soap_envelope)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
struct axiom_soap_envelope *soap_envelope);
/**
* @param string
*/
axis2_status_t (AXIS2_CALL *
set_message_id)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_char_t *message_id);
/**
* @param b
*/
axis2_status_t (AXIS2_CALL *
set_process_fault)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_bool_t process_fault);
/**
* @param reference
*/
axis2_status_t (AXIS2_CALL *
set_relates_to)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_relates_to_t *reference);
/**
* @param referance
*/
axis2_status_t (AXIS2_CALL *
set_reply_to)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_endpoint_ref_t *referance);
/**
* @param b
*/
axis2_status_t (AXIS2_CALL *
set_response_written)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_bool_t response_written);
/**
* @param b
*/
axis2_status_t (AXIS2_CALL *
set_server_side)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_bool_t server_side);
/**
* @param referance
*/
axis2_status_t (AXIS2_CALL *
set_to)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_endpoint_ref_t *referance);
/**
* @return
*/
axis2_bool_t (AXIS2_CALL *
get_new_thread_required)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @param b
*/
axis2_status_t (AXIS2_CALL *
set_new_thread_required)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_bool_t new_thread_required);
/**
* Method AXIS2_CALL getExecutionChain
*/
axis2_status_t (AXIS2_CALL *
set_wsa_action)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
const axis2_char_t *action_uri);
axis2_char_t* (AXIS2_CALL *
get_wsa_action)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
axis2_status_t (AXIS2_CALL *
set_wsa_message_id)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_char_t *message_id);
axis2_char_t* (AXIS2_CALL *
get_wsa_message_id)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
axis2_msg_info_headers_t* (AXIS2_CALL *
get_msg_info_headers)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @return
*/
axis2_bool_t (AXIS2_CALL *
get_paused)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
*/
axis2_status_t (AXIS2_CALL *
set_paused)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_bool_t paused);
/**
* @return
*/
struct axis2_transport_in_desc* (AXIS2_CALL *
get_transport_in_desc)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @return
*/
struct axis2_transport_out_desc* (AXIS2_CALL *
get_transport_out_desc)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @param in
*/
axis2_status_t (AXIS2_CALL *
set_transport_in_desc)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
struct axis2_transport_in_desc *transport_in_desc);
/**
* @param out
*/
axis2_status_t (AXIS2_CALL *
set_transport_out_desc)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
struct axis2_transport_out_desc *transport_out_desc);
struct axis2_op_ctx* (AXIS2_CALL *
get_op_ctx)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @param context
*/
axis2_status_t (AXIS2_CALL *
set_op_ctx)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
struct axis2_op_ctx * op_ctx);
/**
* @return
*/
axis2_bool_t (AXIS2_CALL *
get_output_written)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @param b
*/
axis2_status_t (AXIS2_CALL *
set_output_written)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_bool_t output_written);
/**
* @return Returns the svc_ctx_id.
*/
axis2_char_t* (AXIS2_CALL *
get_svc_ctx_id)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @param svc_ctx_id The svc_ctx_id to AXIS2_CALL set.
*/
axis2_status_t (AXIS2_CALL *
set_svc_ctx_id)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_char_t *svc_ctx_id);
struct axis2_conf_ctx* (AXIS2_CALL *
get_conf_ctx)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @return
*/
struct axis2_svc_ctx* (AXIS2_CALL *
get_svc_ctx)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @param context
*/
axis2_status_t (AXIS2_CALL *
set_conf_ctx)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
struct axis2_conf_ctx *conf_ctx);
/**
* @param context
*/
axis2_status_t (AXIS2_CALL *
set_svc_ctx)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
struct axis2_svc_ctx *svc_ctx);
/**
* @param collection
*/
axis2_status_t (AXIS2_CALL *
set_msg_info_headers)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_msg_info_headers_t *msg_info_headers);
/**
* To retrive configuration descriptor parameters , it is posible to AXIS2_CALL get paramater specify at
* any levle via this method , and the preferance is as follows,
* 1. Search in op description if its there
* 2. if the paramter not found or op_ctx is null will search in
* _svc
* 3. If the svc is null or , the paramter does not found will serach in
* AxisConfiguration
*
* @param key
* @return Paramter <code>Paramter</code>
*/
axis2_param_t* (AXIS2_CALL *
get_parameter)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
const axis2_char_t *key);
/**
* This method is to retrive both module configuration parameters and othere paramerts
* The searching procedure is as follows;
* 1. Search in module configurations inside corresponding op descripton if its three
* 2. Search in corresponding op if its there
* 3. Search in module configurations inside corresponding service description if its there
* 4. Next search in Corresponding Service description if its there
* 5. Next sercah in module configurations inside conf
* 6. Search in axis2_conf_t *for paramters
* 7. Next AXIS2_CALL get the corresponding module and search for the paramters
* 8. Search in axis2_handler_desc_t *for the paramter
* <p/>
* and the way of specifing mdoule configuration is as follows
* <moduleConfig name="addressing">
* <parameter name="addressingPara" locked="false">N/A</parameter>
* </moduleConfig>
*
* @param key : Paramtre Name
* @param module_name : Name of the module
* @param handler_desc <code>HandlerDescription</code>
* @return axis2_param_t *<code>Parameter</code>
*/
axis2_param_t* (AXIS2_CALL *
get_module_parameter)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_char_t *key,
axis2_char_t *module_name,
axis2_handler_desc_t *handler_desc);
/**
* To acess any property AXIS2_CALL set at the run time , a handler can add property to wherever he wants
* to MesageContext , to struct axis2_op_ctx * , to struct axis2_svc_ctx *and to ConfigurationContext.
* This method is to retrive those properties NOT paramters
*
* @param key : property Name
* @param persistent : need to be persistent even when server re-start
* @return Object
*/
axis2_property_t *(AXIS2_CALL *
get_property)(
struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
const axis2_char_t *key,
const axis2_bool_t persistent);
axis2_status_t (AXIS2_CALL *
set_property)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
const axis2_char_t *key,
axis2_property_t *value,
axis2_bool_t persistent);
/**
* @return
*/
axis2_qname_t* (AXIS2_CALL *
get_paused_handler_name)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @return
*/
axis2_char_t* (AXIS2_CALL *
get_paused_phase_name)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @param name
*/
axis2_status_t (AXIS2_CALL *
set_paused_phase_name)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_char_t *paused_phase_name);
/**
* @return
*/
axis2_char_t* (AXIS2_CALL *
get_soap_action)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @param string
*/
axis2_status_t (AXIS2_CALL *
set_soap_action)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_char_t *soap_action);
/**
* @return
*/
axis2_bool_t (AXIS2_CALL *
get_doing_mtom)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @param b
*/
axis2_status_t (AXIS2_CALL *
set_doing_mtom)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_bool_t doing_mtom);
/**
* @return
*/
axis2_bool_t (AXIS2_CALL *
get_doing_rest)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
/**
* @param b
*/
axis2_status_t (AXIS2_CALL *
set_doing_rest)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_bool_t doing_rest);
axis2_status_t (AXIS2_CALL *
set_do_rest_through_post)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_bool_t do_rest_through_post);
axis2_bool_t (AXIS2_CALL *
get_do_rest_through_post)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
axis2_bool_t (AXIS2_CALL *
get_is_soap_11)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
axis2_status_t (AXIS2_CALL *
set_is_soap_11)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_bool_t is_soap11);
struct axis2_svc_grp_ctx* (AXIS2_CALL *
get_svc_grp_ctx)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
axis2_status_t (AXIS2_CALL *
set_svc_grp_ctx)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
struct axis2_svc_grp_ctx *svc_grp_ctx);
struct axis2_op* (AXIS2_CALL *
get_op)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
axis2_status_t (AXIS2_CALL *
set_op)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
struct axis2_op *op);
struct axis2_svc* (AXIS2_CALL *
get_svc)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
axis2_status_t (AXIS2_CALL *
set_svc)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
struct axis2_svc *svc);
struct axis2_svc_grp* (AXIS2_CALL *
get_svc_grp)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
axis2_status_t (AXIS2_CALL *
set_svc_grp)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
struct axis2_svc_grp *svc_grp);
axis2_char_t* (AXIS2_CALL *
get_svc_grp_ctx_id)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env);
axis2_status_t (AXIS2_CALL *
set_svc_grp_ctx_id)(struct axis2_msg_ctx *msg_ctx,
const axis2_env_t *env,
axis2_char_t *svc_grp_ctx_id);
/**
* finds the service
*
* @param messageContext
* @return
*/
struct axis2_svc* (AXIS2_CALL *
find_svc)(axis2_msg_ctx_t *msg_ctx,
const axis2_env_t *env);
/**
* finds the op
*
* @param service
* @param msg_ctx
* @return
*/
struct axis2_op* (AXIS2_CALL *
find_op)(axis2_msg_ctx_t *msg_ctx,
const axis2_env_t *env,
struct axis2_svc *svc);
/**
* @return
*/
axis2_bool_t (AXIS2_CALL *
is_paused) (axis2_msg_ctx_t *msg_ctx,
const axis2_env_t *env);
axis2_status_t (AXIS2_CALL *
set_options )(
axis2_msg_ctx_t *msg_ctx,
const axis2_env_t *env,
struct axis2_options *options);
};
/**
* @brief Message Context struct
* Axis2 Message Context
*/
struct axis2_msg_ctx
{
axis2_msg_ctx_ops_t *ops;
};
AXIS2_EXTERN axis2_msg_ctx_t * AXIS2_CALL
axis2_msg_ctx_create (const axis2_env_t *env,
struct axis2_conf_ctx *conf_ctx,
struct axis2_transport_in_desc *transport_in_desc,
struct axis2_transport_out_desc *transport_out_des);
/************************** Start of function macros **************************/
#define AXIS2_MSG_CTX_GET_BASE(msg_ctx, env) \
((msg_ctx)->ops->get_base(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_PARENT(msg_ctx, env) \
((msg_ctx)->ops->get_parent(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_PARENT(msg_ctx, env, parent) \
((msg_ctx)->ops->get_parent(msg_ctx, env, parent))
#define AXIS2_MSG_CTX_FREE(msg_ctx, env) \
((msg_ctx)->ops->free(msg_ctx, env))
#define AXIS2_MSG_CTX_INIT(msg_ctx, env, conf) \
((msg_ctx)->ops->init(msg_ctx, env, conf))
#define AXIS2_MSG_CTX_GET_FAULT_TO(msg_ctx, env) \
((msg_ctx)->ops->get_fault_to(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_FROM(msg_ctx, env) \
((msg_ctx)->ops->get_from(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_IN_FAULT_FLOW(msg_ctx, env) \
((msg_ctx)->ops->get_in_fault_flow(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_SOAP_ENVELOPE(msg_ctx, env) \
((msg_ctx)->ops->get_soap_envelope(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_FAULT_SOAP_ENVELOPE(msg_ctx, env) \
((msg_ctx)->ops->get_fault_soap_envelope(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_MSG_ID(msg_ctx, env) \
((msg_ctx)->ops->get_msg_id(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_PROCESS_FAULT(msg_ctx, env) \
((msg_ctx)->ops->get_process_fault(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_RELATES_TO(msg_ctx, env) \
((msg_ctx)->ops->get_relates_to(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_REPLY_TO(msg_ctx, env) \
((msg_ctx)->ops->get_reply_to(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_RESPONSE_WRITTEN(msg_ctx, env) \
((msg_ctx)->ops->get_response_written(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_SERVER_SIDE(msg_ctx, env) \
((msg_ctx)->ops->get_server_side(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_TO(msg_ctx, env) \
((msg_ctx)->ops->get_to(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_FAULT_TO(msg_ctx, env, reference) \
((msg_ctx)->ops->set_fault_to(msg_ctx, env, reference))
#define AXIS2_MSG_CTX_SET_FROM(msg_ctx, env, reference) \
((msg_ctx)->ops->set_from(msg_ctx, env, reference))
#define AXIS2_MSG_CTX_SET_IN_FAULT_FLOW(msg_ctx, env, in_fault_flow) \
((msg_ctx)->ops->get_in_fault_flow(msg_ctx, env, in_fault_flow))
#define AXIS2_MSG_CTX_SET_SOAP_ENVELOPE(msg_ctx, env, soap_envelope) \
((msg_ctx)->ops->set_soap_envelope(msg_ctx, env, soap_envelope))
#define AXIS2_MSG_CTX_SET_FAULT_SOAP_ENVELOPE(msg_ctx, env, soap_envelope) \
((msg_ctx)->ops->set_fault_soap_envelope(msg_ctx, env, soap_envelope))
#define AXIS2_MSG_CTX_SET_MESSAGE_ID(msg_ctx, env, message_id) \
((msg_ctx)->ops->set_message_id(msg_ctx, env, message_id))
#define AXIS2_MSG_CTX_SET_PROCESS_FAULT(msg_ctx, env, process_fault) \
((msg_ctx)->ops->set_process_fault(msg_ctx, env, process_fault))
#define AXIS2_MSG_CTX_SET_RELATES_TO(msg_ctx, env, reference) \
((msg_ctx)->ops->set_relates_to(msg_ctx, env, reference))
#define AXIS2_MSG_CTX_SET_REPLY_TO(msg_ctx, env, reference) \
((msg_ctx)->ops->set_reply_to(msg_ctx, env, reference))
#define AXIS2_MSG_CTX_SET_RESPONSE_WRITTEN(msg_ctx, env, response_written) \
((msg_ctx)->ops->set_response_written(msg_ctx, env, response_written))
#define AXIS2_MSG_CTX_SET_SERVER_SIDE(msg_ctx, env, server_side) \
((msg_ctx)->ops->set_server_side(msg_ctx, env, server_side))
#define AXIS2_MSG_CTX_SET_TO(msg_ctx, env, reference) \
((msg_ctx)->ops->set_to(msg_ctx, env, reference))
#define AXIS2_MSG_CTX_GET_NEW_THREAD_REQUIRED(msg_ctx, env) \
((msg_ctx)->ops->set_response_written(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_NEW_THREAD_REQUIRED(msg_ctx, env, new_thread_required) \
((msg_ctx)->ops->set_response_written(msg_ctx, env, new_thread_required))
#define AXIS2_MSG_CTX_SET_WSA_ACTION(msg_ctx, env, action_uri) \
((msg_ctx)->ops->set_wsa_action(msg_ctx, env, action_uri))
#define AXIS2_MSG_CTX_GET_WSA_ACTION(msg_ctx, env) \
((msg_ctx)->ops->get_wsa_action(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_WSA_MESSAGE_ID(msg_ctx, env, message_id) \
((msg_ctx)->ops->set_wsa_message_id(msg_ctx, env, message_id))
#define AXIS2_MSG_CTX_GET_WSA_MESSAGE_ID(msg_ctx, env) \
((msg_ctx)->ops->get_wsa_message_id(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_MSG_INFO_HEADERS(msg_ctx, env) \
((msg_ctx)->ops->get_msg_info_headers(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_PAUSED(msg_ctx, env) \
((msg_ctx)->ops->get_paused(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_PAUSED(msg_ctx, env, paused) \
((msg_ctx)->ops->set_paused(msg_ctx, env, paused))
#define AXIS2_MSG_CTX_GET_TRANSPORT_IN_DESC(msg_ctx, env) \
((msg_ctx)->ops->get_transport_in_desc(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_TRANSPORT_OUT_DESC(msg_ctx, env) \
((msg_ctx)->ops->get_transport_out_desc(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_TRANSPORT_IN_DESC(msg_ctx, env, transport_in_desc) \
((msg_ctx)->ops->set_transport_in_desc(msg_ctx, env, transport_in_desc))
#define AXIS2_MSG_CTX_SET_TRANSPORT_OUT_DESC(msg_ctx, env, transport_out_desc) \
((msg_ctx)->ops->set_transport_out_desc(msg_ctx, env, transport_out_desc))
#define AXIS2_MSG_CTX_GET_OP_CTX(msg_ctx, env) \
((msg_ctx)->ops->get_op_ctx(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_OP_CTX(msg_ctx, env, op_ctx) \
((msg_ctx)->ops->set_op_ctx(msg_ctx, env, op_ctx))
#define AXIS2_MSG_CTX_GET_OUTPUT_WRITTEN(msg_ctx, env) \
((msg_ctx)->ops->get_output_written(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_OUTPUT_WRITTEN(msg_ctx, env, output_written) \
((msg_ctx)->ops->set_output_written(msg_ctx, env, output_written))
#define AXIS2_MSG_CTX_GET_SVC_CTX_ID(msg_ctx, env) \
((msg_ctx)->ops->get_svc_ctx_id(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_SVC_CTX_ID(msg_ctx, env, svc_ctx_id) \
((msg_ctx)->ops->set_svc_ctx_id(msg_ctx, env, svc_ctx_id))
#define AXIS2_MSG_CTX_GET_CONF_CTX(msg_ctx, env) \
((msg_ctx)->ops->get_conf_ctx(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_CONF_CTX(msg_ctx, env, conf_ctx) \
((msg_ctx)->ops->set_conf_ctx(msg_ctx, env, conf_ctx))
#define AXIS2_MSG_CTX_GET_SVC_CTX(msg_ctx, env) \
((msg_ctx)->ops->get_svc_ctx(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_SVC_CTX(msg_ctx, env, svc_ctx) \
((msg_ctx)->ops->set_svc_ctx(msg_ctx, env, svc_ctx))
#define AXIS2_MSG_CTX_SET_MSG_INFO_HEADERS(msg_ctx, env, msg_info_headers) \
((msg_ctx)->ops->set_msg_info_headers(msg_ctx, env, msg_info_headers))
#define AXIS2_MSG_CTX_GET_PARAMETER(msg_ctx, env, key) \
((msg_ctx)->ops->get_parameter(msg_ctx, env, key))
#define AXIS2_MSG_CTX_GET_MODULE_PARAMETER(msg_ctx, env, key, module_name, handler_desc) \
((msg_ctx)->ops->get_module_parameter(msg_ctx, env, key, module_name, handler_desc))
#define AXIS2_MSG_CTX_GET_PROPERTY(msg_ctx, env, key, persistent) \
((msg_ctx)->ops->get_property(msg_ctx, env, key, persistent))
#define AXIS2_MSG_CTX_SET_PROPERTY(msg_ctx, env, key, value, persistent) \
((msg_ctx)->ops->set_property(msg_ctx, env, key, value, persistent))
#define AXIS2_MSG_CTX_GET_PAUSED_HANDLER_NAME(msg_ctx, env) \
((msg_ctx)->ops->get_paused_handler_name(msg_ctx, env))
#define AXIS2_MSG_CTX_GET_PAUSED_PHASE_NAME(msg_ctx, env) \
((msg_ctx)->ops->get_paused_phase_name(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_PAUSED_PHASE_NAME(msg_ctx, env, paused_phase_name) \
((msg_ctx)->ops->set_paused_phase_name(msg_ctx, env, paused_phase_name))
#define AXIS2_MSG_CTX_GET_SOAP_ACTION(msg_ctx, env) \
((msg_ctx)->ops->get_soap_action(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_SOAP_ACTION(msg_ctx, env, soap_action) \
((msg_ctx)->ops->set_soap_action(msg_ctx, env, soap_action))
#define AXIS2_MSG_CTX_GET_DOING_MTOM(msg_ctx, env) \
((msg_ctx)->ops->get_doing_mtom(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_DOING_MTOM(msg_ctx, env, doing_mtom) \
((msg_ctx)->ops->set_doing_mtom(msg_ctx, env, doing_mtom))
#define AXIS2_MSG_CTX_GET_DOING_REST(msg_ctx, env) \
((msg_ctx)->ops->get_doing_rest(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_DOING_REST(msg_ctx, env, doing_rest) \
((msg_ctx)->ops->set_doing_rest(msg_ctx, env, doing_rest))
#define AXIS2_MSG_CTX_SET_DO_REST_THROUGH_POST(msg_ctx, env, do_rest_through_post) \
((msg_ctx)->ops->set_do_rest_through_post(msg_ctx, env, do_rest_through_post))
#define AXIS2_MSG_CTX_GET_IS_SOAP_11(msg_ctx, env) \
((msg_ctx)->ops->get_is_soap_11(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_IS_SOAP_11(msg_ctx, env, is_soap11) \
((msg_ctx)->ops->set_is_soap_11(msg_ctx, env, is_soap11))
#define AXIS2_MSG_CTX_GET_SVC_GRP_CTX(msg_ctx, env) \
((msg_ctx)->ops->get_svc_grp_ctx(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_SVC_GRP_CTX(msg_ctx, env, svc_grp_ctx) \
((msg_ctx)->ops->set_svc_grp_ctx(msg_ctx, env, svc_grp_ctx))
#define AXIS2_MSG_CTX_GET_OP(msg_ctx, env) \
((msg_ctx)->ops->get_op(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_OP(msg_ctx, env, op) \
((msg_ctx)->ops->set_op(msg_ctx, env, op))
#define AXIS2_MSG_CTX_GET_SVC(msg_ctx, env) \
((msg_ctx)->ops->get_svc(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_SVC(msg_ctx, env, svc) \
((msg_ctx)->ops->set_svc(msg_ctx, env, svc))
#define AXIS2_MSG_CTX_GET_SVC_GRP(msg_ctx, env) \
((msg_ctx)->ops->get_svc_grp(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_SVC_GRP(msg_ctx, env, svc_grp) \
((msg_ctx)->ops->set_svc_grp(msg_ctx, env, svc_grp))
#define AXIS2_MSG_CTX_GET_SVC_GRP_CTX_ID(msg_ctx, env) \
((msg_ctx)->ops->get_svc_grp_ctx_id(msg_ctx, env))
#define AXIS2_MSG_CTX_SET_SVC_GRP_CTX_ID(msg_ctx, env, svc_grp_ctx_id) \
((msg_ctx)->ops->set_svc_grp_ctx_id(msg_ctx, env, svc_grp_ctx_id))
#define AXIS2_MSG_CTX_IS_PAUSED(msg_ctx, env) \
((msg_ctx)->ops->is_paused(msg_ctx, env))
#define AXIS2_MSG_CTX_FIND_SVC(msg_ctx, env) \
((msg_ctx)->ops->find_svc(msg_ctx, env))
#define AXIS2_MSG_CTX_FIND_OP(msg_ctx, env, svc) \
((msg_ctx)->ops->find_op(msg_ctx, env, svc))
#define AXIS2_MSG_CTX_SET_OPTIONS(msg_ctx, env, options) \
((msg_ctx)->ops->set_options(msg_ctx, env, options))
/************************** End of function macros ****************************/
/** @} */
#ifdef __cplusplus
}
#endif
#endif /* AXIS2_MSG_CTX_H */