Files | |
file | axis2_svc_client.h |
Defines | |
#define | AXIS2_ANON_SERVICE "__ANONYMOUS_SERVICE__" |
#define | AXIS2_ANON_OUT_ONLY_OP "__OPERATION_OUT_ONLY__" |
#define | AXIS2_ANON_ROBUST_OUT_ONLY_OP "__OPERATION_ROBUST_OUT_ONLY__" |
#define | AXIS2_ANON_OUT_IN_OP "__OPERATION_OUT_IN__" |
Typedefs | |
typedef axis2_svc_client | axis2_svc_client_t |
Functions | |
AXIS2_EXTERN axis2_svc_t * | axis2_svc_client_get_svc (const axis2_svc_client_t *svc_client, const axutil_env_t *env) |
AXIS2_EXTERN axis2_status_t | axis2_svc_client_set_options (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_options_t *options) |
AXIS2_EXTERN const axis2_options_t * | axis2_svc_client_get_options (const axis2_svc_client_t *svc_client, const axutil_env_t *env) |
AXIS2_EXTERN axis2_status_t | axis2_svc_client_set_override_options (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_options_t *override_options) |
AXIS2_EXTERN const axis2_options_t * | axis2_svc_client_get_override_options (const axis2_svc_client_t *svc_client, const axutil_env_t *env) |
AXIS2_EXTERN axis2_status_t | axis2_svc_client_engage_module (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_char_t *module_name) |
AXIS2_EXTERN axis2_status_t | axis2_svc_client_disengage_module (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_char_t *module_name) |
AXIS2_EXTERN axis2_status_t | axis2_svc_client_add_header (axis2_svc_client_t *svc_client, const axutil_env_t *env, axiom_node_t *header) |
AXIS2_EXTERN axis2_status_t | axis2_svc_client_remove_all_headers (axis2_svc_client_t *svc_client, const axutil_env_t *env) |
AXIS2_EXTERN axis2_status_t | axis2_svc_client_send_robust_with_op_qname (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname, const axiom_node_t *payload) |
AXIS2_EXTERN axis2_status_t | axis2_svc_client_send_robust (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axiom_node_t *payload) |
AXIS2_EXTERN void | axis2_svc_client_fire_and_forget_with_op_qname (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname, const axiom_node_t *payload) |
AXIS2_EXTERN void | axis2_svc_client_fire_and_forget (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axiom_node_t *payload) |
AXIS2_EXTERN axiom_node_t * | axis2_svc_client_send_receive_with_op_qname (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname, const axiom_node_t *payload) |
AXIS2_EXTERN axiom_node_t * | axis2_svc_client_send_receive (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axiom_node_t *payload) |
AXIS2_EXTERN void | axis2_svc_client_send_receive_non_blocking_with_op_qname (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname, const axiom_node_t *payload, axis2_callback_t *callback) |
AXIS2_EXTERN void | axis2_svc_client_send_receive_non_blocking (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axiom_node_t *payload, axis2_callback_t *callback) |
AXIS2_EXTERN axis2_op_client_t * | axis2_svc_client_create_op_client (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname) |
AXIS2_EXTERN axis2_status_t | axis2_svc_client_finalize_invoke (axis2_svc_client_t *svc_client, const axutil_env_t *env) |
AXIS2_EXTERN const axis2_endpoint_ref_t * | axis2_svc_client_get_own_endpoint_ref (const axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_char_t *transport) |
AXIS2_EXTERN const axis2_endpoint_ref_t * | axis2_svc_client_get_target_endpoint_ref (const axis2_svc_client_t *svc_client, const axutil_env_t *env) |
AXIS2_EXTERN axis2_status_t | axis2_svc_client_set_target_endpoint_ref (axis2_svc_client_t *svc_client, const axutil_env_t *env, axis2_endpoint_ref_t *target_epr) |
AXIS2_EXTERN axis2_status_t | axis2_svc_client_set_proxy_with_auth (axis2_svc_client_t *svc_client, const axutil_env_t *env, axis2_char_t *proxy_host, axis2_char_t *proxy_port, axis2_char_t *username, axis2_char_t *password) |
AXIS2_EXTERN axis2_status_t | axis2_svc_client_set_proxy (axis2_svc_client_t *svc_client, const axutil_env_t *env, axis2_char_t *proxy_host, axis2_char_t *proxy_port) |
AXIS2_EXTERN axis2_svc_ctx_t * | axis2_svc_client_get_svc_ctx (const axis2_svc_client_t *svc_client, const axutil_env_t *env) |
AXIS2_EXTERN void | axis2_svc_client_free (axis2_svc_client_t *svc_client, const axutil_env_t *env) |
AXIS2_EXTERN axis2_op_client_t * | axis2_svc_client_get_op_client (const axis2_svc_client_t *svc_client, const axutil_env_t *env) |
AXIS2_EXTERN axis2_svc_client_t * | axis2_svc_client_create (const axutil_env_t *env, const axis2_char_t *client_home) |
AXIS2_EXTERN axis2_svc_client_t * | axis2_svc_client_create_with_conf_ctx_and_svc (const axutil_env_t *env, const axis2_char_t *client_home, axis2_conf_ctx_t *conf_ctx, axis2_svc_t *svc) |
AXIS2_EXTERN axis2_svc_client_t * | axis2_svc_client_create_for_dynamic_invocation (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx, const axutil_uri_t *wsdl_uri, const axutil_qname_t *wsdl_svc_qname, const axis2_char_t *endpoint_name, const axis2_char_t *client_home) |
AXIS2_EXTERN axiom_soap_envelope_t * | axis2_svc_client_get_last_response_soap_envelope (const axis2_svc_client_t *svc_client, const axutil_env_t *env) |
AXIS2_EXTERN axis2_bool_t | axis2_svc_client_get_last_response_has_fault (const axis2_svc_client_t *svc_client, const axutil_env_t *env) |
AXIS2_EXTERN axis2_status_t | axis2_svc_client_set_policy_from_om (axis2_svc_client_t *svc_client, const axutil_env_t *env, axiom_node_t *root_node) |
AXIS2_EXTERN axis2_status_t | axis2_svc_client_set_policy (axis2_svc_client_t *svc_client, const axutil_env_t *env, neethi_policy_t *policy) |
#define AXIS2_ANON_OUT_IN_OP "__OPERATION_OUT_IN__" |
out-in MEP operation name
#define AXIS2_ANON_OUT_ONLY_OP "__OPERATION_OUT_ONLY__" |
out-only MEP operation name
#define AXIS2_ANON_ROBUST_OUT_ONLY_OP "__OPERATION_ROBUST_OUT_ONLY__" |
out-only robust MEP operation name
#define AXIS2_ANON_SERVICE "__ANONYMOUS_SERVICE__" |
Name of anonymous service
typedef struct axis2_svc_client axis2_svc_client_t |
Type name for struct axis2_svc_client
AXIS2_EXTERN axis2_status_t axis2_svc_client_add_header | ( | axis2_svc_client_t * | svc_client, | |
const axutil_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_EXTERN axis2_svc_client_t* axis2_svc_client_create | ( | const axutil_env_t * | env, | |
const axis2_char_t * | client_home | |||
) |
Creates a service client struct.
env | pointer to environment struct | |
client_home | name of the directory that contains the Axis2/C repository |
AXIS2_EXTERN axis2_svc_client_t* axis2_svc_client_create_for_dynamic_invocation | ( | const axutil_env_t * | env, | |
axis2_conf_ctx_t * | conf_ctx, | |||
const axutil_uri_t * | wsdl_uri, | |||
const axutil_qname_t * | wsdl_svc_qname, | |||
const axis2_char_t * | endpoint_name, | |||
const axis2_char_t * | client_home | |||
) |
Creates a service client struct. This constructor is used in dynamic invocation.
env | pointer to environment struct | |
conf_ctx | pointer to configuration context. Newly created client assumes ownership of the conf_ctx | |
wsdl_uri | pointer to uri of the wsdl file. | |
wsdl_svc_qname | pointer to qname of the wsdl service. If this is NULL first service is assumed | |
endpoint_name | pointer to endpoint name. If this is NULL first endpoint is assumed. | |
client_home | name of the directory that contains the Axis2/C repository |
AXIS2_EXTERN axis2_op_client_t* axis2_svc_client_create_op_client | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env, | |||
const axutil_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 | axutil_qname_t of the operation |
AXIS2_EXTERN axis2_svc_client_t* axis2_svc_client_create_with_conf_ctx_and_svc | ( | const axutil_env_t * | env, | |
const axis2_char_t * | client_home, | |||
axis2_conf_ctx_t * | conf_ctx, | |||
axis2_svc_t * | svc | |||
) |
Creates a service client struct for a specified service and configuration context.
env | pointer to environment struct | |
conf_ctx | pointer to configuration context. Newly created client assumes ownership of the conf_ctx | |
svc | pointer to service struct representing the service to be consumed. Newly created client assumes ownership of the service | |
client_home | name of the directory that contains the Axis2/C repository |
AXIS2_EXTERN axis2_status_t axis2_svc_client_disengage_module | ( | axis2_svc_client_t * | svc_client, | |
const axutil_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_EXTERN axis2_status_t axis2_svc_client_engage_module | ( | axis2_svc_client_t * | svc_client, | |
const axutil_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_EXTERN axis2_status_t axis2_svc_client_finalize_invoke | ( | axis2_svc_client_t * | svc_client, | |
const axutil_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 |
AXIS2_EXTERN void axis2_svc_client_fire_and_forget | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env, | |||
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 | |
payload | pointer to OM node representing the XML payload to be sent |
AXIS2_EXTERN void axis2_svc_client_fire_and_forget_with_op_qname | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env, | |||
const axutil_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_EXTERN void axis2_svc_client_free | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env | |||
) |
Frees the service client.
svc_client | pointer to service client struct | |
env | pointer to environment struct |
AXIS2_EXTERN axis2_bool_t axis2_svc_client_get_last_response_has_fault | ( | const axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env | |||
) |
Gets the boolean value indicating if the last respose had a SOAP fault.
svc_client | pointer to service_client struct | |
env | env pointer to environemt struct |
AXIS2_EXTERN axiom_soap_envelope_t* axis2_svc_client_get_last_response_soap_envelope | ( | const axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env | |||
) |
Gets the last respose SOAP envelope.
svc_client | pointer to service_client struct | |
env | env pointer to environemt struct |
AXIS2_EXTERN axis2_op_client_t* axis2_svc_client_get_op_client | ( | const axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env | |||
) |
Gets the operation client
svc_client | pointer to service_client struct | |
env | env pointer to environemt struct |
AXIS2_EXTERN const axis2_options_t* axis2_svc_client_get_options | ( | const axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env | |||
) |
Gets options used by service client.
svc_client | pointer to service client struct | |
env | pointer to environment struct |
AXIS2_EXTERN const axis2_options_t* axis2_svc_client_get_override_options | ( | const axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env | |||
) |
Gets the overriding options.
svc_client | pointer to service client struct | |
env | pointer to environment struct |
AXIS2_EXTERN const axis2_endpoint_ref_t* axis2_svc_client_get_own_endpoint_ref | ( | const axis2_svc_client_t * | svc_client, | |
const axutil_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_EXTERN axis2_svc_t* axis2_svc_client_get_svc | ( | const axis2_svc_client_t * | svc_client, | |
const axutil_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_EXTERN axis2_svc_ctx_t* axis2_svc_client_get_svc_ctx | ( | const axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env | |||
) |
Gets the service context.
svc_client | pointer to service client struct | |
env | pointer to environment struct |
AXIS2_EXTERN const axis2_endpoint_ref_t* axis2_svc_client_get_target_endpoint_ref | ( | const axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env | |||
) |
Gets the target endpoint ref.
svc_client | pointer to service client struct | |
env | pointer to environment struct |
AXIS2_EXTERN axis2_status_t axis2_svc_client_remove_all_headers | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env | |||
) |
Removes all the headers added to service client.
svc_client | pointer to service client struct | |
env | pointer to environment struct |
AXIS2_EXTERN axiom_node_t* axis2_svc_client_send_receive | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env, | |||
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 | |
payload | pointer to OM node representing the XML payload to be sent |
AXIS2_EXTERN void axis2_svc_client_send_receive_non_blocking | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env, | |||
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 | |
payload | pointer to OM node representing the XML payload to be sent pointer to callback struct used to capture response |
AXIS2_EXTERN void axis2_svc_client_send_receive_non_blocking_with_op_qname | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env, | |||
const axutil_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_EXTERN axiom_node_t* axis2_svc_client_send_receive_with_op_qname | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env, | |||
const axutil_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 |
AXIS2_EXTERN axis2_status_t axis2_svc_client_send_robust | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env, | |||
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 operation name of "__OPERATION_ROBUST_OUT_ONLY__" | |
payload | pointer to OM node representing the XML payload to be sent |
AXIS2_EXTERN axis2_status_t axis2_svc_client_send_robust_with_op_qname | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env, | |||
const axutil_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_EXTERN axis2_status_t axis2_svc_client_set_options | ( | axis2_svc_client_t * | svc_client, | |
const axutil_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_EXTERN axis2_status_t axis2_svc_client_set_override_options | ( | axis2_svc_client_t * | svc_client, | |
const axutil_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_EXTERN axis2_status_t axis2_svc_client_set_policy | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env, | |||
neethi_policy_t * | policy | |||
) |
Set the given policy object to the description hierarchy
svc_client | pointer to service_client struct | |
env | pointer to environemt struct | |
policy | neethi_policy_t to a policy struct |
AXIS2_EXTERN axis2_status_t axis2_svc_client_set_policy_from_om | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env, | |||
axiom_node_t * | root_node | |||
) |
Create a policy object and set it to the description hierarchy
svc_client | pointer to service_client struct | |
env | pointer to environemt struct | |
root_node | pointer to a policy node |
AXIS2_EXTERN axis2_status_t axis2_svc_client_set_proxy | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env, | |||
axis2_char_t * | proxy_host, | |||
axis2_char_t * | proxy_port | |||
) |
Sets the proxy.
svc_client | pointer to service client struct | |
env | pointer to environment struct | |
proxy_host | pointer to the proxy_host settings to be set | |
proxy_port | pointer to the proxy_port settings to be set |
AXIS2_EXTERN axis2_status_t axis2_svc_client_set_proxy_with_auth | ( | axis2_svc_client_t * | svc_client, | |
const axutil_env_t * | env, | |||
axis2_char_t * | proxy_host, | |||
axis2_char_t * | proxy_port, | |||
axis2_char_t * | username, | |||
axis2_char_t * | password | |||
) |
Sets the proxy with authentication support.
svc_client | pointer to service client struct | |
env | pointer to environment struct | |
proxy_host | pointer to the proxy_host settings to be set | |
proxy_port | pointer to the proxy_port settings to be set | |
username | pointer to the username associated with proxy which is required for authentication | |
password | pointer to the password associated with proxy which is required for authentication |
AXIS2_EXTERN axis2_status_t axis2_svc_client_set_target_endpoint_ref | ( | axis2_svc_client_t * | svc_client, | |
const axutil_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. |