service
[description]


Files

file  axis2_svc.h

Typedefs

typedef axis2_svc axis2_svc_t

Functions

AXIS2_EXTERN void axis2_svc_free (axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t axis2_svc_add_op (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_op *op)
AXIS2_EXTERN struct axis2_op * axis2_svc_get_op_with_qname (const axis2_svc_t *svc, const axutil_env_t *env, const axutil_qname_t *op_qname)
AXIS2_EXTERN struct axis2_op * axis2_svc_get_op_with_name (const axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *op_name)
AXIS2_EXTERN axutil_hash_taxis2_svc_get_all_ops (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t axis2_svc_set_parent (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_svc_grp *svc_grp)
AXIS2_EXTERN struct axis2_svc_grp * axis2_svc_get_parent (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t axis2_svc_set_qname (axis2_svc_t *svc, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN const axutil_qname_t * axis2_svc_get_qname (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t axis2_svc_add_param (axis2_svc_t *svc, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN axutil_param_t * axis2_svc_get_param (const axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN axutil_array_list_taxis2_svc_get_all_params (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_svc_is_param_locked (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN axis2_status_t axis2_svc_engage_module (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_module_desc *module_desc, struct axis2_conf *conf)
AXIS2_EXTERN axis2_status_t axis2_svc_disengage_module (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_module_desc *module_desc, struct axis2_conf *conf)
AXIS2_EXTERN axis2_bool_t axis2_svc_is_module_engaged (axis2_svc_t *svc, const axutil_env_t *env, axutil_qname_t *module_qname)
AXIS2_EXTERN axis2_status_t axis2_svc_add_module_ops (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_module_desc *module_desc, struct axis2_conf *axis2_config)
AXIS2_EXTERN axis2_status_t axis2_svc_set_style (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *style)
AXIS2_EXTERN const axis2_char_t * axis2_svc_get_style (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN struct axis2_op * axis2_svc_get_op_by_soap_action (const axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *soap_action)
AXIS2_EXTERN const axis2_char_t * axis2_svc_get_name (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t axis2_svc_set_name (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *svc_name)
AXIS2_EXTERN axis2_status_t axis2_svc_set_last_update (axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN long axis2_svc_get_last_update (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN const axis2_char_t * axis2_svc_get_svc_desc (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t axis2_svc_set_svc_desc (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *svc_desc)
AXIS2_EXTERN const axis2_char_t * axis2_svc_get_svc_wsdl_path (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t axis2_svc_set_svc_wsdl_path (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *wsdl_path)
AXIS2_EXTERN const axis2_char_t * axis2_svc_get_file_name (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t axis2_svc_set_file_name (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *file_name)
AXIS2_EXTERN axis2_status_t axis2_svc_add_mapping (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *wsa_action, struct axis2_op *axis2_op)
AXIS2_EXTERN axis2_status_t axis2_svc_add_module_qname (axis2_svc_t *svc, const axutil_env_t *env, const axutil_qname_t *module_qname)
AXIS2_EXTERN axutil_array_list_taxis2_svc_get_all_module_qnames (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN const axis2_char_t * axis2_svc_get_target_ns (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t saxis2_svc_et_target_ns (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *ns)
AXIS2_EXTERN const axis2_char_t * axis2_svc_get_target_ns_prefix (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t axis2_svc_set_target_ns_prefix (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *prefix)
AXIS2_EXTERN axutil_hash_tgaxis2_svc_et_ns_map (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t axis2_svc_set_ns_map (axis2_svc_t *svc, const axutil_env_t *env, axutil_hash_t *ns_map)
AXIS2_EXTERN axutil_param_container_t * axis2_svc_get_param_container (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_flow_container_taxis2_svc_get_flow_container (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_svc_taxis2_svc_create (const axutil_env_t *env)
AXIS2_EXTERN axis2_svc_taxis2_svc_create_with_qname (const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN void * axis2_svc_get_impl_class (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t axis2_svc_set_impl_class (axis2_svc_t *svc, const axutil_env_t *env, void *impl_class)
AXIS2_EXTERN axis2_desc_taxis2_svc_get_base (const axis2_svc_t *svc, const axutil_env_t *env)

Detailed Description

service represents the static structure of a service in a service group. In Axis2 description hierarchy, a service lives inside the service group to which it belongs. services are configured in services.xml files located in the respective service group folders of the services folder in the repository. In services.xml file, services are declared in association with a given service group or at top level as a stand alone service. In cases where a service is configured without an associated service group, a service group with the same name as that of the service would be created by the deployment engine and the service would be associated with that newly created service group. The deployment engine would create service instances to represent those configured services in services.xml files and would associate them with the respective service group in the configuration. service encapsulates data on engaged module information, the XML schema defined in WSDL that is associated with the service and the operations of the service.

Typedef Documentation

typedef struct axis2_svc axis2_svc_t

Type name for struct axis2_svc


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_svc_add_mapping ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  wsa_action,
struct axis2_op *  axis2_op 
)

Adds WS-Addressing mapping for a given operation. The services.xml configuration file could specify a SOAP action that would map to one of the service operations. This method could be used to register that mapping against operations. WS-Addressing based dispatcher makes use of this mapping to identify the operation to be invoked, given WSA action.

Parameters:
svc pointer to service struct
env pointer to environment struct
wsa_action WSA action string
op pointer to operation that maps to the given WSA action
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_add_module_ops ( axis2_svc_t svc,
const axutil_env_t env,
struct axis2_module_desc *  module_desc,
struct axis2_conf *  axis2_config 
)

Adds operations defined in a module to this service. It is possible to define operations that are associated to a module in a module.xml file. These operations in turn could be invoked in relation to a service. This method allows those module related operation to be added to a service.

Parameters:
svc pointer to service struct
env pointer to environment struct
module_desc pointer to module description containing module related operation information. service does not assume the ownership of module description
conf pointer to configuration, it is configuration that stores the modules
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_add_module_qname ( axis2_svc_t svc,
const axutil_env_t env,
const axutil_qname_t *  module_qname 
)

Adds a module qname to list of module QNames associated with service.

Parameters:
svc pointer to service struct
env pointer to environment struct
module_qname pointer to QName to be added, this method clones the QName
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_add_op ( axis2_svc_t svc,
const axutil_env_t env,
struct axis2_op *  op 
)

Adds operation.

Parameters:
svc pointer to service struct
env pointer to environment struct
op pointer to operation struct, service assumes ownership of operation
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_add_param ( axis2_svc_t svc,
const axutil_env_t env,
axutil_param_t *  param 
)

Adds given parameter to operation.

Parameters:
svc pointer to service struct
env pointer to environment struct
param pointer to parameter, service assumes ownership of parameter
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_svc_t* axis2_svc_create ( const axutil_env_t env  ) 

Creates a service struct instance.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created service

AXIS2_EXTERN axis2_svc_t* axis2_svc_create_with_qname ( const axutil_env_t env,
const axutil_qname_t *  qname 
)

Creates a service struct with given QName.

Parameters:
env pointer to environment struct
qname service QName
Returns:
pointer to newly created service

AXIS2_EXTERN axis2_status_t axis2_svc_disengage_module ( axis2_svc_t svc,
const axutil_env_t env,
struct axis2_module_desc *  module_desc,
struct axis2_conf *  conf 
)

Disengages given module from service.

Parameters:
svc pointer to service struct
env pointer to environment struct
module_desc pointer to module description to be engaged, service does not assume the ownership of module
conf pointer to configuration, it is configuration that holds module information
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_engage_module ( axis2_svc_t svc,
const axutil_env_t env,
struct axis2_module_desc *  module_desc,
struct axis2_conf *  conf 
)

Engages given module to service.

Parameters:
svc pointer to service struct
env pointer to environment struct
module_desc pointer to module description to be engaged, service does not assume the ownership of module
conf pointer to configuration, it is configuration that holds module information
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_svc_free ( axis2_svc_t svc,
const axutil_env_t env 
)

Frees service.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axutil_array_list_t* axis2_svc_get_all_module_qnames ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets all module QNames associated with the service as a list.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to array list containing QNames

AXIS2_EXTERN axutil_hash_t* axis2_svc_get_all_ops ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets all operations of service.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to hash map containing all operations of the service

AXIS2_EXTERN axutil_array_list_t* axis2_svc_get_all_params ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets all parameters stored within service.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to array list of parameters, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_desc_t* axis2_svc_get_base ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets base description.

Parameters:
svc pointer to message
env pointer to environment struct
Returns:
pointer to base description struct

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_file_name ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets the name of the file that holds the implementation of the service. service implementation is compiled into shared libraries and is placed in the respective sub folder in the services folder of Axis2 repository.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
file name string

AXIS2_EXTERN long axis2_svc_get_last_update ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets last update time of the service.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
last updated time in seconds

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_name ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets service name.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
service name string

AXIS2_EXTERN struct axis2_op* axis2_svc_get_op_by_soap_action ( const axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  soap_action 
)

Gets operation corresponding to given SOAP Action.

Parameters:
svc pointer to service struct
env pointer to environment struct
soap_action SOAP action string
Returns:
pointer to operation corresponding to given SOAP action if one exists, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_op* axis2_svc_get_op_with_name ( const axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  op_name 
)

Gets operation corresponding to the name.

Parameters:
svc pointer to service struct
env pointer to environment struct
op_name operation name string
Returns:
pointer to operation corresponding to given name

AXIS2_EXTERN struct axis2_op* axis2_svc_get_op_with_qname ( const axis2_svc_t svc,
const axutil_env_t env,
const axutil_qname_t *  op_qname 
)

Gets operation corresponding to the given QName.

Parameters:
svc pointer to service struct
env pointer to environment struct
op_qname pointer to QName representing operation QName
Returns:
pointer to operation corresponding to given QName

AXIS2_EXTERN axutil_param_t* axis2_svc_get_param ( const axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  name 
)

Gets named parameter.

Parameters:
svc pointer to service struct
env pointer to environment struct
name name string
Returns:
pointer to named parameter if exists, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN axutil_param_container_t* axis2_svc_get_param_container ( const axis2_svc_t svc,
const axutil_env_t env 
)

Populates the schema mappings. This method is used in code generation and WSDL generation (WSDL2C and C2WSDL). This method deals with the imported schemas that would be there in the WSDL.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN struct axis2_svc_grp* axis2_svc_get_parent ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets parent which is of type service group.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to parent service group

AXIS2_EXTERN const axutil_qname_t* axis2_svc_get_qname ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets QName.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to QName

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_style ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets style. Style can be either RPC or document literal.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
string representing the style of service

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_svc_desc ( const axis2_svc_t svc,
const axutil_env_t env 
)

Get the description of the services, which is in the service.xml, tag

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
services description string

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_svc_wsdl_path ( const axis2_svc_t svc,
const axutil_env_t env 
)

Get the static wsdl file of the services, which is in the service.xml, <wsdl> tag

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
services description string

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_target_ns ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets target namespace.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
target namespace as a string

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_target_ns_prefix ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets target namespace prefix.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
target namespace prefix string

AXIS2_EXTERN axis2_bool_t axis2_svc_is_module_engaged ( axis2_svc_t svc,
const axutil_env_t env,
axutil_qname_t *  module_qname 
)

Check whether a given module is engaged to the service.

Parameters:
svc pointer to service struct
env pointer to environment struct
module_qname pointer to module qname to be engaged,
Returns:
AXIS2_TRUE if module is engaged, else AXIS2_FALSE

AXIS2_EXTERN axis2_bool_t axis2_svc_is_param_locked ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

Checks if the named parameter is locked.

Parameters:
svc pointer to service struct
env pointer to environment struct
param_name parameter name
Returns:
AXIS2_TRUE if the named parameter is locked, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_svc_set_file_name ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  file_name 
)

Sets the name of the file that holds the implementation of the service. service implementation is compiled into shared libraries and is placed in the respective sub folder in the services folder of Axis2 repository.

Parameters:
svc pointer to service struct
env pointer to environment struct
file_name file name string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_last_update ( axis2_svc_t svc,
const axutil_env_t env 
)

Sets current time as last update time of the service.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_name ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  svc_name 
)

Sets service name.

Parameters:
svc pointer to service struct
env pointer to environment struct
svc_name service name string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_ns_map ( axis2_svc_t svc,
const axutil_env_t env,
axutil_hash_t ns_map 
)

Sets the namespace map with all namespaces related to service.

Parameters:
svc pointer to service struct
env pointer to environment struct
ns_map pointer to hash map containing all namespaces
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_parent ( axis2_svc_t svc,
const axutil_env_t env,
struct axis2_svc_grp *  svc_grp 
)

Sets parent which is of type service group.

Parameters:
svc pointer to service struct
env pointer to environment struct
svc_grp pointer to parent service group
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_qname ( axis2_svc_t svc,
const axutil_env_t env,
const axutil_qname_t *  qname 
)

Sets QName.

Parameters:
svc pointer to service struct
env pointer to environment struct
qname pointer to QName
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_style ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  style 
)

Sets style. Style can be either RPC or document literal.

Parameters:
svc pointer to service struct
env pointer to environment struct
style style of service as defined in WSDL
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_svc_desc ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  svc_desc 
)

Set the description of the service which is in service.xml

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_svc_wsdl_path ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  wsdl_path 
)

Set the wsdl path of the service which is in service.xml

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_target_ns_prefix ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  prefix 
)

Sets target namespace prefix.

Parameters:
svc pointer to service struct
env pointer to environment struct
prefix target namespace prefix string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axutil_hash_t* gaxis2_svc_et_ns_map ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets the namespace map with all namespaces related to service.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to hash map containing all namespaces, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_status_t saxis2_svc_et_target_ns ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  ns 
)

Sets target namespace.

Parameters:
svc pointer to service struct
env pointer to environment struct
ns target namespace as a string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Tue Jan 8 01:28:20 2008 for Axis2/C by  doxygen 1.5.1