#include <axis2_svc_client.h>
Public Attributes | |
axis2_svc_t *(* | get_svc )(const axis2_svc_client_t *svc_client, const axis2_env_t *env) |
axis2_status_t(* | set_options )(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_options_t *options) |
const axis2_options_t *(* | get_options )(const axis2_svc_client_t *svc_client, const axis2_env_t *env) |
axis2_status_t(* | set_override_options )(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_options_t *override_options) |
const axis2_options_t *(* | get_override_options )(const axis2_svc_client_t *svc_client, const axis2_env_t *env) |
axis2_status_t(* | engage_module )(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_char_t *module_name) |
axis2_status_t(* | disengage_module )(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_char_t *module_name) |
axis2_status_t(* | add_header )(axis2_svc_client_t *svc_client, const axis2_env_t *env, axiom_node_t *header) |
axis2_status_t(* | remove_all_headers )(axis2_svc_client_t *svc_client, const axis2_env_t *env) |
axis2_status_t(* | send_robust )(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_qname_t *op_qname, const axiom_node_t *payload) |
void(* | fire_and_forget )(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_qname_t *op_qname, const axiom_node_t *payload) |
axiom_node_t *(* | send_receive )(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_qname_t *op_qname, const axiom_node_t *payload) |
void(* | send_receive_non_blocking )(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_qname_t *op_qname, const axiom_node_t *payload, axis2_callback_t *callback) |
axis2_op_client_t *(* | create_op_client )(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_qname_t *op_qname) |
axis2_status_t(* | finalize_invoke )(axis2_svc_client_t *svc_client, const axis2_env_t *env) |
const axis2_endpoint_ref_t *(* | get_own_endpoint_ref )(const axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_char_t *transport) |
const axis2_endpoint_ref_t *(* | get_target_endpoint_ref )(const axis2_svc_client_t *svc_client, const axis2_env_t *env) |
axis2_status_t(* | set_target_endpoint_ref )(axis2_svc_client_t *svc_client, const axis2_env_t *env, axis2_endpoint_ref_t *target_epr) |
axis2_svc_ctx_t *(* | get_svc_ctx )(const axis2_svc_client_t *svc_client, const axis2_env_t *env) |
axis2_status_t(* | free_fn )(axis2_svc_client_t *svc_client, const axis2_env_t *env) |
axis2_op_client_t *(* | get_op_client )(const axis2_svc_client_t *svc_client, const axis2_env_t *env) |
axis2_status_t( * axis2_svc_client_ops::add_header)(axis2_svc_client_t *svc_client, const axis2_env_t *env, axiom_node_t *header) |
Adds an XML element as a header to be sent to the server side. This allows users to go beyond the usual XML-in/XML-out pattern, and send custom SOAP headers. Once added, service client owns the header and will clean up when the service client is freed.
svc_client | pointer to service client struct | |
env | pointer to environment struct | |
header | om node representing the SOAP header in XML |
axis2_op_client_t*( * axis2_svc_client_ops::create_op_client)(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_qname_t *op_qname) |
Creates an op_client for a specific operation. This is the way to create a full functional MEP client which can be used to exchange messages for this specific operation.
svc_client | pointer to service client struct | |
env | pointer to environment struct | |
op_qname | axis2_qname_t of the operation |
axis2_status_t( * axis2_svc_client_ops::disengage_module)(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_char_t *module_name) |
Dis-engages the named module. Dis-engaging a module on a service client ensures that the axis2_engine would not invoke the named module when sending and receiving messages.
svc_client | pointer to service client struct | |
env | pointer to environment struct | |
module_name | name of the module to be dis-engaged |
axis2_status_t( * axis2_svc_client_ops::engage_module)(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_char_t *module_name) |
Engages the named module. The engaged modules extend the message processing when consuming services. Modules help to apply QoS norms in messaging. Once a module is engaged to a service client, the axis2_engine makes sure to invoke the module for all the interactions between the client and the service.
svc_client | pointer to service client struct | |
env | pointer to environment struct | |
module_name | name of the module to be engaged |
axis2_status_t( * axis2_svc_client_ops::finalize_invoke)(axis2_svc_client_t *svc_client, const axis2_env_t *env) |
Cleans up service client invocation. This will close the output stream and/or remove entry from waiting queue of the transport listener queue.
svc_client | pointer to service client struct | |
env | pointer to environment struct |
void( * axis2_svc_client_ops::fire_and_forget)(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_qname_t *op_qname, const axiom_node_t *payload) |
Sends a message and forget about it. This method is used to interact with a service operation whose MEP is In-Only. That is, there is no opportunity to get an error from the service via this method; one may still get client-side errors, such as host unknown etc.
svc_client | pointer to service client struct | |
env | pointer to environment struct | |
op_qname | operation qname. NULL is equivalent to an operation name of "__OPERATION_OUT_ONLY__" | |
payload | pointer to OM node representing the XML payload to be sent |
axis2_status_t( * axis2_svc_client_ops::free_fn)(axis2_svc_client_t *svc_client, const axis2_env_t *env) |
Frees the service client.
svc_client | pointer to service client struct | |
env | pointer to environment struct |
axis2_op_client_t*( * axis2_svc_client_ops::get_op_client)(const axis2_svc_client_t *svc_client, const axis2_env_t *env) |
Gets the operation client
svc_client | pointer to service_client struct | |
env | env pointer to environemt struct |
const axis2_options_t*( * axis2_svc_client_ops::get_options)(const axis2_svc_client_t *svc_client, const axis2_env_t *env) |
Gets options used by service client.
svc_client | pointer to service client struct | |
env | pointer to environment struct |
const axis2_options_t*( * axis2_svc_client_ops::get_override_options)(const axis2_svc_client_t *svc_client, const axis2_env_t *env) |
Gets the overriding options.
svc_client | pointer to service client struct | |
env | pointer to environment struct |
const axis2_endpoint_ref_t*( * axis2_svc_client_ops::get_own_endpoint_ref)(const axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_char_t *transport) |
Gets the service client's own endpoint_ref, that is the endpoint the client will be sending from.
svc_client | pointer to service client struct | |
env | pointer to environment struct | |
transport | name of the transport, e.g "http" |
axis2_svc_t*( * axis2_svc_client_ops::get_svc)(const axis2_svc_client_t *svc_client, const axis2_env_t *env) |
Returns the axis2_svc_t this is a client for. This is primarily useful when the service is created anonymously or from WSDL.
svc_client | pointer to service client struct | |
env | pointer to environment struct |
axis2_svc_ctx_t*( * axis2_svc_client_ops::get_svc_ctx)(const axis2_svc_client_t *svc_client, const axis2_env_t *env) |
Gets the service context.
svc_client | pointer to service client struct | |
env | pointer to environment struct |
const axis2_endpoint_ref_t*( * axis2_svc_client_ops::get_target_endpoint_ref)(const axis2_svc_client_t *svc_client, const axis2_env_t *env) |
Gets the target endpoint ref.
svc_client | pointer to service client struct | |
env | pointer to environment struct |
axis2_status_t( * axis2_svc_client_ops::remove_all_headers)(axis2_svc_client_t *svc_client, const axis2_env_t *env) |
Removes all the headers added to service client.
svc_client | pointer to service client struct | |
env | pointer to environment struct |
axiom_node_t*( * axis2_svc_client_ops::send_receive)(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_qname_t *op_qname, const axiom_node_t *payload) |
Sends XML request and receives XML response. This method is used to interact with a service operation whose MEP is In-Out.
svc_client | pointer to service client struct | |
env | pointer to environment struct | |
op_qname | operation qname. NULL is equivalent to an operation name of "__OPERATION_OUT_IN__" | |
payload | pointer to OM node representing the XML payload to be sent |
void( * axis2_svc_client_ops::send_receive_non_blocking)(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_qname_t *op_qname, const axiom_node_t *payload, axis2_callback_t *callback) |
Sends XML request and receives XML response, but does not block for response. This method is used to interact in non-blocking mode with a service operation whose MEP is In-Out.
svc_client | pointer to service client struct | |
env | pointer to environment struct | |
op_qname | operation qname. NULL is equivalent to an operation name of "__OPERATION_OUT_IN__" | |
payload | pointer to OM node representing the XML payload to be sent pointer to callback struct used to capture response |
axis2_status_t( * axis2_svc_client_ops::send_robust)(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_qname_t *op_qname, const axiom_node_t *payload) |
This method can be used to send an XML message. This is a simple method to invoke a service operation whose MEP is Robust Out-Only. If a fault triggers on server side, this method would report an error back to the caller.
svc_client | pointer to service client struct | |
env | pointer to environment struct | |
op_qname | operation qname. NULL is equivalent to an operation name of "__OPERATION_ROBUST_OUT_ONLY__" | |
payload | pointer to OM node representing the XML payload to be sent |
axis2_status_t( * axis2_svc_client_ops::set_options)(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_options_t *options) |
Sets the options to be used by service client.
svc_client | pointer to service client struct | |
env | pointer to environment struct | |
options | pointer to options struct to be set |
axis2_status_t( * axis2_svc_client_ops::set_override_options)(axis2_svc_client_t *svc_client, const axis2_env_t *env, const axis2_options_t *override_options) |
Sets the overriding options. The overriding client options related to this service interaction override any options that the underlying operation client may have.
svc_client | pointer to service client struct | |
env | pointer to environment struct | |
options | pointer to options struct to be set |
axis2_status_t( * axis2_svc_client_ops::set_target_endpoint_ref)(axis2_svc_client_t *svc_client, const axis2_env_t *env, axis2_endpoint_ref_t *target_epr) |
Sets the target endpoint ref.
svc_client | pointer to service client struct | |
env | pointer to environment struct | |
target_epr | pointer to the endpoint_ref struct to be set as target. service client takes over the ownership of the struct. |