axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sam...@apache.org
Subject svn commit: r494687 [2/4] - in /webservices/axis2/trunk/c: include/ modules/core/context/ modules/core/engine/
Date Wed, 10 Jan 2007 02:11:16 GMT
Modified: webservices/axis2/trunk/c/include/axis2_msg_ctx.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/include/axis2_msg_ctx.h?view=diff&rev=494687&r1=494686&r2=494687
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_msg_ctx.h (original)
+++ webservices/axis2/trunk/c/include/axis2_msg_ctx.h Tue Jan  9 18:11:15 2007
@@ -97,8 +97,6 @@
 /** Out fault flow */
 /*#define AXIS2_OUT_FAULT_FLOW 4*/
 
-    /** Type name for struct axis2_msg_ctx_ops */
-    typedef struct axis2_msg_ctx_ops axis2_msg_ctx_ops_t;
     /** Type name for struct axis2_msg_ctx */
     typedef struct axis2_msg_ctx axis2_msg_ctx_t;
 
@@ -112,1299 +110,8 @@
     struct axis2_conf;
     struct axiom_soap_envelope;
     struct axis2_options;
-
-    /**
-     * message context ops struct.
-     * Encapsulator struct for ops of axis2_msg_ctx.
-     */
-    struct axis2_msg_ctx_ops
-    {
-        /**
-         * Gets the base, which is of type context.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to base context struct
-         */
-        axis2_ctx_t *(AXIS2_CALL *
-                get_base)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets parent. Parent of a message context is of type operation.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to operation which is the parent
-         */
-        struct axis2_op_ctx *(AXIS2_CALL *
-                get_parent)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets parent. Parent of a message context is of type operation.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param parent pointer to parent operation
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_parent)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axis2_op_ctx *parent);
-
-        /**
-         * Frees message context.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                free)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Initializes the message context. Based on the transport, service and
-         * operation qnames set on top of message context, correct instances of 
-         * those struct instances would be extracted from configuration and 
-         * set within message context.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param conf pointer to configuration
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                init)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axis2_conf *conf);
-
-        /**
-         * Gets WS-Addressing fault to address. Fault to address tells where to 
-         * send the fault in case there is an error.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to endpoint reference struct representing the fault 
-         * to address, returns a reference not a cloned copy
-         */
-        axis2_endpoint_ref_t *(AXIS2_CALL *
-                get_fault_to)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets WS-Addressing from endpoint. From address tells where the 
-         * request came from.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to endpoint reference struct representing the from 
-         * address, returns a reference not a cloned copy
-         */
-        axis2_endpoint_ref_t *(AXIS2_CALL *
-                get_from)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Checks if there is a SOAP fault on in flow.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return AXIS2_TRUE if there is an in flow fault, else AXIS2_FALSE
-         */
-        axis2_bool_t (AXIS2_CALL *
-                get_in_fault_flow)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets the SOAP envelope. This SOAP envelope could be either request
-         * SOAP envelope or the response SOAP envelope, based on the state
-         * the message context is in.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to SOAP envelope stored within message context
-         */
-        struct axiom_soap_envelope *(AXIS2_CALL *
-                get_soap_envelope)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets fault SOAP envelope.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to fault SOAP envelope stored within message context
-         */
-        struct axiom_soap_envelope *(AXIS2_CALL *
-                get_fault_soap_envelope)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets message ID.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return message ID string corresponding to the message the message 
-         * context is related to
-         */
-        const axis2_char_t *(AXIS2_CALL *
-                get_msg_id)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets process fault status.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return AXIS2_TRUE if process fault is on, else AXIS2_FALSE
-         */
-        axis2_bool_t (AXIS2_CALL *
-                get_process_fault)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets relates to information for the message context.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to relates to struct 
-         */
-        axis2_relates_to_t *(AXIS2_CALL *
-                get_relates_to)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets WS-Addressing reply to endpoint. Reply to address tells where 
-         * the the response should be sent to.         
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to endpoint reference struct representing the reply 
-         * to address, returns a reference not a cloned copy
-         */
-        axis2_endpoint_ref_t *(AXIS2_CALL *
-                get_reply_to)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Checks the response status, whether it is written or not.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return AXIS2_TRUE if response is already written, else AXIS2_FALSE         
-         */
-        axis2_bool_t (AXIS2_CALL *
-                get_response_written)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Checks if it is on the server side that the message is being dealt 
-         * with, or on the client side.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return AXIS2_TRUE if it is server side, AXIS2_FALSE if it is client
-         * side
-         */
-        axis2_bool_t (AXIS2_CALL *
-                get_server_side)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets WS-Addressing to endpoint. To address tells where message should 
-         * be sent to.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to endpoint reference struct representing the 
-         * to address, returns a reference not a cloned copy
-         */
-        axis2_endpoint_ref_t *(AXIS2_CALL *
-                get_to)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets WS-Addressing fault to endpoint. Fault to address tells where 
-         * the fault message should be sent when there is an error.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param reference pointer to endpoint reference representing fault to 
-         * address. message context assumes the ownership of endpoint struct
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_fault_to)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    axis2_endpoint_ref_t *reference);
-
-        /**
-         * Sets WS-Addressing from endpoint. From address tells where 
-         * the message came from.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param reference pointer to endpoint reference representing from 
-         * address. message context assumes the ownership of endpoint struct
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_from)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    axis2_endpoint_ref_t *reference);
-
-        /**
-         * Sets in fault flow status. 
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param in_fault_flow AXIS2_TRUE if there is a fault on in path, 
-         * else AXIS2_FALSE
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_in_fault_flow)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_bool_t in_fault_flow);
-
-        /**
-         * Sets SOAP envelope. The fact that if it is the request SOAP envelope
-         * or that of response depends on the current status represented by 
-         * message context.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param soap_envelope pointer to SOAP envelope, message context
-         * assumes ownership of SOAP envelope
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_soap_envelope)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axiom_soap_envelope *soap_envelope);
-
-        /**
-         * Sets fault SOAP envelope.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param soap_envelope pointer to SOAP envelope, message context
-         * assumes ownership of SOAP envelope
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_fault_soap_envelope)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axiom_soap_envelope *soap_envelope);
-
-        /**
-         * Sets message ID.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param message_id message ID string
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_message_id)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_char_t *message_id);
-
-        /**
-         * Sets process fault bool value.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param process_fault AXIS2_TRUE if SOAP faults are to be processed,
-         * else AXIS2_FALSE
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_process_fault)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_bool_t process_fault);
-
-        /**
-         * Sets relates to struct.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param reference pointer to relates to struct, message context 
-         * assumes ownership of the struct
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_relates_to)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    axis2_relates_to_t *reference);
-
-        /**
-         * Sets WS-Addressing reply to address indicating the location to which
-         * the reply would be sent.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param reference pointer to endpoint reference representing reply to 
-         * address         
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_reply_to)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    axis2_endpoint_ref_t *referance);
-
-        /**
-         * Sets the bool value indicating the status of response.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param response_written AXIS2_TRUE if response is written, else 
-         * AXIS2_FALSE
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_response_written)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_bool_t response_written);
-
-        /**
-         * Sets the bool value indicating if it is the server side or the
-         * client side.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param server_side AXIS2_TRUE if it is server side, AXIS2_FALSE if it
-         * is client side
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_server_side)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_bool_t server_side);
-
-        /**
-         * Sets WS-Addressing to address.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param reference pointer to endpoint reference struct representing
-         * the address where the request should be sent to. message context
-         * assumes ownership of endpoint struct
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_to)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    axis2_endpoint_ref_t *referance);
-
-        /**
-         * Gets the bool value indicating if it is required to have a new thread
-         * for the invocation, or if the same thread of execution could be used.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return AXIS2_TRUE if new thread is required, else AXIS2_FALSE
-         */
-        axis2_bool_t (AXIS2_CALL *
-                get_new_thread_required)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets the bool value indicating if it is required to have a new thread
-         * for the invocation, or if the same thread of execution could be used.         
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param new_thread_required AXIS2_TRUE if a new thread is required, 
-         * else AXIS2_FALSE
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_new_thread_required)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_bool_t new_thread_required);
-
-        /**
-         * Sets WS-Addressing action. 
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param action_uri WSA action URI string
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_wsa_action)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_char_t *action_uri);
-
-        /**
-         * Gets WS-Addressing action.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to WSA action URI string
-         */
-        const axis2_char_t *(AXIS2_CALL *
-                get_wsa_action)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets WS-Addressing message ID.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param message_id pointer to message ID string
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_wsa_message_id)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_char_t *message_id);
-
-        /**
-         * Gets WS-Addressing message ID. 
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return WSA message ID string
-         */
-        const axis2_char_t *(AXIS2_CALL *
-                get_wsa_message_id)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets WS-Addressing message information headers.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to message information headers struct with 
-         * WS-Addressing information. Returns a reference, not a cloned copy
-         */
-        axis2_msg_info_headers_t *(AXIS2_CALL *
-                get_msg_info_headers)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets the bool value indicating the paused status. It is possible 
-         * to pause the engine invocation by any handler. By calling this method
-         * one can find out if some handler has paused the invocation.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return AXIS2_TRUE if message context is paused, else AXIS2_FALSE
-         */
-        axis2_bool_t (AXIS2_CALL *
-                get_paused)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets the bool value indicating the paused status of invocation.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param paused paused
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_paused)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_bool_t paused);
-
-        /**
-         * Gets the bool value indicating the keep value status. It is possible 
-         * to keep alive the message context by any handler. By calling this method
-         * one can see whether it is possible to clean the message context.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return AXIS2_TRUE if message context is keep alive, else AXIS2_FALSE
-         */
-        axis2_bool_t (AXIS2_CALL *
-                is_keep_alive)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets the bool value indicating the keep alive status of invocation.
-         * By setting this one can indicate the engine not to clean the message 
-         * context.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param keep_alive keep alive
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_keep_alive)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_bool_t keep_alive);
-
-
-        /**
-         * Gets transport in description.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to transport in description struct, returns a 
-         * reference not a cloned copy
-         */
-        struct axis2_transport_in_desc *(AXIS2_CALL *
-                get_transport_in_desc)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets transport out description.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to transport out description struct, returns a 
-         * reference not a cloned copy
-         */
-        struct axis2_transport_out_desc *(AXIS2_CALL *
-                get_transport_out_desc)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets transport in description.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param transport_in_desc pointer to transport in description struct,
-         * message context does not assume the ownership of the struct
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_transport_in_desc)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axis2_transport_in_desc *transport_in_desc);
-
-        /**
-         * Sets transport out description.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param transport_out_desc pointer to transport out description,
-         * message context does not assume the ownership of the struct
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_transport_out_desc)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axis2_transport_out_desc *transport_out_desc);
-
-        /**
-         * Gets operation context related to the operation that this message
-         * context is related to.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to operation context struct
-         */
-        struct axis2_op_ctx *(AXIS2_CALL *
-                get_op_ctx)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets operation context related to the operation that this message
-         * context is related to.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param op_ctx pointer to operation context, message context does not 
-         * assume the ownership of operation context
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_op_ctx)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axis2_op_ctx *op_ctx);
-
-        /**
-         * Gets the bool value indicating the output written status. 
-         * @param msg_ctx message context
-         * @param env pointer to environment struct 
-         * @return AXIS2_TRUE if output is written, else AXIS2_FALSE
-         */
-        axis2_bool_t (AXIS2_CALL *
-                get_output_written)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets the bool value indicating the output written status. 
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param output_written AXIS2_TRUE if output is written, else AXIS2_FALSE
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_output_written)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_bool_t output_written);
-
-        /**
-         * Gets the ID of service context that relates to the service that is 
-         * related to the message context.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return service context ID string
-         */
-        const axis2_char_t *(AXIS2_CALL *
-                get_svc_ctx_id)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets the ID of service context that relates to the service that is 
-         * related to the message context.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param svc_ctx_id The service context ID string
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_svc_ctx_id)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_char_t *svc_ctx_id);
-
-        /**
-         * Gets configuration context.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to configuration context
-         */
-        struct axis2_conf_ctx *(AXIS2_CALL *
-                get_conf_ctx)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets service context that relates to the service that the message 
-         * context is related to.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to message context struct
-         */
-        struct axis2_svc_ctx *(AXIS2_CALL *
-                get_svc_ctx)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets configuration context.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param conf_ctx pointer to configuration context struct, message 
-         * context does not assume the ownership of struct
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_conf_ctx)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axis2_conf_ctx *conf_ctx);
-
-        /**
-         * Sets service context.                     
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param svc_ctx pointer to service context struct,  message 
-         * context does not assume the ownership of struct
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_svc_ctx)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axis2_svc_ctx *svc_ctx);
-
-        /**
-         * Sets message information headers.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param msg_info_headers pointer to message information headers,
-         * message context assumes the ownership of the struct
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_msg_info_headers)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    axis2_msg_info_headers_t *msg_info_headers);
-
-        /**
-         * Gets configuration descriptor parameter with given key. This method 
-         * recursively search the related description hierarchy for the parameter 
-         * with given key until it is found or the parent of the description 
-         * hierarchy is reached. The order of search is as follows:
-         * 1. search in operation description, if its there return
-         * 2. if the parameter is not found in operation or operation is NULL, 
-         * search in service
-         * 3. if the parameter is not found in service or service is NULL search 
-         * in configuration
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param key parameter key  
-         * @return pointer to parameter struct corresponding to the given key
-         */
-        axis2_param_t *(AXIS2_CALL *
-                get_parameter)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_char_t *key);
-
-        /**
-         * Gets parameters related to a named module and a given handler 
-         * description. The order of searching for parameter is as follows:
-         * 1. search in module configuration stored inside corresponding operation 
-         * description if its there
-         * 2. search in corresponding operation if its there
-         * 3. search in module configurations stored inside corresponding 
-         * service description if its there
-         * 4. search in corresponding service description if its there
-         * 5. search in module configurations stored inside configuration
-         * 6. search in configuration for parameters
-         * 7. get the corresponding module and search for the parameters
-         * 8. search in handler description for the parameter
-         * @param msg_ctx pointer to message context
-         * @param env pointer to environment struct
-         * @param key parameter key
-         * @param module_name name of the module
-         * @param handler_desc pointer to handler description
-         * @return pointer to parameter 
-         */
-        axis2_param_t *(AXIS2_CALL *
-                get_module_parameter)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_char_t *key,
-                    const axis2_char_t *module_name,
-                    axis2_handler_desc_t *handler_desc);
-
-        /**
-         * Gets property corresponding to the given key.
-         * @param msg_ctx pointer to message context
-         * @param env pointer to environment struct
-         * @param key key string with which the property is stored
-         * @param persistent AXIS2_TRUE if the property is to be retrieved from
-         * persistent map, AXIS2_FALSE if the property is to be retrieved from
-         * non-persistent map
-         * @return pointer to property struct
-         */
-        axis2_property_t *(AXIS2_CALL *
-                get_property)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_char_t *key,
-                    const axis2_bool_t persistent);
-
-        /**
-         * Sets property with given key.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param key key string
-         * @param value property to be stored
-         * @param persistent AXIS2_TRUE if the property is to be stored in
-         * persistent map, AXIS2_FALSE if the property is to be stored in 
-         * non-persistent map
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_property)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_char_t *key,
-                    axis2_property_t *value,
-                    const axis2_bool_t persistent);
-        /**
-         * Gets the QName of the handler at which invocation was paused.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to QName of the paused handler
-         */
-        const axis2_qname_t *(AXIS2_CALL *
-                get_paused_handler_name)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets the name of the phase at which the invocation was paused.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return name string of the paused phase.
-         */
-        const axis2_char_t *(AXIS2_CALL *
-                get_paused_phase_name)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets the name of the phase at which the invocation was paused.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param paused_phase_name paused phase name string
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_paused_phase_name)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_char_t *paused_phase_name);
-
-        /**
-         * Gets SOAP action.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return SOAP action string
-         */
-        const axis2_char_t *(AXIS2_CALL *
-                get_soap_action)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets SOAP action.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param soap_action SOAP action string
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_soap_action)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_char_t *soap_action);
-
-        /**
-         * Gets the boolean value indicating if MTOM is enabled or not.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return AXIS2_TRUE if MTOM is enabled, else AXIS2_FALSE
-         */
-        axis2_bool_t (AXIS2_CALL *
-                get_doing_mtom)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets the boolean value indicating if MTOM is enabled or not.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param doing_mtom AXIS2_TRUE if MTOM is enabled, else AXIS2_FALSE
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_doing_mtom)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_bool_t doing_mtom);
-
-        /**
-         * Gets the boolean value indicating if REST is enabled or not.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return AXIS2_TRUE if REST is enabled, else AXIS2_FALSE
-         */
-        axis2_bool_t (AXIS2_CALL *
-                get_doing_rest)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets the boolean value indicating if REST is enabled or not.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param doing_rest AXIS2_TRUE if REST is enabled, else AXIS2_FALSE
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_doing_rest)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_bool_t doing_rest);
-
-        /**
-         * Sets the boolean value indicating if REST should be done through 
-         * HTTP POST or HTTP GET.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param do_rest_through_post AXIS2_TRUE if REST is to be done with 
-         * HTTP POST, else AXIS2_FALSE if REST is to be done with HTTP GET
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_do_rest_through_post)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_bool_t do_rest_through_post);
-
-
-        /**
-         * Sets the boolean value indicating if REST should be done through 
-         * HTTP POST or HTTP GET.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return AXIS2_TRUE if REST is to be done with HTTP POST, else 
-         * AXIS2_FALSE if REST is to be done with HTTP GET
-         */
-        axis2_bool_t (AXIS2_CALL *
-                get_do_rest_through_post)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets the bool value indicating the SOAP version being used either
-         * SOAP 1.1 or SOAP 1.2
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return AXIS2_TRUE if SOAP 1.1 is being used, else AXIS2_FALSE if 
-         * SOAP 1.2 is being used
-         */
-        axis2_bool_t (AXIS2_CALL *
-                get_is_soap_11)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets the bool value indicating the SOAP version being used either
-         * SOAP 1.1 or SOAP 1.2
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param is_soap11 AXIS2_TRUE if SOAP 1.1 is being used, else 
-         * AXIS2_FALSE if SOAP 1.2 is being used
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_is_soap_11)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_bool_t is_soap11);
-
-        /**
-         * Gets service group context. The returned service group context 
-         * relates to the service group to which the service, related to the 
-         * message context, belongs.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to service group struct
-         */
-        struct axis2_svc_grp_ctx *(AXIS2_CALL *
-                get_svc_grp_ctx)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets service group context. The returned service group context 
-         * relates to the service group to which the service, related to the 
-         * message context, belongs.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param svc_grp_ctx pointer to service group context
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_svc_grp_ctx)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axis2_svc_grp_ctx *svc_grp_ctx);
-
-
-        /**
-         * Gets the operation that is to be invoked.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to operation, returns a reference not a cloned copy
-         */
-        struct axis2_op *(AXIS2_CALL *
-                get_op)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-
-        /**
-         * Sets the operation that is to be invoked.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param op pointer to operation, message context does not assume the 
-         * ownership of operation
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_op)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axis2_op *op);
-
-
-        /**
-         * Gets the service to which the operation to be invoked belongs.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to service struct, returns a reference not a cloned copy
-         */
-        struct axis2_svc *(AXIS2_CALL *
-                get_svc)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-
-        /**
-         * Sets the service to which the operation to be invoked belongs.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param svc pointer to service struct, message context does not assume
-         * the ownership of struct
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_svc)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axis2_svc *svc);
-
-        /**
-         * Gets the service group to which the service to be invoked belongs.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to service group struct, returns a reference not 
-         * a cloned copy
-         */
-        struct axis2_svc_grp *(AXIS2_CALL *
-                 get_svc_grp)(
-                     const axis2_msg_ctx_t *msg_ctx,
-                     const axis2_env_t *env);
-
-        /**
-         * Sets the service group to which the service to be invoked belongs.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param svc_grp pointer to service group struct, message context does 
-         * not assume the ownership of the struct
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_svc_grp)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axis2_svc_grp *svc_grp);
-
-
-        /**
-         * Gets the service group context ID.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return service group context ID string
-         */
-        const axis2_char_t *(AXIS2_CALL *
-                get_svc_grp_ctx_id)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets the service group context ID.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param svc_grp_ctx_id service group context ID string 
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_svc_grp_ctx_id)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const axis2_char_t *svc_grp_ctx_id);
-
-        /**
-         * Finds the service to be invoked. This function is used by dispatchers 
-         * to locate the service to be invoked.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer to service to be invoked
-         */
-        struct axis2_svc *(AXIS2_CALL *
-                find_svc)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-        /**
-         * Finds the operation to be invoked in the given service. This function 
-         * is used by dispatchers to locate the operation to be invoked.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param svc pointer to service to whom the operation belongs 
-         * @return pointer to the operation to be invoked
-         */
-        struct axis2_op *(AXIS2_CALL *
-                find_op)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axis2_svc *svc);
-
-        /**
-         * Gets the bool value indicating the paused status.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return AXIS2_TRUE if invocation is paused, else AXIS2_FALSE
-         */
-        axis2_bool_t (AXIS2_CALL *
-                is_paused)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets the options to be used in invocation.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param options pointer to options struct , message context does not 
-         * assume the ownership of the struct
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_options )(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    struct axis2_options *options);
-        
-        /**
-         * Sets the flow to be invoked.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param flow int value indicating the flow
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_flow )(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    int flow);
-
-        /**
-         * Gets the flow to be invoked.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return int value indicating the flow
-         */
-        int (AXIS2_CALL *
-                get_flow )(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets the execution chain to be invoked. The execution chain is a 
-         * list of phases containing the handlers to be invoked.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param execution_chain pointer array list containing the list of 
-         * handlers that constitute the execution chain. message context does
-         * not assume the ownership of the array list
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_execution_chain)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    axis2_array_list_t *execution_chain);
-
-        /**
-         * Gets the execution chain to be invoked. The execution chain is a 
-         * list of phases containing the handlers to be invoked.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return pointer array list containing the list of handlers that 
-         * constitute the execution chain. message context does not assume 
-         * the ownership of the array list
-         */
-        axis2_array_list_t *(AXIS2_CALL *
-                get_execution_chain)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Sets current handler index, indicating which handler is currently 
-         * being invoked in the execution chain
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param index index of currently executed handler
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_current_handler_index)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const int index);
-
-        /**
-         * Gets current handler index, indicating which handler is currently 
-         * being invoked in the execution chain         
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return index of currently executed handler
-         */
-        int (AXIS2_CALL *
-                get_current_handler_index)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-       /**
-        * Gets paused handler index, indicating at which handler the execution 
-        * chain was paused.
-        * @param msg_ctx message context
-        * @param env pointer to environment struct
-        * @return index of handler at which invocation was paused
-        */
-        int (AXIS2_CALL *
-                get_paused_handler_index)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-
-        /**
-         * Sets index of the current phase being invoked.        
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @param index index of current phase
-         * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-         */
-        axis2_status_t (AXIS2_CALL *
-                set_current_phase_index)(
-                    axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env,
-                    const int index);
-
-        /**
-         * Gets index of the current phase being invoked.        
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return index of current phase
-         */
-        int (AXIS2_CALL *
-                get_current_phase_index)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-
-        /**
-         * Gets the phase at which the invocation was paused.
-         * @param msg_ctx message context
-         * @param env pointer to environment struct
-         * @return index of paused phase
-         */
-        int (AXIS2_CALL *
-                get_paused_phase_index)(
-                    const axis2_msg_ctx_t *msg_ctx,
-                    const axis2_env_t *env);
-    };
-
-    /**
-     * message context struct.
-     */
-    struct axis2_msg_ctx
-    {
-        /** operations of message context */
-        axis2_msg_ctx_ops_t *ops;
-    };
-
+    struct axis2_transport_in_desc;    
+    struct axis2_transport_out_desc;
 
     /**
      * Creates a message context struct instance.
@@ -1418,491 +125,1596 @@
      * @return pointer to newly created message context instance
      */
     AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
