# axis2_svc.h

Go to the documentation of this file.

    00001
    00002 /*
    00003  * Licensed to the Apache Software Foundation (ASF) under one or more
    00004  * contributor license agreements.  See the NOTICE file distributed with
    00005  * this work for additional information regarding copyright ownership.
    00006  * The ASF licenses this file to You under the Apache License, Version 2.0
    00007  * (the "License"); you may not use this file except in compliance with
    00008  * the License.  You may obtain a copy of the License at
    00009  *
    00010  *      http://www.apache.org/licenses/LICENSE-2.0
    00011  *
    00012  * Unless required by applicable law or agreed to in writing, software
    00013  * distributed under the License is distributed on an "AS IS" BASIS,
    00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00015  * See the License for the specific language governing permissions and
    00016  * limitations under the License.
    00017  */
    00018
    00019 #ifndef AXIS2_SVC_H
    00020 #define AXIS2_SVC_H
    00021
    00047 #include <axutil_param_container.h>
    00048 #include <axis2_flow_container.h>
    00049 #include <axis2_op.h>
    00050 #include <axis2_svc_grp.h>
    00051 #include <axutil_qname.h>
    00052 #include <axutil_error.h>
    00053 #include <axutil_array_list.h>
    00054 #include <axis2_const.h>
    00055 #include <axis2_phase_resolver.h>
    00056 #include <axis2_module_desc.h>
    00057 #include <axis2_conf.h>
    00058 #include <axutil_string.h>
    00059 #include <axutil_stream.h>
    00060
    00061 #ifdef __cplusplus
    00062 extern "C"
    00063 {
    00064 #endif
    00065
    00067     typedef struct axis2_svc axis2_svc_t;
    00068
    00069     struct axis2_svc_grp;
    00070     struct axis2_flow_container;
    00071     struct axutil_param_container;
    00072     struct axis2_module_desc;
    00073     struct axis2_conf;
    00074
    00081     AXIS2_EXTERN void AXIS2_CALL
    00082     axis2_svc_free(
    00083         axis2_svc_t * svc,
    00084         const axutil_env_t * env);
    00085
    00094     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00095     axis2_svc_add_op(
    00096         axis2_svc_t * svc,
    00097         const axutil_env_t * env,
    00098         struct axis2_op *op);
    00099
    00107     AXIS2_EXTERN struct axis2_op *AXIS2_CALL
    00108     axis2_svc_get_op_with_qname(
    00109         const axis2_svc_t * svc,
    00110         const axutil_env_t * env,
    00111         const axutil_qname_t * op_qname);
    00112
    00123     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
    00124     axis2_svc_get_rest_op_list_with_method_and_location(
    00125         const axis2_svc_t * svc,
    00126         const axutil_env_t * env,
    00127         const axis2_char_t * http_method,
    00128         const axis2_char_t * http_location);
    00129
    00130
    00138     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
    00139     axis2_svc_get_rest_map(
    00140         const axis2_svc_t * svc,
    00141         const axutil_env_t * env);
    00142
    00150     AXIS2_EXTERN struct axis2_op *AXIS2_CALL
    00151                 axis2_svc_get_op_with_name(
    00152                     const axis2_svc_t * svc,
    00153                     const axutil_env_t * env,
    00154                     const axis2_char_t * op_name);
    00155
    00162     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
    00163     axis2_svc_get_all_ops(
    00164         const axis2_svc_t * svc,
    00165         const axutil_env_t * env);
    00166
    00174     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00175     axis2_svc_set_parent(
    00176         axis2_svc_t * svc,
    00177         const axutil_env_t * env,
    00178         struct axis2_svc_grp *svc_grp);
    00179
    00186     AXIS2_EXTERN struct axis2_svc_grp *AXIS2_CALL
    00187                 axis2_svc_get_parent(
    00188                     const axis2_svc_t * svc,
    00189                     const axutil_env_t * env);
    00190
    00198     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00199     axis2_svc_set_qname(
    00200         axis2_svc_t * svc,
    00201         const axutil_env_t * env,
    00202         const axutil_qname_t * qname);
    00203
    00210     AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
    00211     axis2_svc_get_qname(
    00212         const axis2_svc_t * svc,
    00213         const axutil_env_t * env);
    00214
    00223     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00224     axis2_svc_add_param(
    00225         axis2_svc_t * svc,
    00226         const axutil_env_t * env,
    00227         axutil_param_t * param);
    00228
    00237     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
    00238     axis2_svc_get_param(
    00239         const axis2_svc_t * svc,
    00240         const axutil_env_t * env,
    00241         const axis2_char_t * name);
    00242
    00250     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
    00251     axis2_svc_get_all_params(
    00252         const axis2_svc_t * svc,
    00253         const axutil_env_t * env);
    00254
    00262     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
    00263     axis2_svc_is_param_locked(
    00264         axis2_svc_t * svc,
    00265         const axutil_env_t * env,
    00266         const axis2_char_t * param_name);
    00267
    00278     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00279     axis2_svc_engage_module(
    00280         axis2_svc_t * svc,
    00281         const axutil_env_t * env,
    00282         struct axis2_module_desc *module_desc,
    00283         struct axis2_conf *conf);
    00284
    00295     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00296     axis2_svc_disengage_module(
    00297         axis2_svc_t * svc,
    00298         const axutil_env_t * env,
    00299         struct axis2_module_desc *module_desc,
    00300         struct axis2_conf *conf);
    00301
    00309     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
    00310     axis2_svc_is_module_engaged(
    00311         axis2_svc_t * svc,
    00312         const axutil_env_t * env,
    00313         axutil_qname_t * module_qname);
    00314
    00321     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
    00322     axis2_svc_get_engaged_module_list(
    00323         const axis2_svc_t * svc,
    00324         const axutil_env_t * env);
    00325
    00341     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00342     axis2_svc_add_module_ops(
    00343         axis2_svc_t * svc,
    00344         const axutil_env_t * env,
    00345         struct axis2_module_desc *module_desc,
    00346         struct axis2_conf *axis2_config);
    00347
    00356     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00357
    00358        axis2_svc_add_to_engaged_module_list(axis2_svc_t *svc,
    00359        const axutil_env_t *env,
    00360        struct axis2_module_desc *module_desc); */
    00361
    00368     /*AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
    00369
    00370        axis2_svc_get_all_engaged_modules(const axis2_svc_t *svc,
    00371        const axutil_env_t *env); */
    00372
    00380     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00381     axis2_svc_set_style(
    00382         axis2_svc_t * svc,
    00383         const axutil_env_t * env,
    00384         const axis2_char_t * style);
    00385
    00392     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    00393     axis2_svc_get_style(
    00394         const axis2_svc_t * svc,
    00395         const axutil_env_t * env);
    00396
    00404     /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
    00405
    00406        axis2_svc_get_in_flow(const axis2_svc_t *svc,
    00407        const axutil_env_t *env); */
    00408
    00417     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00418
    00419        axis2_svc_set_in_flow(axis2_svc_t *svc,
    00420        const axutil_env_t *env,
    00421        struct axis2_flow *in_flow); */
    00422
    00430     /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
    00431
    00432        axis2_svc_get_out_flow(
    00433        const axis2_svc_t *svc,
    00434        const axutil_env_t *env); */
    00435
    00444     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00445
    00446        axis2_svc_set_out_flow(
    00447        axis2_svc_t *svc,
    00448        const axutil_env_t *env,
    00449        struct axis2_flow *out_flow); */
    00450
    00458     /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
    00459
    00460        axis2_svc_get_fault_in_flow(
    00461        const axis2_svc_t *svc,
    00462        const axutil_env_t *env); */
    00463
    00472     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00473
    00474        axis2_svc_set_fault_in_flow(
    00475        axis2_svc_t *svc,
    00476        const axutil_env_t *env,
    00477        struct axis2_flow *fault_flow); */
    00478
    00486     /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
    00487
    00488        axis2_svc_get_fault_out_flow(
    00489        const axis2_svc_t *svc,
    00490        const axutil_env_t *env); */
    00491
    00500     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00501
    00502        axis2_svc_set_fault_out_flow(
    00503        axis2_svc_t *svc,
    00504        const axutil_env_t *env,
    00505        struct axis2_flow *fault_flow); */
    00506
    00515     AXIS2_EXTERN struct axis2_op *AXIS2_CALL
    00516                 axis2_svc_get_op_by_soap_action(
    00517                     const axis2_svc_t * svc,
    00518                     const axutil_env_t * env,
    00519                     const axis2_char_t * soap_action);
    00520
    00530     /*AXIS2_EXTERN struct axis2_op *AXIS2_CALL
    00531
    00532        axis2_svc_get_op_by_soap_action_and_endpoint(
    00533        const axis2_svc_t *svc,
    00534        const axutil_env_t *env,
    00535        const axis2_char_t *soap_action,
    00536        const axutil_qname_t *endpoint); */
    00537
    00544     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    00545     axis2_svc_get_name(
    00546         const axis2_svc_t * svc,
    00547         const axutil_env_t * env);
    00548
    00556     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00557     axis2_svc_set_name(
    00558         axis2_svc_t * svc,
    00559         const axutil_env_t * env,
    00560         const axis2_char_t * svc_name);
    00561
    00568     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00569     axis2_svc_set_last_update(
    00570         axis2_svc_t * svc,
    00571         const axutil_env_t * env);
    00572
    00579     AXIS2_EXTERN long AXIS2_CALL
    00580     axis2_svc_get_last_update(
    00581         const axis2_svc_t * svc,
    00582         const axutil_env_t * env);
    00583
    00591     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    00592     axis2_svc_get_svc_desc(
    00593         const axis2_svc_t * svc,
    00594         const axutil_env_t * env);
    00595
    00602     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00603     axis2_svc_set_svc_desc(
    00604         axis2_svc_t * svc,
    00605         const axutil_env_t * env,
    00606         const axis2_char_t * svc_desc);
    00607
    00615     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    00616     axis2_svc_get_svc_wsdl_path(
    00617         const axis2_svc_t * svc,
    00618         const axutil_env_t * env);
    00619
    00626     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00627     axis2_svc_set_svc_wsdl_path(
    00628         axis2_svc_t * svc,
    00629         const axutil_env_t * env,
    00630         const axis2_char_t * wsdl_path);
    00631
    00639     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    00640     axis2_svc_get_svc_folder_path(
    00641         const axis2_svc_t * svc,
    00642         const axutil_env_t * env);
    00643
    00650     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00651     axis2_svc_set_svc_folder_path(
    00652         axis2_svc_t * svc,
    00653         const axutil_env_t * env,
    00654         const axis2_char_t * folder_path);
    00655
    00665     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    00666     axis2_svc_get_file_name(
    00667         const axis2_svc_t * svc,
    00668         const axutil_env_t * env);
    00669
    00680     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00681     axis2_svc_set_file_name(
    00682         axis2_svc_t * svc,
    00683         const axutil_env_t * env,
    00684         const axis2_char_t * file_name);
    00685
    00692     /*AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
    00693
    00694        axis2_svc_get_all_endpoints(
    00695        const axis2_svc_t *svc,
    00696        const axutil_env_t *env); */
    00697
    00705     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00706
    00707        axis2_svc_set_all_endpoints(
    00708        axis2_svc_t *svc,
    00709        const axutil_env_t *env,
    00710        axutil_hash_t *endpoints); */
    00711
    00718     /*AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    00719
    00720        axis2_svc_get_namespace(
    00721        const axis2_svc_t *svc,
    00722        const axutil_env_t *env);
    00723      */
    00724
    00738     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00739     axis2_svc_add_mapping(
    00740         axis2_svc_t * svc,
    00741         const axutil_env_t * env,
    00742         const axis2_char_t * wsa_action,
    00743         struct axis2_op *axis2_op);
    00744
    00758     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00759     axis2_svc_add_rest_mapping(
    00760         axis2_svc_t * svc,
    00761         const axutil_env_t * env,
    00762         const axis2_char_t * method,
    00763         const axis2_char_t * location,
    00764         struct axis2_op *axis2_op);
    00765
    00774     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00775     axis2_svc_add_module_qname(
    00776         axis2_svc_t * svc,
    00777         const axutil_env_t * env,
    00778         const axutil_qname_t * module_qname);
    00779
    00786     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
    00787
    00788     axis2_svc_get_all_module_qnames(
    00789         const axis2_svc_t * svc,
    00790         const axutil_env_t * env);
    00791
    00798     /*AXIS2_EXTERN axis2_bool_t AXIS2_CALL
    00799
    00800        axis2_svc_is_schema_location_adjusted(
    00801        axis2_svc_t *svc,
    00802        const axutil_env_t *env);
    00803      */
    00804
    00812     /*
    00813     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00814
    00815        axis2_svc_set_schema_location_adjusted(
    00816        axis2_svc_t *svc,
    00817        const axutil_env_t *env,
    00818        const axis2_bool_t adjusted); */
    00819
    00827     /*
    00828     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
    00829
    00830        axis2_svc_axis2_svc_get_schema_mapping_table(
    00831        const axis2_svc_t *svc,
    00832        const axutil_env_t *env); */
    00833
    00842     /*
    00843        AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00844
    00845            axis2_svc_set_schema_mapping_table(
    00846            axis2_svc_t *svc,
    00847            const axutil_env_t *env,
    00848            axutil_hash_t *table); */
    00849
    00856     /*
    00857        AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    00858
    00859            axis2_svc_get_custom_schema_prefix(
    00860            const axis2_svc_t *svc,
    00861            const axutil_env_t *env); */
    00862
    00870     /*
    00871        AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00872
    00873            axis2_svc_set_custom_schema_prefix(
    00874            axis2_svc_t *svc,
    00875            const axutil_env_t *env,
    00876            const axis2_char_t *prefix); */
    00877
    00884     /*
    00885     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    00886
    00887        axis2_svc_get_custom_schema_suffix(
    00888        const axis2_svc_t *svc,
    00889        const axutil_env_t *env); */
    00890
    00898     /*
    00899     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00900
    00901        axis2_svc_set_custom_schema_suffix(
    00902        axis2_svc_t *svc,
    00903        const axutil_env_t *env,
    00904        const axis2_char_t *suffix); */
    00905
    00913     /*
    00914        AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00915
    00916            axis2_svc_print_schema(
    00917            axis2_svc_t *svc,
    00918            const axutil_env_t *env,
    00919            axutil_stream_t *out_stream); */
    00920
    00928     /*AXIS2_EXTERN xml_schema_t *AXIS2_CALL
    00929
    00930        axis2_svc_get_schema(
    00931        const axis2_svc_t *svc,
    00932        const axutil_env_t *env,
    00933        const int index); */
    00934
    00945     /*    AXIS2_EXTERN xml_schema_t *AXIS2_CALL
    00946
    00947                 axis2_svc_add_all_namespaces(
    00948                     axis2_svc_t *svc,
    00949                     const axutil_env_t *env,
    00950                     int index);*/
    00951
    00959     /*
    00960     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
    00961
    00962        axis2_svc_get_all_schemas(
    00963        const axis2_svc_t *svc,
    00964        const axutil_env_t *env); */
    00965
    00975     /*
    00976     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00977
    00978        axis2_svc_add_schema(
    00979        axis2_svc_t *svc,
    00980        const axutil_env_t *env,
    00981        xml_schema_t *schema); */
    00982
    00990     /*
    00991        AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00992
    00993            axis2_svc_add_all_schemas(
    00994            axis2_svc_t *svc,
    00995            const axutil_env_t *env,
    00996            axutil_array_list_t *schemas); */
    00997
    01004     /*
    01005        AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    01006
    01007            axis2_svc_get_schema_target_ns(
    01008            const axis2_svc_t *svc,
    01009            const axutil_env_t *env); */
    01010
    01018     /*
    01019        AXIS2_EXTERN axis2_status_t AXIS2_CALL
    01020
    01021            axis2_svc_set_schema_target_ns(
    01022            axis2_svc_t *svc,
    01023            const axutil_env_t *env,
    01024            const axis2_char_t *ns); */
    01025
    01032     /*
    01033        AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    01034
    01035            axis2_svc_get_schema_target_ns_prefix(
    01036            const axis2_svc_t *svc,
    01037            const axutil_env_t *env); */
    01038
    01046     /*
    01047        AXIS2_EXTERN axis2_status_t AXIS2_CALL
    01048
    01049            axis2_svc_set_schema_target_ns_prefix(
    01050            axis2_svc_t *svc,
    01051            const axutil_env_t *env,
    01052            const axis2_char_t *prefix); */
    01053
    01060     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    01061     axis2_svc_get_target_ns(
    01062         const axis2_svc_t * svc,
    01063         const axutil_env_t * env);
    01064
    01072     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    01073     saxis2_svc_et_target_ns(
    01074         axis2_svc_t * svc,
    01075         const axutil_env_t * env,
    01076         const axis2_char_t * ns);
    01077
    01084     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    01085
    01086     axis2_svc_get_target_ns_prefix(
    01087         const axis2_svc_t * svc,
    01088         const axutil_env_t * env);
    01089
    01097     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    01098     axis2_svc_set_target_ns_prefix(
    01099         axis2_svc_t * svc,
    01100         const axutil_env_t * env,
    01101         const axis2_char_t * prefix);
    01102
    01111     /*AXIS2_EXTERN xml_schema_element_t *AXIS2_CALL
    01112
    01113        axis2_svc_get_schema_element(
    01114        const axis2_svc_t *svc,
    01115        const axutil_env_t *env,
    01116        const axutil_qname_t *qname); */
    01117
    01125     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
    01126     gaxis2_svc_et_ns_map(
    01127         const axis2_svc_t * svc,
    01128         const axutil_env_t * env);
    01129
    01137     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    01138     axis2_svc_set_ns_map(
    01139         axis2_svc_t * svc,
    01140         const axutil_env_t * env,
    01141         axutil_hash_t * ns_map);
    01142
    01151     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
    01152
    01153        axis2_svc_populate_schema_mappings(
    01154        axis2_svc_t *svc,
    01155        const axutil_env_t *env); */
    01156
    01157     AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
    01158
    01159     axis2_svc_get_param_container(
    01160         const axis2_svc_t * svc,
    01161         const axutil_env_t * env);
    01162
    01163     AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL
    01164
    01165     axis2_svc_get_flow_container(
    01166         const axis2_svc_t * svc,
    01167         const axutil_env_t * env);
    01168
    01174     AXIS2_EXTERN axis2_svc_t *AXIS2_CALL
    01175     axis2_svc_create(
    01176         const axutil_env_t * env);
    01177
    01184     AXIS2_EXTERN axis2_svc_t *AXIS2_CALL
    01185     axis2_svc_create_with_qname(
    01186         const axutil_env_t * env,
    01187         const axutil_qname_t * qname);
    01188
    01189     AXIS2_EXTERN void *AXIS2_CALL
    01190     axis2_svc_get_impl_class(
    01191         const axis2_svc_t * svc,
    01192         const axutil_env_t * env);
    01193
    01194     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    01195     axis2_svc_set_impl_class(
    01196         axis2_svc_t * svc,
    01197         const axutil_env_t * env,
    01198         void *impl_class);
    01199
    01206     AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
    01207     axis2_svc_get_base(
    01208         const axis2_svc_t * svc,
    01209         const axutil_env_t * env);
    01210
    01211         /* Get the mutex associated with this service
    01212          * @param svc pointer to message
    01213      * @param env pointer to environment struct
    01214      * @return pointer to a axutil_thread_mutext_t
    01215      */
    01216         AXIS2_EXTERN axutil_thread_mutex_t * AXIS2_CALL
    01217         axis2_svc_get_mutex(
    01218                 const axis2_svc_t * svc,
    01219                 const axutil_env_t * env);
    01221 #ifdef __cplusplus
    01222 }
    01223 #endif
    01224 #endif                          /* AXIS2_SVC_H */