00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
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
00627 #ifdef __cplusplus
00628 }
00629 #endif
00630
00631 #endif