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 
00059 #define AXIS2_ANON_SERVICE  "__ANONYMOUS_SERVICE__"
00060 
00062 #define AXIS2_ANON_OUT_ONLY_OP "__OPERATION_OUT_ONLY__"
00063 
00065 #define AXIS2_ANON_ROBUST_OUT_ONLY_OP "__OPERATION_ROBUST_OUT_ONLY__"
00066 
00068 #define AXIS2_ANON_OUT_IN_OP "__OPERATION_OUT_IN__"
00069 
00071 #define AXIS2_WSDL_LOCATION_IN_REPO "woden"
00072 
00073 #ifdef __cplusplus
00074 extern "C"
00075 {
00076 #endif
00077 
00079     typedef struct axis2_svc_client axis2_svc_client_t;
00080 
00089     AXIS2_EXTERN axis2_svc_t *AXIS2_CALL
00090     axis2_svc_client_get_svc(
00091         const axis2_svc_client_t * svc_client,
00092         const axutil_env_t * env);
00093 
00101     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00102     axis2_svc_client_set_options(
00103         axis2_svc_client_t * svc_client,
00104         const axutil_env_t * env,
00105         const axis2_options_t * options);
00106 
00114     AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
00115     axis2_svc_client_get_options(
00116         const axis2_svc_client_t * svc_client,
00117         const axutil_env_t * env);
00118 
00128     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00129     axis2_svc_client_set_override_options(
00130         axis2_svc_client_t * svc_client,
00131         const axutil_env_t * env,
00132         const axis2_options_t * override_options);
00133 
00141     AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
00142     axis2_svc_client_get_override_options(
00143         const axis2_svc_client_t * svc_client,
00144         const axutil_env_t * env);
00145 
00157     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00158     axis2_svc_client_engage_module(
00159         axis2_svc_client_t * svc_client,
00160         const axutil_env_t * env,
00161         const axis2_char_t * module_name);
00162 
00172     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00173     axis2_svc_client_disengage_module(
00174         axis2_svc_client_t * svc_client,
00175         const axutil_env_t * env,
00176         const axis2_char_t * module_name);
00177 
00188     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00189     axis2_svc_client_add_header(
00190         axis2_svc_client_t * svc_client,
00191         const axutil_env_t * env,
00192         axiom_node_t * header);
00193 
00200     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00201     axis2_svc_client_remove_all_headers(
00202         axis2_svc_client_t * svc_client,
00203         const axutil_env_t * env);
00204 
00218     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00219     axis2_svc_client_send_robust_with_op_qname(
00220         axis2_svc_client_t * svc_client,
00221         const axutil_env_t * env,
00222         const axutil_qname_t * op_qname,
00223         const axiom_node_t * payload);
00224 
00238     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00239     axis2_svc_client_send_robust(
00240         axis2_svc_client_t * svc_client,
00241         const axutil_env_t * env,
00242         const axiom_node_t * payload);
00243 
00256     AXIS2_EXTERN void AXIS2_CALL
00257     axis2_svc_client_fire_and_forget_with_op_qname(
00258         axis2_svc_client_t * svc_client,
00259         const axutil_env_t * env,
00260         const axutil_qname_t * op_qname,
00261         const axiom_node_t * payload);
00262 
00273     AXIS2_EXTERN void AXIS2_CALL
00274     axis2_svc_client_fire_and_forget(
00275         axis2_svc_client_t * svc_client,
00276         const axutil_env_t * env,
00277         const axiom_node_t * payload);
00278 
00291     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00292     axis2_svc_client_send_receive_with_op_qname(
00293         axis2_svc_client_t * svc_client,
00294         const axutil_env_t * env,
00295         const axutil_qname_t * op_qname,
00296         const axiom_node_t * payload);
00297 
00308     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00309     axis2_svc_client_send_receive(
00310         axis2_svc_client_t * svc_client,
00311         const axutil_env_t * env,
00312         const axiom_node_t * payload);
00313 
00326     AXIS2_EXTERN void AXIS2_CALL
00327     axis2_svc_client_send_receive_non_blocking_with_op_qname(
00328         axis2_svc_client_t * svc_client,
00329         const axutil_env_t * env,
00330         const axutil_qname_t * op_qname,
00331         const axiom_node_t * payload,
00332         axis2_callback_t * callback);
00333 
00344     AXIS2_EXTERN void AXIS2_CALL
00345     axis2_svc_client_send_receive_non_blocking(
00346         axis2_svc_client_t * svc_client,
00347         const axutil_env_t * env,
00348         const axiom_node_t * payload,
00349         axis2_callback_t * callback);
00350 
00360     AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
00361     axis2_svc_client_create_op_client(
00362         axis2_svc_client_t * svc_client,
00363         const axutil_env_t * env,
00364         const axutil_qname_t * op_qname);
00365 
00374     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00375     axis2_svc_client_finalize_invoke(
00376         axis2_svc_client_t * svc_client,
00377         const axutil_env_t * env);
00378 
00388     AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL
00389     axis2_svc_client_get_own_endpoint_ref(
00390         const axis2_svc_client_t * svc_client,
00391         const axutil_env_t * env,
00392         const axis2_char_t * transport);
00393 
00401     AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL
00402     axis2_svc_client_get_target_endpoint_ref(
00403         const axis2_svc_client_t * svc_client,
00404         const axutil_env_t * env);
00405 
00414     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00415     axis2_svc_client_set_target_endpoint_ref(
00416         axis2_svc_client_t * svc_client,
00417         const axutil_env_t * env,
00418         axis2_endpoint_ref_t * target_epr);
00419 
00432     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00433     axis2_svc_client_set_proxy_with_auth(
00434         axis2_svc_client_t * svc_client,
00435         const axutil_env_t * env,
00436         axis2_char_t * proxy_host,
00437         axis2_char_t * proxy_port,
00438         axis2_char_t * username,
00439         axis2_char_t * password);
00440 
00449     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00450     axis2_svc_client_set_proxy(
00451         axis2_svc_client_t * svc_client,
00452         const axutil_env_t * env,
00453         axis2_char_t * proxy_host,
00454         axis2_char_t * proxy_port);
00455 
00463     AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL
00464     axis2_svc_client_get_svc_ctx(
00465         const axis2_svc_client_t * svc_client,
00466         const axutil_env_t * env);
00467 
00474     AXIS2_EXTERN void AXIS2_CALL
00475     axis2_svc_client_free(
00476         axis2_svc_client_t * svc_client,
00477         const axutil_env_t * env);
00478 
00486     AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
00487     axis2_svc_client_get_op_client(
00488         const axis2_svc_client_t * svc_client,
00489         const axutil_env_t * env);
00490 
00498     AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL
00499     axis2_svc_client_create(
00500         const axutil_env_t * env,
00501         const axis2_char_t * client_home);
00502 
00515     AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL
00516     axis2_svc_client_create_with_conf_ctx_and_svc(
00517         const axutil_env_t * env,
00518         const axis2_char_t * client_home,
00519         axis2_conf_ctx_t * conf_ctx,
00520         axis2_svc_t * svc);
00521 
00537     AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL
00538     axis2_svc_client_create_for_dynamic_invocation(
00539         const axutil_env_t * env,
00540         axis2_conf_ctx_t * conf_ctx,
00541         const axutil_uri_t * wsdl_uri,
00542         const axutil_qname_t * wsdl_svc_qname,
00543         const axis2_char_t * endpoint_name,
00544         const axis2_char_t * client_home);
00545 
00553     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00554     axis2_svc_client_get_last_response_soap_envelope(
00555         const axis2_svc_client_t * svc_client,
00556         const axutil_env_t * env);
00557 
00564     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00565     axis2_svc_client_get_last_response_has_fault(
00566         const axis2_svc_client_t * svc_client,
00567         const axutil_env_t * env);
00568 
00575     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00576     axis2_svc_client_get_auth_type(
00577         const axis2_svc_client_t * svc_client,
00578         const axutil_env_t * env);
00579 
00587     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00588     axis2_svc_client_get_http_auth_required(
00589         const axis2_svc_client_t * svc_client,
00590         const axutil_env_t * env);
00591 
00599     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00600     axis2_svc_client_get_proxy_auth_required(
00601         const axis2_svc_client_t * svc_client,
00602         const axutil_env_t * env);
00603 
00611     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00612     axis2_svc_client_set_policy_from_om(
00613         axis2_svc_client_t * svc_client,
00614         const axutil_env_t * env,
00615         axiom_node_t * root_node);
00616 
00624     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00625     axis2_svc_client_set_policy(
00626         axis2_svc_client_t * svc_client,
00627         const axutil_env_t * env,
00628         neethi_policy_t * policy);
00629 
00636     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00637     axis2_svc_client_get_http_headers(
00638         axis2_svc_client_t * svc_client,
00639         const axutil_env_t * env);
00640 
00647     AXIS2_EXTERN int AXIS2_CALL
00648     axis2_svc_client_get_http_status_code(
00649         axis2_svc_client_t * svc_client,
00650         const axutil_env_t * env);
00651 
00653 #ifdef __cplusplus
00654 }
00655 #endif
00656 
00657 #endif                          /* AXIS2_SVC_CLIENT_H */

Generated on Fri Jul 11 11:56:35 2008 for Axis2/C by  doxygen 1.5.5