00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIS2_OP_CLIENT_H
00020 #define AXIS2_OP_CLIENT_H
00021
00050 #include <axis2_defines.h>
00051 #include <axutil_env.h>
00052 #include <axis2_options.h>
00053 #include <axis2_msg_ctx.h>
00054 #include <axis2_callback.h>
00055
00056 #ifdef __cplusplus
00057 extern "C"
00058 {
00059 #endif
00060
00062 typedef struct axis2_op_client axis2_op_client_t;
00063
00064 struct axis2_callback_recv;
00065
00073 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00074 axis2_op_client_set_options(
00075 axis2_op_client_t * op_client,
00076 const axutil_env_t * env,
00077 const axis2_options_t * options);
00078
00086 AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
00087 axis2_op_client_get_options(
00088 const axis2_op_client_t * op_client,
00089 const axutil_env_t * env);
00090
00099 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00100 axis2_op_client_add_msg_ctx(
00101 axis2_op_client_t * op_client,
00102 const axutil_env_t * env,
00103 axis2_msg_ctx_t * msg_ctx);
00104
00113 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00114 axis2_op_client_add_out_msg_ctx(
00115 axis2_op_client_t * op_client,
00116 const axutil_env_t * env,
00117 axis2_msg_ctx_t * msg_ctx);
00118
00127 AXIS2_EXTERN const axis2_msg_ctx_t *AXIS2_CALL
00128 axis2_op_client_get_msg_ctx(
00129 const axis2_op_client_t * op_client,
00130 const axutil_env_t * env,
00131 const axis2_wsdl_msg_labels_t message_label);
00132
00141 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00142 axis2_op_client_set_callback(
00143 axis2_op_client_t * op_client,
00144 const axutil_env_t * env,
00145 axis2_callback_t * callback);
00146
00153 AXIS2_EXTERN axis2_callback_t *AXIS2_CALL
00154 axis2_op_client_get_callback(
00155 axis2_op_client_t * op_client,
00156 const axutil_env_t * env);
00157
00169 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00170 axis2_op_client_execute(
00171 axis2_op_client_t * op_client,
00172 const axutil_env_t * env,
00173 const axis2_bool_t block);
00174
00183 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00184 axis2_op_client_reset(
00185 axis2_op_client_t * op_client,
00186 const axutil_env_t * env);
00187
00197 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00198 axis2_op_client_complete(
00199 axis2_op_client_t * op_client,
00200 const axutil_env_t * env,
00201 axis2_msg_ctx_t * msg_ctx);
00202
00209 AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL
00210 axis2_op_client_get_operation_context(
00211 const axis2_op_client_t * op_client,
00212 const axutil_env_t * env);
00213
00222 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00223 axis2_op_client_set_callback_recv(
00224 axis2_op_client_t * op_client,
00225 const axutil_env_t * env,
00226 struct axis2_callback_recv *callback_recv);
00227
00234 AXIS2_EXTERN void AXIS2_CALL
00235 axis2_op_client_free(
00236 axis2_op_client_t * op_client,
00237 const axutil_env_t * env);
00238
00254 AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
00255 axis2_op_client_create(
00256 const axutil_env_t * env,
00257 axis2_op_t * op,
00258 axis2_svc_ctx_t * svc_ctx,
00259 axis2_options_t * options);
00260
00267 AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00268 axis2_op_client_get_soap_action(
00269 const axis2_op_client_t * op_client,
00270 const axutil_env_t * env);
00271
00281 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00282 axis2_op_client_prepare_invocation(
00283 axis2_op_client_t * op_client,
00284 const axutil_env_t * env,
00285 axis2_op_t * op,
00286 axis2_msg_ctx_t * msg_ctx);
00287
00296 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00297 axis2_op_client_prepare_soap_envelope(
00298 axis2_op_client_t * op_client,
00299 const axutil_env_t * env,
00300 axiom_node_t * to_send);
00301
00311 AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL
00312 axis2_op_client_infer_transport(
00313 axis2_op_client_t * op_client,
00314 const axutil_env_t * env,
00315 axis2_endpoint_ref_t * epr);
00316
00323 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00324 axis2_op_client_create_default_soap_envelope(
00325 axis2_op_client_t * op_client,
00326 const axutil_env_t * env);
00327
00338 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00339 axis2_op_client_engage_module(
00340 axis2_op_client_t * op_client,
00341 const axutil_env_t * env,
00342 const axutil_qname_t * qname);
00343
00351 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00352 axis2_op_client_set_soap_version_uri(
00353 axis2_op_client_t * op_client,
00354 const axutil_env_t * env,
00355 const axis2_char_t * soap_version_uri);
00356
00364 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00365 axis2_op_client_set_soap_action(
00366 axis2_op_client_t * op_client,
00367 const axutil_env_t * env,
00368 axutil_string_t * soap_action);
00369
00377 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00378 axis2_op_client_set_wsa_action(
00379 axis2_op_client_t * op_client,
00380 const axutil_env_t * env,
00381 const axis2_char_t * wsa_action);
00382
00389 AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL
00390 axis2_op_client_get_svc_ctx(
00391 const axis2_op_client_t * op_client,
00392 const axutil_env_t * env);
00393
00394
00402 AXIS2_EXTERN void AXIS2_CALL
00403 axis2_op_client_set_reuse(
00404 axis2_op_client_t * op_client,
00405 const axutil_env_t * env,
00406 axis2_bool_t reuse);
00407
00416 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00417 axis2_op_client_two_way_send(
00418 const axutil_env_t * env,
00419 axis2_msg_ctx_t * msg_ctx);
00420
00429 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00430 axis2_op_client_receive(
00431 const axutil_env_t * env,
00432 axis2_msg_ctx_t * msg_ctx);
00433
00435 #ifdef __cplusplus
00436 }
00437 #endif
00438
00439 #endif