engine
|
Modules |
| configuration |
| dispatcher |
| phases |
| phase meta data |
Files |
file | axis2_engine.h |
Typedefs |
typedef struct axis2_engine | axis2_engine_t |
Functions |
AXIS2_EXTERN axis2_status_t | axis2_engine_send (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx) |
AXIS2_EXTERN axis2_status_t | axis2_engine_receive (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx) |
AXIS2_EXTERN axis2_status_t | axis2_engine_send_fault (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx) |
AXIS2_EXTERN axis2_status_t | axis2_engine_receive_fault (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx) |
AXIS2_EXTERN axis2_msg_ctx_t * | axis2_engine_create_fault_msg_ctx (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *processing_context, const axis2_char_t *code_value, const axis2_char_t *reason_text) |
AXIS2_EXTERN axis2_status_t | axis2_engine_invoke_phases (axis2_engine_t *engine, const axutil_env_t *env, axutil_array_list_t *phases, axis2_msg_ctx_t *msg_ctx) |
AXIS2_EXTERN axis2_status_t | axis2_engine_resume_invocation_phases (axis2_engine_t *engine, const axutil_env_t *env, axutil_array_list_t *phases, axis2_msg_ctx_t *msg_ctx) |
AXIS2_EXTERN const axis2_char_t * | axis2_engine_get_sender_fault_code (const axis2_engine_t *engine, const axutil_env_t *env, const axis2_char_t *soap_namespace) |
AXIS2_EXTERN const axis2_char_t * | axis2_engine_get_receiver_fault_code (const axis2_engine_t *engine, const axutil_env_t *env, const axis2_char_t *soap_namespace) |
AXIS2_EXTERN void | axis2_engine_free (axis2_engine_t *engine, const axutil_env_t *env) |
AXIS2_EXTERN axis2_status_t | axis2_engine_resume_receive (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx) |
AXIS2_EXTERN axis2_status_t | axis2_engine_resume_send (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx) |
AXIS2_EXTERN axis2_engine_t * | axis2_engine_create (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx) |
Detailed Description
engine has the send and receive functions that is the heart when providing and consuming services. In Axis2 SOAP engine architecture, all the others parts are build around the concept of the engine. There is only one engine for both the server side and the client side, and the engine is not aware of if it is invoked as an client or a service. engine supports both synchronous and asynchronous messaging modes based on send and receive functions.
Typedef Documentation
Type name for struct axis2_engine
Function Documentation
Creates en engine struct instance.
- Parameters:
-
| env | pointer to environment struct |
| conf_ctx | pointer to configuration context struct |
- Returns:
- pointer to newly created engine struct
Creates a message context that represents the fault state based on current processing state.
- Parameters:
-
| engine | pointer to engine |
| env | pointer to environment struct |
| processing_context | pointer to message context representing current processing context |
| code_value | pointer to a string containing fault code |
| reason_text | pointer to a string containing reason of the fault |
- Returns:
- pointer to message context representing the fault state
Frees engine struct.
- Parameters:
-
| engine | pointer to engine |
| env | pointer to environment struct |
- Returns:
- AXIS2_SUCCESS on success, else AXIS2_FAILURE
AXIS2_EXTERN const axis2_char_t* axis2_engine_get_receiver_fault_code |
( |
const axis2_engine_t * |
engine, |
|
|
const axutil_env_t * |
env, |
|
|
const axis2_char_t * |
soap_namespace | |
|
) |
| | |
Gets receiver's SOAP fault code.
- Parameters:
-
| engine | pointer to engine |
| env | pointer to environment struct |
| soap_namespace | pointer to soap namespace |
AXIS2_EXTERN const axis2_char_t* axis2_engine_get_sender_fault_code |
( |
const axis2_engine_t * |
engine, |
|
|
const axutil_env_t * |
env, |
|
|
const axis2_char_t * |
soap_namespace | |
|
) |
| | |
Gets sender's SOAP fault code.
- Parameters:
-
| engine | pointer to engine |
| env | pointer to environment struct |
| soap_namespace | pointer to SOAP namespace |
- Returns:
- pointer to SOAP fault code string
Invokes the phases in the given array list of phases. The list of phases could be representing one of the flows. The two possible flows are in flow and out flow. Both of those flows can also have fault related representations, in fault flow and out fault flow. Invoking a phase triggers the invocation of handlers the phase contain.
- Parameters:
-
| engine | pointer to engine |
| env | pointer to environment struct |
| phases | pointer to phases |
| msg_ctx | pointer to message context containing current state |
- Returns:
- AXIS2_SUCCESS on success, else AXIS2_FAILURE
This methods represents the in flow of the Axis engine, both at the server side as well as the client side. In this function, the execution chain is created using the phases of the in flow. All handlers at each in flow phase, which are ordered in the deployment time are invoked in sequence here.
- Parameters:
-
| engine | pointer to engine |
| env | pointer to environment struct |
| msg_ctx | pointer to message context representing current state that is used in receiving message |
- Returns:
- AXIS2_SUCCESS on success, else AXIS2_FAILURE
This is invoked when a SOAP fault is received.
- Parameters:
-
| engine | pointer to engine |
| env | pointer to environment struct |
| msg_ctx | pointer to message context representing that contains the details of receive state |
- Returns:
- AXIS2_SUCCESS on success, else AXIS2_FAILURE
Resumes phase invocation. While invoking the phases, one of the handlers in any phase could determine to pause the invocation. Often pausing happens to wait till some state is reached or some task is complete. Once paused, the invocation has to be resumed using this function, which will resume the invocation from the paused handler in the paused phase and will continue till it is paused again or it completes invoking all the remaining handlers in the remaining phases.
- Parameters:
-
| engine | pointer to engine |
| env | pointer to environment struct |
| phases | pointer to phases |
| msg_ctx | pointer to message context containing current paused state |
- Returns:
- AXIS2_SUCCESS on success, else AXIS2_FAILURE
Resumes receive operation. It could be the case that receive was paused by one of the in flow handlers. In such a situation, this method could be used to resume the receive operation.
- Parameters:
-
| engine | pointer to engine |
| env | pointer to environment struct |
| msg_ctx | pointer to message context |
- Returns:
- AXIS2_SUCCESS on success, else AXIS2_FAILURE
Resumes send operation. It could be the case that send was paused by one of the out flow handlers. In such a situation, this method could be used to resume the send operation.
- Parameters:
-
| engine | pointer to engine |
| env | pointer to environment struct |
| msg_ctx | pointer to message context |
- Returns:
- AXIS2_SUCCESS on success, else AXIS2_FAILURE
This methods represents the out flow of the Axis engine both at the server side as well as the client side. In this function, the execution chain is created using the phases of the out flow. All handlers at each out flow phase, which are ordered in the deployment time are invoked in sequence here.
- Parameters:
-
| engine | pointer to engine |
| env | pointer to environment struct |
| msg_ctx | pointer to message context representing current state that is used when sending message |
- Returns:
- AXIS2_SUCCESS on success, else AXIS2_FAILURE
Sends a SOAP fault.
- Parameters:
-
| engine | pointer to engine |
| env | pointer to environment struct |
| msg_ctx | pointer to message context that contains details of fault state |
- Returns:
- AXIS2_SUCCESS on success, else AXIS2_FAILURE