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 
00070 #ifdef __cplusplus
00071 extern "C"
00072 {
00073 #endif
00074 
00076     typedef struct axis2_svc_client axis2_svc_client_t;
00077 
00086     AXIS2_EXTERN axis2_svc_t *AXIS2_CALL
00087     axis2_svc_client_get_svc(
00088         const axis2_svc_client_t * svc_client,
00089         const axutil_env_t * env);
00090 
00098     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00099     axis2_svc_client_set_options(
00100         axis2_svc_client_t * svc_client,
00101         const axutil_env_t * env,
00102         const axis2_options_t * options);
00103 
00111     AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
00112     axis2_svc_client_get_options(
00113         const axis2_svc_client_t * svc_client,
00114         const axutil_env_t * env);
00115 
00125     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00126     axis2_svc_client_set_override_options(
00127         axis2_svc_client_t * svc_client,
00128         const axutil_env_t * env,
00129         const axis2_options_t * override_options);
00130 
00138     AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
00139     axis2_svc_client_get_override_options(
00140         const axis2_svc_client_t * svc_client,
00141         const axutil_env_t * env);
00142 
00154     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00155     axis2_svc_client_engage_module(
00156         axis2_svc_client_t * svc_client,
00157         const axutil_env_t * env,
00158         const axis2_char_t * module_name);
00159 
00169     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00170     axis2_svc_client_disengage_module(
00171         axis2_svc_client_t * svc_client,
00172         const axutil_env_t * env,
00173         const axis2_char_t * module_name);
00174 
00185     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00186     axis2_svc_client_add_header(
00187         axis2_svc_client_t * svc_client,
00188         const axutil_env_t * env,
00189         axiom_node_t * header);
00190 
00197     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00198     axis2_svc_client_remove_all_headers(
00199         axis2_svc_client_t * svc_client,
00200         const axutil_env_t * env);
00201 
00215     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00216     axis2_svc_client_send_robust_with_op_qname(
00217         axis2_svc_client_t * svc_client,
00218         const axutil_env_t * env,
00219         const axutil_qname_t * op_qname,
00220         const axiom_node_t * payload);
00221 
00235     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00236     axis2_svc_client_send_robust(
00237         axis2_svc_client_t * svc_client,
00238         const axutil_env_t * env,
00239         const axiom_node_t * payload);
00240 
00253     AXIS2_EXTERN void AXIS2_CALL
00254     axis2_svc_client_fire_and_forget_with_op_qname(
00255         axis2_svc_client_t * svc_client,
00256         const axutil_env_t * env,
00257         const axutil_qname_t * op_qname,
00258         const axiom_node_t * payload);
00259 
00270     AXIS2_EXTERN void AXIS2_CALL
00271     axis2_svc_client_fire_and_forget(
00272         axis2_svc_client_t * svc_client,
00273         const axutil_env_t * env,
00274         const axiom_node_t * payload);
00275 
00288     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00289     axis2_svc_client_send_receive_with_op_qname(
00290         axis2_svc_client_t * svc_client,
00291         const axutil_env_t * env,
00292         const axutil_qname_t * op_qname,
00293         const axiom_node_t * payload);
00294 
00305     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00306     axis2_svc_client_send_receive(
00307         axis2_svc_client_t * svc_client,
00308         const axutil_env_t * env,
00309         const axiom_node_t * payload);
00310 
00323     AXIS2_EXTERN void AXIS2_CALL
00324     axis2_svc_client_send_receive_non_blocking_with_op_qname(
00325         axis2_svc_client_t * svc_client,
00326         const axutil_env_t * env,
00327         const axutil_qname_t * op_qname,
00328         const axiom_node_t * payload,
00329         axis2_callback_t * callback);
00330 
00341     AXIS2_EXTERN void AXIS2_CALL
00342     axis2_svc_client_send_receive_non_blocking(
00343         axis2_svc_client_t * svc_client,
00344         const axutil_env_t * env,
00345         const axiom_node_t * payload,
00346         axis2_callback_t * callback);
00347 
00357     AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
00358     axis2_svc_client_create_op_client(
00359         axis2_svc_client_t * svc_client,
00360         const axutil_env_t * env,
00361         const axutil_qname_t * op_qname);
00362 
00371     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00372     axis2_svc_client_finalize_invoke(
00373         axis2_svc_client_t * svc_client,
00374         const axutil_env_t * env);
00375 
00385     AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL
00386     axis2_svc_client_get_own_endpoint_ref(
00387         const axis2_svc_client_t * svc_client,
00388         const axutil_env_t * env,
00389         const axis2_char_t * transport);
00390 
00398     AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL
00399     axis2_svc_client_get_target_endpoint_ref(
00400         const axis2_svc_client_t * svc_client,
00401         const axutil_env_t * env);
00402 
00411     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00412     axis2_svc_client_set_target_endpoint_ref(
00413         axis2_svc_client_t * svc_client,
00414         const axutil_env_t * env,
00415         axis2_endpoint_ref_t * target_epr);
00416 
00429     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00430     axis2_svc_client_set_proxy_with_auth(
00431         axis2_svc_client_t * svc_client,
00432         const axutil_env_t * env,
00433         axis2_char_t * proxy_host,
00434         axis2_char_t * proxy_port,
00435         axis2_char_t * username,
00436         axis2_char_t * password);
00437 
00446     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00447     axis2_svc_client_set_proxy(
00448         axis2_svc_client_t * svc_client,
00449         const axutil_env_t * env,
00450         axis2_char_t * proxy_host,
00451         axis2_char_t * proxy_port);
00452 
00460     AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL
00461     axis2_svc_client_get_svc_ctx(
00462         const axis2_svc_client_t * svc_client,
00463         const axutil_env_t * env);
00464 
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 
00535     AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL
00536     axis2_svc_client_create_for_dynamic_invocation(
00537         const axutil_env_t * env,
00538         axis2_conf_ctx_t * conf_ctx,
00539         const axutil_uri_t * wsdl_uri,
00540         const axutil_qname_t * wsdl_svc_qname,
00541         const axis2_char_t * endpoint_name,
00542         const axis2_char_t * client_home);
00543 
00551     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00552     axis2_svc_client_get_last_response_soap_envelope(
00553         const axis2_svc_client_t * svc_client,
00554         const axutil_env_t * env);
00555 
00562     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00563     axis2_svc_client_get_last_response_has_fault(
00564         const axis2_svc_client_t * svc_client,
00565         const axutil_env_t * env);
00566 
00573     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00574     axis2_svc_client_get_auth_type(
00575         const axis2_svc_client_t * svc_client,
00576         const axutil_env_t * env);
00577 
00585     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00586     axis2_svc_client_get_http_auth_required(
00587         const axis2_svc_client_t * svc_client,
00588         const axutil_env_t * env);
00589 
00597     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00598     axis2_svc_client_get_proxy_auth_required(
00599         const axis2_svc_client_t * svc_client,
00600         const axutil_env_t * env);
00601 
00609     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00610     axis2_svc_client_set_policy_from_om(
00611         axis2_svc_client_t * svc_client,
00612         const axutil_env_t * env,
00613         axiom_node_t * root_node);
00614 
00622     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00623     axis2_svc_client_set_policy(
00624         axis2_svc_client_t * svc_client,
00625         const axutil_env_t * env,
00626         neethi_policy_t * policy);
00627 
00629 #ifdef __cplusplus
00630 }
00631 #endif
00632 
00633 #endif                          /* AXIS2_SVC_CLIENT_H */

Generated on Wed Feb 27 19:43:04 2008 for Axis2/C by  doxygen 1.5.5