-    axis2_msg_ctx_create (
-        const axis2_env_t *env,
+    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);
 
+    /**
+     * Gets the base, which is of type context.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to base context struct
+     */
+    AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL
+    axis2_msg_ctx_get_base(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets parent. Parent of a message context is of type operation.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to operation which is the parent
+     */
+    AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
+    axis2_msg_ctx_get_parent(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets parent. Parent of a message context is of type operation.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param parent pointer to parent operation
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_parent(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        struct axis2_op_ctx *parent);
+
+    /**
+     * Frees message context.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_free(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Initializes the message context. Based on the transport, service and
+     * operation qnames set on top of message context, correct instances of 
+     * those struct instances would be extracted from configuration and 
+     * set within message context.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param conf pointer to configuration
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_init(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        struct axis2_conf *conf);
+
+    /**
+     * Gets WS-Addressing fault to address. Fault to address tells where to 
+     * send the fault in case there is an error.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to endpoint reference struct representing the fault 
+     * to address, returns a reference not a cloned copy
+     */
+    AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
+    axis2_msg_ctx_get_fault_to(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets WS-Addressing from endpoint. From address tells where the 
+     * request came from.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to endpoint reference struct representing the from 
+     * address, returns a reference not a cloned copy
+     */
+    AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
+    axis2_msg_ctx_get_from(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Checks if there is a SOAP fault on in flow.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return AXIS2_TRUE if there is an in flow fault, else AXIS2_FALSE
+     */
+    AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+    axis2_msg_ctx_get_in_fault_flow(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets the SOAP envelope. This SOAP envelope could be either request
+     * SOAP envelope or the response SOAP envelope, based on the state
+     * the message context is in.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to SOAP envelope stored within message context
+     */
+    AXIS2_EXTERN struct axiom_soap_envelope *AXIS2_CALL
+    axis2_msg_ctx_get_soap_envelope(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets fault SOAP envelope.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to fault SOAP envelope stored within message context
+     */
+    AXIS2_EXTERN struct axiom_soap_envelope *AXIS2_CALL
+    axis2_msg_ctx_get_fault_soap_envelope(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets message ID.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return message ID string corresponding to the message the message 
+     * context is related to
+     */
+    AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
+    axis2_msg_ctx_get_msg_id(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets process fault status.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return AXIS2_TRUE if process fault is on, else AXIS2_FALSE
+     */
+    AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+    axis2_msg_ctx_get_process_fault(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets relates to information for the message context.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to relates to struct 
+     */
+    AXIS2_EXTERN axis2_relates_to_t *AXIS2_CALL
+    axis2_msg_ctx_get_relates_to(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets WS-Addressing reply to endpoint. Reply to address tells where 
+     * the the response should be sent to.         
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to endpoint reference struct representing the reply 
+     * to address, returns a reference not a cloned copy
+     */
+    AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
+    axis2_msg_ctx_get_reply_to(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Checks the response status, whether it is written or not.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return AXIS2_TRUE if response is already written, else AXIS2_FALSE         
+     */
+    AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+    axis2_msg_ctx_get_response_written(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Checks if it is on the server side that the message is being dealt 
+     * with, or on the client side.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return AXIS2_TRUE if it is server side, AXIS2_FALSE if it is client
+     * side
+     */
+    AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+    axis2_msg_ctx_get_server_side(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets WS-Addressing to endpoint. To address tells where message should 
+     * be sent to.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to endpoint reference struct representing the 
+     * to address, returns a reference not a cloned copy
+     */
+    AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
+    axis2_msg_ctx_get_to(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets WS-Addressing fault to endpoint. Fault to address tells where 
+     * the fault message should be sent when there is an error.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param reference pointer to endpoint reference representing fault to 
+     * address. message context assumes the ownership of endpoint struct
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_fault_to(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        axis2_endpoint_ref_t *reference);
+
+    /**
+     * Sets WS-Addressing from endpoint. From address tells where 
+     * the message came from.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param reference pointer to endpoint reference representing from 
+     * address. message context assumes the ownership of endpoint struct
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_from(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        axis2_endpoint_ref_t *reference);
+
+    /**
+     * Sets in fault flow status. 
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param in_fault_flow AXIS2_TRUE if there is a fault on in path, 
+     * else AXIS2_FALSE
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_in_fault_flow(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_bool_t in_fault_flow);
+
+    /**
+     * Sets SOAP envelope. The fact that if it is the request SOAP envelope
+     * or that of response depends on the current status represented by 
+     * message context.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param soap_envelope pointer to SOAP envelope, message context
+     * assumes ownership of SOAP envelope
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_soap_envelope(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        struct axiom_soap_envelope *soap_envelope);
+
+    /**
+     * Sets fault SOAP envelope.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param soap_envelope pointer to SOAP envelope, message context
+     * assumes ownership of SOAP envelope
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_fault_soap_envelope(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        struct axiom_soap_envelope *soap_envelope);
+
+    /**
+     * Sets message ID.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param message_id message ID string
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_message_id(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_char_t *message_id);
+
+    /**
+     * Sets process fault bool value.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param process_fault AXIS2_TRUE if SOAP faults are to be processed,
+     * else AXIS2_FALSE
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_process_fault(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_bool_t process_fault);
+
+    /**
+     * Sets relates to struct.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param reference pointer to relates to struct, message context 
+     * assumes ownership of the struct
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_relates_to(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        axis2_relates_to_t *reference);
+
+    /**
+     * Sets WS-Addressing reply to address indicating the location to which
+     * the reply would be sent.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param reference pointer to endpoint reference representing reply to 
+     * address         
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_reply_to(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        axis2_endpoint_ref_t *referance);
+
+    /**
+     * Sets the bool value indicating the status of response.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param response_written AXIS2_TRUE if response is written, else 
+     * AXIS2_FALSE
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_response_written(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_bool_t response_written);
+
+    /**
+     * Sets the bool value indicating if it is the server side or the
+     * client side.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param server_side AXIS2_TRUE if it is server side, AXIS2_FALSE if it
+     * is client side
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_server_side(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_bool_t server_side);
+
+    /**
+     * Sets WS-Addressing to address.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param reference pointer to endpoint reference struct representing
+     * the address where the request should be sent to. message context
+     * assumes ownership of endpoint struct
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_to(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        axis2_endpoint_ref_t *referance);
+
+    /**
+     * Gets the bool value indicating if it is required to have a new thread
+     * for the invocation, or if the same thread of execution could be used.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return AXIS2_TRUE if new thread is required, else AXIS2_FALSE
+     */
+    AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+    axis2_msg_ctx_get_new_thread_required(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets the bool value indicating if it is required to have a new thread
+     * for the invocation, or if the same thread of execution could be used.         
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param new_thread_required AXIS2_TRUE if a new thread is required, 
+     * else AXIS2_FALSE
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_new_thread_required(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_bool_t new_thread_required);
+
+    /**
+     * Sets WS-Addressing action. 
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param action_uri WSA action URI string
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_wsa_action(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_char_t *action_uri);
+
+    /**
+     * Gets WS-Addressing action.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to WSA action URI string
+     */
+    AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
+    axis2_msg_ctx_get_wsa_action(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets WS-Addressing message ID.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param message_id pointer to message ID string
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_wsa_message_id(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_char_t *message_id);
+
+    /**
+     * Gets WS-Addressing message ID. 
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return WSA message ID string
+     */
+    AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
+    axis2_msg_ctx_get_wsa_message_id(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets WS-Addressing message information headers.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to message information headers struct with 
+     * WS-Addressing information. Returns a reference, not a cloned copy
+     */
+    AXIS2_EXTERN axis2_msg_info_headers_t *AXIS2_CALL
+    axis2_msg_ctx_get_msg_info_headers(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets the bool value indicating the paused status. It is possible 
+     * to pause the engine invocation by any handler. By calling this method
+     * one can find out if some handler has paused the invocation.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return AXIS2_TRUE if message context is paused, else AXIS2_FALSE
+     */
+    AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+    axis2_msg_ctx_get_paused(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets the bool value indicating the paused status of invocation.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param paused paused
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_paused(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_bool_t paused);
+
+    /**
+     * Gets the bool value indicating the keep value status. It is possible 
+     * to keep alive the message context by any handler. By calling this method
+     * one can see whether it is possible to clean the message context.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return AXIS2_TRUE if message context is keep alive, else AXIS2_FALSE
+     */
+    AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+    axis2_msg_ctx_is_keep_alive(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets the bool value indicating the keep alive status of invocation.
+     * By setting this one can indicate the engine not to clean the message 
+     * context.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param keep_alive keep alive
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_keep_alive(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_bool_t keep_alive);
+
+
+    /**
+     * Gets transport in description.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to transport in description struct, returns a 
+     * reference not a cloned copy
+     */
+    AXIS2_EXTERN struct axis2_transport_in_desc *AXIS2_CALL
+    axis2_msg_ctx_get_transport_in_desc(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets transport out description.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to transport out description struct, returns a 
+     * reference not a cloned copy
+     */
+    AXIS2_EXTERN struct axis2_transport_out_desc *AXIS2_CALL
+    axis2_msg_ctx_get_transport_out_desc(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets transport in description.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param transport_in_desc pointer to transport in description struct,
+     * message context does not assume the ownership of the struct
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_transport_in_desc(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        struct axis2_transport_in_desc *transport_in_desc);
+
+    /**
+     * Sets transport out description.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param transport_out_desc pointer to transport out description,
+     * message context does not assume the ownership of the struct
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_transport_out_desc(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        struct axis2_transport_out_desc *transport_out_desc);
+
+    /**
+     * Gets operation context related to the operation that this message
+     * context is related to.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to operation context struct
+     */
+    AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
+    axis2_msg_ctx_get_op_ctx(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets operation context related to the operation that this message
+     * context is related to.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param op_ctx pointer to operation context, message context does not 
+     * assume the ownership of operation context
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_op_ctx(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        struct axis2_op_ctx *op_ctx);
+
+    /**
+     * Gets the bool value indicating the output written status. 
+     * @param msg_ctx message context
+     * @param env pointer to environment struct 
+     * @return AXIS2_TRUE if output is written, else AXIS2_FALSE
+     */
+    AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+    axis2_msg_ctx_get_output_written(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets the bool value indicating the output written status. 
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param output_written AXIS2_TRUE if output is written, else AXIS2_FALSE
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_output_written(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_bool_t output_written);
 
-/** Gets base context struct.
-    @sa axis2_msg_ctx_ops#get_base */
+    /**
+     * Gets the ID of service context that relates to the service that is 
+     * related to the message context.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return service context ID string
+     */
+    AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
+    axis2_msg_ctx_get_svc_ctx_id(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets the ID of service context that relates to the service that is 
+     * related to the message context.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param svc_ctx_id The service context ID string
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_svc_ctx_id(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_char_t *svc_ctx_id);
+
+    /**
+     * Gets configuration context.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to configuration context
+     */
+    AXIS2_EXTERN struct axis2_conf_ctx *AXIS2_CALL
+    axis2_msg_ctx_get_conf_ctx(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets service context that relates to the service that the message 
+     * context is related to.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to message context struct
+     */
+    AXIS2_EXTERN struct axis2_svc_ctx *AXIS2_CALL
+    axis2_msg_ctx_get_svc_ctx(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets configuration context.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param conf_ctx pointer to configuration context struct, message 
+     * context does not assume the ownership of struct
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_conf_ctx(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        struct axis2_conf_ctx *conf_ctx);
+
+    /**
+     * Sets service context.                     
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param svc_ctx pointer to service context struct,  message 
+     * context does not assume the ownership of struct
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_svc_ctx(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        struct axis2_svc_ctx *svc_ctx);
+
+    /**
+     * Sets message information headers.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param msg_info_headers pointer to message information headers,
+     * message context assumes the ownership of the struct
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_msg_info_headers(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        axis2_msg_info_headers_t *msg_info_headers);
+
+    /**
+     * Gets configuration descriptor parameter with given key. This method 
+     * recursively search the related description hierarchy for the parameter 
+     * with given key until it is found or the parent of the description 
+     * hierarchy is reached. The order of search is as follows:
+     * 1. search in operation description, if its there return
+     * 2. if the parameter is not found in operation or operation is NULL, 
+     * search in service
+     * 3. if the parameter is not found in service or service is NULL search 
+     * in configuration
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param key parameter key  
+     * @return pointer to parameter struct corresponding to the given key
+     */
+    AXIS2_EXTERN axis2_param_t *AXIS2_CALL
+    axis2_msg_ctx_get_parameter(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_char_t *key);
+
+    /**
+     * Gets parameters related to a named module and a given handler 
+     * description. The order of searching for parameter is as follows:
+     * 1. search in module configuration stored inside corresponding operation 
+     * description if its there
+     * 2. search in corresponding operation if its there
+     * 3. search in module configurations stored inside corresponding 
+     * service description if its there
+     * 4. search in corresponding service description if its there
+     * 5. search in module configurations stored inside configuration
+     * 6. search in configuration for parameters
+     * 7. get the corresponding module and search for the parameters
+     * 8. search in handler description for the parameter
+     * @param msg_ctx pointer to message context
+     * @param env pointer to environment struct
+     * @param key parameter key
+     * @param module_name name of the module
+     * @param handler_desc pointer to handler description
+     * @return pointer to parameter 
+     */
+    AXIS2_EXTERN axis2_param_t *AXIS2_CALL
+    axis2_msg_ctx_get_module_parameter(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_char_t *key,
+        const axis2_char_t *module_name,
+        axis2_handler_desc_t *handler_desc);
+
+    /**
+     * Gets property corresponding to the given key.
+     * @param msg_ctx pointer to message context
+     * @param env pointer to environment struct
+     * @param key key string with which the property is stored
+     * @param persistent AXIS2_TRUE if the property is to be retrieved from
+     * persistent map, AXIS2_FALSE if the property is to be retrieved from
+     * non-persistent map
+     * @return pointer to property struct
+     */
+    AXIS2_EXTERN axis2_property_t *AXIS2_CALL
+    axis2_msg_ctx_get_property(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_char_t *key,
+        const axis2_bool_t persistent);
+
+    /**
+     * Sets property with given key.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param key key string
+     * @param value property to be stored
+     * @param persistent AXIS2_TRUE if the property is to be stored in
+     * persistent map, AXIS2_FALSE if the property is to be stored in 
+     * non-persistent map
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_property(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_char_t *key,
+        axis2_property_t *value,
+        const axis2_bool_t persistent);
+    /**
+     * Gets the QName of the handler at which invocation was paused.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return pointer to QName of the paused handler
+     */
+    AXIS2_EXTERN const axis2_qname_t *AXIS2_CALL
+    axis2_msg_ctx_get_paused_handler_name(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets the name of the phase at which the invocation was paused.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return name string of the paused phase.
+     */
+    AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
+    axis2_msg_ctx_get_paused_phase_name(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets the name of the phase at which the invocation was paused.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param paused_phase_name paused phase name string
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_paused_phase_name(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_char_t *paused_phase_name);
+
+    /**
+     * Gets SOAP action.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return SOAP action string
+     */
+    AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
+    axis2_msg_ctx_get_soap_action(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets SOAP action.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param soap_action SOAP action string
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_soap_action(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_char_t *soap_action);
+
+    /**
+     * Gets the boolean value indicating if MTOM is enabled or not.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return AXIS2_TRUE if MTOM is enabled, else AXIS2_FALSE
+     */
+    AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+    axis2_msg_ctx_get_doing_mtom(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets the boolean value indicating if MTOM is enabled or not.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param doing_mtom AXIS2_TRUE if MTOM is enabled, else AXIS2_FALSE
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_doing_mtom(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_bool_t doing_mtom);
+
+    /**
+     * Gets the boolean value indicating if REST is enabled or not.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return AXIS2_TRUE if REST is enabled, else AXIS2_FALSE
+     */
+    AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+    axis2_msg_ctx_get_doing_rest(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Sets the boolean value indicating if REST is enabled or not.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param doing_rest AXIS2_TRUE if REST is enabled, else AXIS2_FALSE
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_doing_rest(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_bool_t doing_rest);
+
+    /**
+     * Sets the boolean value indicating if REST should be done through 
+     * HTTP POST or HTTP GET.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @param do_rest_through_post AXIS2_TRUE if REST is to be done with 
+     * HTTP POST, else AXIS2_FALSE if REST is to be done with HTTP GET
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_msg_ctx_set_do_rest_through_post(axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env,
+        const axis2_bool_t do_rest_through_post);
+
+
+    /**
+     * Sets the boolean value indicating if REST should be done through 
+     * HTTP POST or HTTP GET.
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return AXIS2_TRUE if REST is to be done with HTTP POST, else 
+     * AXIS2_FALSE if REST is to be done with HTTP GET
+     */
+    AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+    axis2_msg_ctx_get_do_rest_through_post(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**
+     * Gets the bool value indicating the SOAP version being used either
+     * SOAP 1.1 or SOAP 1.2
+     * @param msg_ctx message context
+     * @param env pointer to environment struct
+     * @return AXIS2_TRUE if SOAP 1.1 is being used, else AXIS2_FALSE if 
+     * SOAP 1.2 is being used
+     */
+    AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+    axis2_msg_ctx_get_is_soap_11(const axis2_msg_ctx_t *msg_ctx,
+        const axis2_env_t *env);
+
+    /**

[... 993 lines stripped ...]


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


Mime
View raw message