# axis2_svc_client.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_CLIENT_H
    00020 #define AXIS2_SVC_CLIENT_H
    00021
    00043 #include <axis2_defines.h>
    00044 #include <axutil_env.h>
    00045 #include <axutil_uri.h>
    00046 #include <axis2_svc.h>
    00047 #include <axis2_options.h>
    00048 #include <axutil_qname.h>
    00049 #include <axiom_element.h>
    00050 #include <axis2_callback.h>
    00051 #include <axis2_endpoint_ref.h>
    00052 #include <axis2_svc_ctx.h>
    00053 #include <axis2_conf_ctx.h>
    00054 #include <axis2_op_client.h>
    00055 #include <axutil_string.h>
    00056 #include <neethi_policy.h>
    00057
    00058 #ifdef __cplusplus
    00059 extern "C"
    00060 {
    00061 #endif
    00062
    00064     typedef struct axis2_svc_client axis2_svc_client_t;
    00065
    00074     AXIS2_EXTERN axis2_svc_t *AXIS2_CALL
    00075     axis2_svc_client_get_svc(
    00076         const axis2_svc_client_t * svc_client,
    00077         const axutil_env_t * env);
    00078
    00087     AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL
    00088     axis2_svc_client_get_conf_ctx(
    00089         const axis2_svc_client_t * svc_client,
    00090         const axutil_env_t * env);
    00091
    00099     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00100     axis2_svc_client_set_options(
    00101         axis2_svc_client_t * svc_client,
    00102         const axutil_env_t * env,
    00103         const axis2_options_t * options);
    00104
    00112     AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
    00113     axis2_svc_client_get_options(
    00114         const axis2_svc_client_t * svc_client,
    00115         const axutil_env_t * env);
    00116
    00126     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00127     axis2_svc_client_set_override_options(
    00128         axis2_svc_client_t * svc_client,
    00129         const axutil_env_t * env,
    00130         const axis2_options_t * override_options);
    00131
    00139     AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
    00140     axis2_svc_client_get_override_options(
    00141         const axis2_svc_client_t * svc_client,
    00142         const axutil_env_t * env);
    00143
    00155     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00156     axis2_svc_client_engage_module(
    00157         axis2_svc_client_t * svc_client,
    00158         const axutil_env_t * env,
    00159         const axis2_char_t * module_name);
    00160
    00170     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00171     axis2_svc_client_disengage_module(
    00172         axis2_svc_client_t * svc_client,
    00173         const axutil_env_t * env,
    00174         const axis2_char_t * module_name);
    00175
    00186     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00187     axis2_svc_client_add_header(
    00188         axis2_svc_client_t * svc_client,
    00189         const axutil_env_t * env,
    00190         axiom_node_t * header);
    00191
    00198     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00199     axis2_svc_client_remove_all_headers(
    00200         axis2_svc_client_t * svc_client,
    00201         const axutil_env_t * env);
    00202
    00216     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00217     axis2_svc_client_send_robust_with_op_qname(
    00218         axis2_svc_client_t * svc_client,
    00219         const axutil_env_t * env,
    00220         const axutil_qname_t * op_qname,
    00221         const axiom_node_t * payload);
    00222
    00236     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00237     axis2_svc_client_send_robust(
    00238         axis2_svc_client_t * svc_client,
    00239         const axutil_env_t * env,
    00240         const axiom_node_t * payload);
    00241
    00254     AXIS2_EXTERN void AXIS2_CALL
    00255     axis2_svc_client_fire_and_forget_with_op_qname(
    00256         axis2_svc_client_t * svc_client,
    00257         const axutil_env_t * env,
    00258         const axutil_qname_t * op_qname,
    00259         const axiom_node_t * payload);
    00260
    00271     AXIS2_EXTERN void AXIS2_CALL
    00272     axis2_svc_client_fire_and_forget(
    00273         axis2_svc_client_t * svc_client,
    00274         const axutil_env_t * env,
    00275         const axiom_node_t * payload);
    00276
    00289     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
    00290     axis2_svc_client_send_receive_with_op_qname(
    00291         axis2_svc_client_t * svc_client,
    00292         const axutil_env_t * env,
    00293         const axutil_qname_t * op_qname,
    00294         const axiom_node_t * payload);
    00295
    00306     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
    00307     axis2_svc_client_send_receive(
    00308         axis2_svc_client_t * svc_client,
    00309         const axutil_env_t * env,
    00310         const axiom_node_t * payload);
    00311
    00324     AXIS2_EXTERN void AXIS2_CALL
    00325     axis2_svc_client_send_receive_non_blocking_with_op_qname(
    00326         axis2_svc_client_t * svc_client,
    00327         const axutil_env_t * env,
    00328         const axutil_qname_t * op_qname,
    00329         const axiom_node_t * payload,
    00330         axis2_callback_t * callback);
    00331
    00342     AXIS2_EXTERN void AXIS2_CALL
    00343     axis2_svc_client_send_receive_non_blocking(
    00344         axis2_svc_client_t * svc_client,
    00345         const axutil_env_t * env,
    00346         const axiom_node_t * payload,
    00347         axis2_callback_t * callback);
    00348
    00358     AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
    00359     axis2_svc_client_create_op_client(
    00360         axis2_svc_client_t * svc_client,
    00361         const axutil_env_t * env,
    00362         const axutil_qname_t * op_qname);
    00363
    00372     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00373     axis2_svc_client_finalize_invoke(
    00374         axis2_svc_client_t * svc_client,
    00375         const axutil_env_t * env);
    00376
    00386     AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL
    00387     axis2_svc_client_get_own_endpoint_ref(
    00388         const axis2_svc_client_t * svc_client,
    00389         const axutil_env_t * env,
    00390         const axis2_char_t * transport);
    00391
    00399     AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL
    00400     axis2_svc_client_get_target_endpoint_ref(
    00401         const axis2_svc_client_t * svc_client,
    00402         const axutil_env_t * env);
    00403
    00412     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00413     axis2_svc_client_set_target_endpoint_ref(
    00414         axis2_svc_client_t * svc_client,
    00415         const axutil_env_t * env,
    00416         axis2_endpoint_ref_t * target_epr);
    00417
    00430     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00431     axis2_svc_client_set_proxy_with_auth(
    00432         axis2_svc_client_t * svc_client,
    00433         const axutil_env_t * env,
    00434         axis2_char_t * proxy_host,
    00435         axis2_char_t * proxy_port,
    00436         axis2_char_t * username,
    00437         axis2_char_t * password);
    00438
    00447     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00448     axis2_svc_client_set_proxy(
    00449         axis2_svc_client_t * svc_client,
    00450         const axutil_env_t * env,
    00451         axis2_char_t * proxy_host,
    00452         axis2_char_t * proxy_port);
    00453
    00461     AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL
    00462     axis2_svc_client_get_svc_ctx(
    00463         const axis2_svc_client_t * svc_client,
    00464         const axutil_env_t * env);
    00465
    00472     AXIS2_EXTERN void AXIS2_CALL
    00473     axis2_svc_client_free(
    00474         axis2_svc_client_t * svc_client,
    00475         const axutil_env_t * env);
    00476
    00484     AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
    00485     axis2_svc_client_get_op_client(
    00486         const axis2_svc_client_t * svc_client,
    00487         const axutil_env_t * env);
    00488
    00496     AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL
    00497     axis2_svc_client_create(
    00498         const axutil_env_t * env,
    00499         const axis2_char_t * client_home);
    00500
    00513     AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL
    00514     axis2_svc_client_create_with_conf_ctx_and_svc(
    00515         const axutil_env_t * env,
    00516         const axis2_char_t * client_home,
    00517         axis2_conf_ctx_t * conf_ctx,
    00518         axis2_svc_t * svc);
    00519
    00527     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
    00528     axis2_svc_client_get_last_response_soap_envelope(
    00529         const axis2_svc_client_t * svc_client,
    00530         const axutil_env_t * env);
    00531
    00538     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
    00539     axis2_svc_client_get_last_response_has_fault(
    00540         const axis2_svc_client_t * svc_client,
    00541         const axutil_env_t * env);
    00542
    00549     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00550     axis2_svc_client_get_auth_type(
    00551         const axis2_svc_client_t * svc_client,
    00552         const axutil_env_t * env);
    00553
    00561     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
    00562     axis2_svc_client_get_http_auth_required(
    00563         const axis2_svc_client_t * svc_client,
    00564         const axutil_env_t * env);
    00565
    00573     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
    00574     axis2_svc_client_get_proxy_auth_required(
    00575         const axis2_svc_client_t * svc_client,
    00576         const axutil_env_t * env);
    00577
    00585     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00586     axis2_svc_client_set_policy_from_om(
    00587         axis2_svc_client_t * svc_client,
    00588         const axutil_env_t * env,
    00589         axiom_node_t * root_node);
    00590
    00598     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00599     axis2_svc_client_set_policy(
    00600         axis2_svc_client_t * svc_client,
    00601         const axutil_env_t * env,
    00602         neethi_policy_t * policy);
    00603
    00610     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
    00611     axis2_svc_client_get_http_headers(
    00612         axis2_svc_client_t * svc_client,
    00613         const axutil_env_t * env);
    00614
    00621     AXIS2_EXTERN int AXIS2_CALL
    00622     axis2_svc_client_get_http_status_code(
    00623         axis2_svc_client_t * svc_client,
    00624         const axutil_env_t * env);
    00625
    00632     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00633     axis2_svc_client_close(
    00634         axis2_svc_client_t * svc_client,
    00635         const axutil_env_t * env);
    00636
    00638 #ifdef __cplusplus
    00639 }
    00640 #endif
    00641
    00642 #endif                          /* AXIS2_SVC_CLIENT_H */