| |
| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #ifndef AXIS2_SVC_H |
| #define AXIS2_SVC_H |
| |
| /** @defgroup axis2_svc service |
| * @ingroup axis2_desc |
| * 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. |
| * @{ |
| */ |
| |
| /** |
| * @file axis2_svc.h |
| */ |
| |
| #include <axutil_param_container.h> |
| #include <axis2_flow_container.h> |
| #include <axis2_op.h> |
| #include <axis2_svc_grp.h> |
| #include <axutil_qname.h> |
| #include <axutil_error.h> |
| #include <axutil_array_list.h> |
| #include <axis2_const.h> |
| #include <axis2_phase_resolver.h> |
| #include <axis2_module_desc.h> |
| #include <axis2_conf.h> |
| #include <axutil_string.h> |
| #include <axutil_stream.h> |
| |
| #ifdef __cplusplus |
| extern "C" |
| { |
| #endif |
| |
| /** Type name for struct axis2_svc */ |
| typedef struct axis2_svc axis2_svc_t; |
| |
| struct axis2_svc_grp; |
| struct axis2_flow_container; |
| struct axutil_param_container; |
| struct axis2_module_desc; |
| struct axis2_conf; |
| |
| /** |
| * Frees service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return void |
| */ |
| AXIS2_EXTERN void AXIS2_CALL |
| axis2_svc_free( |
| axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Adds operation. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param op pointer to operation struct, service assumes ownership of |
| * operation |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_add_op( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| struct axis2_op *op); |
| |
| /** |
| * Gets operation corresponding to the given QName. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param op_qname pointer to QName representing operation QName |
| * @return pointer to operation corresponding to given QName |
| */ |
| AXIS2_EXTERN struct axis2_op *AXIS2_CALL |
| axis2_svc_get_op_with_qname( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axutil_qname_t * op_qname); |
| |
| /** |
| * Gets the RESTful operation list corresponding to the given method |
| * and first constant part of location. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param http_method HTTPMethod |
| * @param http_location HTTPLocation |
| * @return pointer to operation corresponding to given method and |
| * location |
| */ |
| AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL |
| axis2_svc_get_rest_op_list_with_method_and_location( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axis2_char_t * http_method, |
| const axis2_char_t * http_location); |
| |
| |
| /** |
| * Gets the RESTful operation map for a given service |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to hash with the information |
| * (method, url)=> processing structure for each ops |
| */ |
| AXIS2_EXTERN axutil_hash_t *AXIS2_CALL |
| axis2_svc_get_rest_map( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Gets operation corresponding to the name. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param op_name operation name string |
| * @return pointer to operation corresponding to given name |
| */ |
| AXIS2_EXTERN struct axis2_op *AXIS2_CALL |
| axis2_svc_get_op_with_name( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axis2_char_t * op_name); |
| |
| /** |
| * Gets all operations of service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to hash map containing all operations of the service |
| */ |
| AXIS2_EXTERN axutil_hash_t *AXIS2_CALL |
| axis2_svc_get_all_ops( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Sets parent which is of type service group. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param svc_grp pointer to parent service group |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_set_parent( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| struct axis2_svc_grp *svc_grp); |
| |
| /** |
| * Gets parent which is of type service group. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to parent service group |
| */ |
| AXIS2_EXTERN struct axis2_svc_grp *AXIS2_CALL |
| axis2_svc_get_parent( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Sets QName. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param qname pointer to QName |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_set_qname( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axutil_qname_t * qname); |
| |
| /** |
| * Gets QName. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to QName |
| */ |
| AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL |
| axis2_svc_get_qname( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Adds given parameter to operation. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param param pointer to parameter, service assumes ownership of |
| * parameter |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_add_param( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| axutil_param_t * param); |
| |
| /** |
| * Gets named parameter. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param name name string |
| * @return pointer to named parameter if exists, else NULL. Returns a |
| * reference, not a cloned copy |
| */ |
| AXIS2_EXTERN axutil_param_t *AXIS2_CALL |
| axis2_svc_get_param( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axis2_char_t * name); |
| |
| /** |
| * Remove a parameter. |
| * @param svc pointer to service struct |
| * @param env pointer to the environment |
| * @Param param_name parameter name to be removed |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_remove_param( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env, |
| const axis2_char_t *param_name); |
| |
| /** |
| * Gets all parameters stored within service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to array list of parameters, returns a reference, |
| * not a cloned copy |
| */ |
| AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL |
| axis2_svc_get_all_params( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Checks if the named parameter is locked. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param param_name parameter name |
| * @return AXIS2_TRUE if the named parameter is locked, else AXIS2_FALSE |
| */ |
| AXIS2_EXTERN axis2_bool_t AXIS2_CALL |
| axis2_svc_is_param_locked( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axis2_char_t * param_name); |
| |
| /** |
| * Engages given module to service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param module_desc pointer to module description to be engaged, |
| * service does not assume the ownership of module |
| * @param conf pointer to configuration, it is configuration that holds |
| * module information |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_engage_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. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param module_desc pointer to module description to be engaged, |
| * service does not assume the ownership of module |
| * @param conf pointer to configuration, it is configuration that holds |
| * module information |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_disengage_module( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| struct axis2_module_desc *module_desc, |
| struct axis2_conf *conf); |
| |
| /** |
| * Check whether a given module is engaged to the service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param module_qname pointer to module qname to be engaged, |
| * @return AXIS2_TRUE if module is engaged, else AXIS2_FALSE |
| */ |
| AXIS2_EXTERN axis2_bool_t AXIS2_CALL |
| axis2_svc_is_module_engaged( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| axutil_qname_t * module_qname); |
| |
| /** |
| * Return the engaged module list. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return engaged module list |
| */ |
| AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL |
| axis2_svc_get_engaged_module_list( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * 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. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param module_desc pointer to module description containing module |
| * related operation information. service does not assume the ownership |
| * of module description |
| * @param conf pointer to configuration, it is configuration that stores |
| * the modules |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| 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 given module description to engaged module list. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param module_desc pointer to module description, service does not |
| * assume the ownership of module description |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /*AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_add_to_engaged_module_list(axis2_svc_t *svc, |
| const axutil_env_t *env, |
| struct axis2_module_desc *module_desc); */ |
| |
| /** |
| * Gets all engaged modules. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to array list containing all engaged modules |
| */ |
| /*AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL |
| |
| axis2_svc_get_all_engaged_modules(const axis2_svc_t *svc, |
| const axutil_env_t *env); */ |
| |
| /** |
| * Sets style. Style can be either RPC or document literal. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param style style of service as defined in WSDL |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_set_style( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axis2_char_t * style); |
| |
| /** |
| * Gets style. Style can be either RPC or document literal. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return string representing the style of service |
| */ |
| AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| axis2_svc_get_style( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Gets in flow. In flow is the list of phases invoked |
| * along in path. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to flow representing in flow |
| */ |
| /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL |
| |
| axis2_svc_get_in_flow(const axis2_svc_t *svc, |
| const axutil_env_t *env); */ |
| |
| /** |
| * Sets in flow. In flow is the list of phases invoked |
| * along in path. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param in_flow pointer to flow representing in flow |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /*AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_set_in_flow(axis2_svc_t *svc, |
| const axutil_env_t *env, |
| struct axis2_flow *in_flow); */ |
| |
| /** |
| * Gets out flow. Out flow is the list of phases invoked |
| * along out path. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to flow representing out flow |
| */ |
| /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL |
| |
| axis2_svc_get_out_flow( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env); */ |
| |
| /** |
| * Sets out flow. Out flow is the list of phases invoked |
| * along out path. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return out_flow pointer to flow representing out flow |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /*AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_set_out_flow( |
| axis2_svc_t *svc, |
| const axutil_env_t *env, |
| struct axis2_flow *out_flow); */ |
| |
| /** |
| * Gets fault in flow. Fault in flow is the list of phases invoked |
| * along in path if a fault happens. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to flow representing fault in flow |
| */ |
| /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL |
| |
| axis2_svc_get_fault_in_flow( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env); */ |
| |
| /** |
| * Sets fault in flow. Fault in flow is the list of phases invoked |
| * along in path if a fault happens. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param fault_flow pointer to flow representing fault in flow |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /*AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_set_fault_in_flow( |
| axis2_svc_t *svc, |
| const axutil_env_t *env, |
| struct axis2_flow *fault_flow); */ |
| |
| /** |
| * Gets fault out flow. Fault out flow is the list of phases invoked |
| * along out path if a fault happens. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to flow representing fault out flow |
| */ |
| /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL |
| |
| axis2_svc_get_fault_out_flow( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env); */ |
| |
| /** |
| * Sets fault out flow. Fault out flow is the list of phases invoked |
| * along out path if a fault happens. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param fault_flow pointer to flow representing fault out flow |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /*AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_set_fault_out_flow( |
| axis2_svc_t *svc, |
| const axutil_env_t *env, |
| struct axis2_flow *fault_flow); */ |
| |
| /** |
| * Gets operation corresponding to given SOAP Action. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param soap_action SOAP action string |
| * @return 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_CALL |
| 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 and endpoint QName. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param soap_action SOAP action string |
| * @param endpoint pointer QName representing endpoint URI |
| * @return pointer operation corresponding to given SOAP Action and |
| * endpoint QName. |
| */ |
| /*AXIS2_EXTERN struct axis2_op *AXIS2_CALL |
| |
| axis2_svc_get_op_by_soap_action_and_endpoint( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env, |
| const axis2_char_t *soap_action, |
| const axutil_qname_t *endpoint); */ |
| |
| /** |
| * Gets service name. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return service name string |
| */ |
| AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| axis2_svc_get_name( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Sets service name. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param svc_name service name string |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_set_name( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axis2_char_t * svc_name); |
| |
| /** |
| * Sets current time as last update time of the service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_set_last_update( |
| axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Gets last update time of the service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return last updated time in seconds |
| */ |
| AXIS2_EXTERN long AXIS2_CALL |
| axis2_svc_get_last_update( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Get the description of the services, which is in the |
| * service.xml, <description> tag |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return services description string |
| */ |
| AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| axis2_svc_get_svc_desc( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Set the description of the service which is in service.xml |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_set_svc_desc( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axis2_char_t * svc_desc); |
| |
| /** |
| * Get the static wsdl file of the services, which is in the |
| * service.xml, wsdl_path parameter |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return static wsdl file location |
| */ |
| AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| axis2_svc_get_svc_wsdl_path( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Set the wsdl path of the service which is in service.xml |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_set_svc_wsdl_path( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axis2_char_t * wsdl_path); |
| |
| /** |
| * Get the folder path on disk of the services, which is in the |
| * service.xml |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return folder path on disk |
| */ |
| AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| axis2_svc_get_svc_folder_path( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Set the folder path of the service which is in service.xml |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_set_svc_folder_path( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axis2_char_t * folder_path); |
| |
| /** |
| * 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. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return file name string |
| */ |
| AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| axis2_svc_get_file_name( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * 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. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param file_name file name string |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_set_file_name( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axis2_char_t * file_name); |
| |
| /** |
| * Gets all endpoints associated with the service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to hash map containing all endpoints |
| */ |
| /*AXIS2_EXTERN axutil_hash_t *AXIS2_CALL |
| |
| axis2_svc_get_all_endpoints( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env); */ |
| |
| /** |
| * Sets the list of endpoints associated with the service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param endpoints pointer to hash map containing all endpoints |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /*AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_set_all_endpoints( |
| axis2_svc_t *svc, |
| const axutil_env_t *env, |
| axutil_hash_t *endpoints); */ |
| |
| /** |
| * Gets namespace. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return namespace URI string |
| */ |
| /*AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| |
| axis2_svc_get_namespace( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env); |
| */ |
| |
| /** |
| * 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. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param wsa_action WSA action string |
| * @param op pointer to operation that maps to the given WSA action |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| 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 a REST mapping for a given RESTful operation. The services.xml |
| * configuration file could specify a HTTP Method and Location that would |
| * map to one of the service operations. This method could be used to register |
| * that mapping against operations. The REST based dispatcher makes use |
| * of this mapping to identify the operation to be invoked, given the URL. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param method REST HTTP Method |
| * @param location REST HTTP Location |
| * @param op pointer to operation that maps to the given WSA action |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_add_rest_mapping( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axis2_char_t * method, |
| const axis2_char_t * location, |
| struct axis2_op *axis2_op); |
| |
| /** |
| * Adds a module qname to list of module QNames associated with service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param module_qname pointer to QName to be added, this method clones |
| * the QName |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_add_module_qname( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axutil_qname_t * module_qname); |
| |
| /** |
| * Gets all module QNames associated with the service as a list. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to array list containing QNames |
| */ |
| AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL |
| |
| axis2_svc_get_all_module_qnames( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Checks if the XML schema location is adjusted. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return AXIS2_TRUE if XML schema is adjusted, else AXIS2_FALSE |
| */ |
| /*AXIS2_EXTERN axis2_bool_t AXIS2_CALL |
| |
| axis2_svc_is_schema_location_adjusted( |
| axis2_svc_t *svc, |
| const axutil_env_t *env); |
| */ |
| |
| /** |
| * Sets the bool value indicating if the XML schema location is adjusted. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param adjusted AXIS2_TRUE if XML schema is adjusted, else AXIS2_FALSE |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /* |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_set_schema_location_adjusted( |
| axis2_svc_t *svc, |
| const axutil_env_t *env, |
| const axis2_bool_t adjusted); */ |
| |
| /** |
| * Gets XML schema mapping table for service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to hash map with XML schema mappings, returns a |
| * reference, not a cloned copy |
| */ |
| /* |
| AXIS2_EXTERN axutil_hash_t *AXIS2_CALL |
| |
| axis2_svc_axis2_svc_get_schema_mapping_table( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env); */ |
| |
| /** |
| * Sets XML schema mapping table for service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param table pointer to hash map with XML schema mappings, service |
| * assumes ownership of the map |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /* |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_set_schema_mapping_table( |
| axis2_svc_t *svc, |
| const axutil_env_t *env, |
| axutil_hash_t *table); */ |
| |
| /** |
| * Gets custom schema prefix. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return custom schema prefix string |
| */ |
| /* |
| AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| |
| axis2_svc_get_custom_schema_prefix( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env); */ |
| |
| /** |
| * Sets custom schema prefix. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param prefix custom schema prefix string |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /* |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_set_custom_schema_prefix( |
| axis2_svc_t *svc, |
| const axutil_env_t *env, |
| const axis2_char_t *prefix); */ |
| |
| /** |
| * Gets custom schema suffix. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return custom schema suffix string |
| */ |
| /* |
| AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| |
| axis2_svc_get_custom_schema_suffix( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env); */ |
| |
| /** |
| * Sets custom schema suffix. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param suffix custom schema suffix string |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /* |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_set_custom_schema_suffix( |
| axis2_svc_t *svc, |
| const axutil_env_t *env, |
| const axis2_char_t *suffix); */ |
| |
| /** |
| * Prints the schema to given stream. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param out_stream stream to print to |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /* |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_print_schema( |
| axis2_svc_t *svc, |
| const axutil_env_t *env, |
| axutil_stream_t *out_stream); */ |
| |
| /** |
| * Gets the XML schema at the given index of XML schema array list. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param index index of the XML schema to be retrieved |
| * @return pointer to XML schema, returns a reference, not a cloned copy |
| */ |
| /*AXIS2_EXTERN xml_schema_t *AXIS2_CALL |
| |
| axis2_svc_get_schema( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env, |
| const int index); */ |
| |
| /** |
| * Adds all namespaces in the namespace map to the XML schema at |
| * the given index of the XML schema array list. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param index index of the XML schema to be processed |
| * @return pointer to XML schema with namespaces added, |
| * returns a reference, not a cloned copy |
| */ |
| |
| /* AXIS2_EXTERN xml_schema_t *AXIS2_CALL |
| |
| axis2_svc_add_all_namespaces( |
| axis2_svc_t *svc, |
| const axutil_env_t *env, |
| int index);*/ |
| |
| /** |
| * Gets the list of XML schemas associated with service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to array list of XML schemas, returns a reference, |
| * not a cloned copy |
| */ |
| /* |
| AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL |
| |
| axis2_svc_get_all_schemas( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env); */ |
| |
| /** |
| * Adds the given XML schema to the list of XML schemas associated |
| * with the service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param schema pointer to XML schema struct, service assumes the |
| * ownership of struct |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /* |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_add_schema( |
| axis2_svc_t *svc, |
| const axutil_env_t *env, |
| xml_schema_t *schema); */ |
| |
| /** |
| * Adds the list of all XML schemas to service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param schemas pointer to array list containing XML schemas |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /* |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_add_all_schemas( |
| axis2_svc_t *svc, |
| const axutil_env_t *env, |
| axutil_array_list_t *schemas); */ |
| |
| /** |
| * Gets XML schema's target namespace. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return XML schema target namespace string |
| */ |
| /* |
| AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| |
| axis2_svc_get_schema_target_ns( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env); */ |
| |
| /** |
| * Sets XML schema's target namespace. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param ns namespace string |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /* |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_set_schema_target_ns( |
| axis2_svc_t *svc, |
| const axutil_env_t *env, |
| const axis2_char_t *ns); */ |
| |
| /** |
| * Gets XML schema's target namespace prefix. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return XML schema target namespace prefix string |
| */ |
| /* |
| AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| |
| axis2_svc_get_schema_target_ns_prefix( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env); */ |
| |
| /** |
| * Sets XML schema's target namespace prefix. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param prefix namespace prefix string |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /* |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_set_schema_target_ns_prefix( |
| axis2_svc_t *svc, |
| const axutil_env_t *env, |
| const axis2_char_t *prefix); */ |
| |
| /** |
| * Gets target namespace. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return target namespace as a string |
| */ |
| AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| axis2_svc_get_target_ns( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Sets target namespace. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param ns target namespace as a string |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| saxis2_svc_et_target_ns( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axis2_char_t * ns); |
| |
| /** |
| * Gets target namespace prefix. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return target namespace prefix string |
| */ |
| AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| |
| axis2_svc_get_target_ns_prefix( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Sets target namespace prefix. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param prefix target namespace prefix string |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_set_target_ns_prefix( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| const axis2_char_t * prefix); |
| |
| /** |
| * Gets XML schemas element corresponding to the given QName. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param qname QName of the XML schema element to be retrieved |
| * @return pointer to XML schema element, returns a reference, not a |
| * cloned copy |
| */ |
| /*AXIS2_EXTERN xml_schema_element_t *AXIS2_CALL |
| |
| axis2_svc_get_schema_element( |
| const axis2_svc_t *svc, |
| const axutil_env_t *env, |
| const axutil_qname_t *qname); */ |
| |
| /** |
| * Gets the namespace map with all namespaces related to service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return pointer to hash map containing all namespaces, returns a |
| * reference, not a cloned copy |
| */ |
| AXIS2_EXTERN axutil_hash_t *AXIS2_CALL |
| gaxis2_svc_et_ns_map( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Sets the namespace map with all namespaces related to service. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @param ns_map pointer to hash map containing all namespaces |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_set_ns_map( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| axutil_hash_t * ns_map); |
| |
| /** |
| * 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. |
| * @param svc pointer to service struct |
| * @param env pointer to environment struct |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| /*AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| |
| axis2_svc_populate_schema_mappings( |
| axis2_svc_t *svc, |
| const axutil_env_t *env); */ |
| |
| AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL |
| |
| axis2_svc_get_param_container( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL |
| |
| axis2_svc_get_flow_container( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /** |
| * Creates a service struct instance. |
| * @param env pointer to environment struct |
| * @return pointer to newly created service |
| */ |
| AXIS2_EXTERN axis2_svc_t *AXIS2_CALL |
| axis2_svc_create( |
| const axutil_env_t * env); |
| |
| /** |
| * Creates a service struct with given QName. |
| * @param env pointer to environment struct |
| * @param qname service QName |
| * @return pointer to newly created service |
| */ |
| AXIS2_EXTERN axis2_svc_t *AXIS2_CALL |
| axis2_svc_create_with_qname( |
| const axutil_env_t * env, |
| const axutil_qname_t * qname); |
| |
| AXIS2_EXTERN void *AXIS2_CALL |
| axis2_svc_get_impl_class( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axis2_svc_set_impl_class( |
| axis2_svc_t * svc, |
| const axutil_env_t * env, |
| void *impl_class); |
| |
| /** |
| * Gets base description. |
| * @param svc pointer to message |
| * @param env pointer to environment struct |
| * @return pointer to base description struct |
| */ |
| AXIS2_EXTERN axis2_desc_t *AXIS2_CALL |
| axis2_svc_get_base( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| |
| /* Get the mutex associated with this service |
| * @param svc pointer to message |
| * @param env pointer to environment struct |
| * @return pointer to a axutil_thread_mutext_t |
| */ |
| AXIS2_EXTERN axutil_thread_mutex_t * AXIS2_CALL |
| axis2_svc_get_mutex( |
| const axis2_svc_t * svc, |
| const axutil_env_t * env); |
| /** @} */ |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif /* AXIS2_SVC_H */ |