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
00088 axis2_op_client_get_options(
00089 const axis2_op_client_t * op_client,
00090 const axutil_env_t * env);
00091
00100 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00101 axis2_op_client_add_msg_ctx(
00102 axis2_op_client_t * op_client,
00103 const axutil_env_t * env,
00104 axis2_msg_ctx_t * msg_ctx);
00105
00114 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00115 axis2_op_client_add_out_msg_ctx(
00116 axis2_op_client_t * op_client,
00117 const axutil_env_t * env,
00118 axis2_msg_ctx_t * msg_ctx);
00119
00128 AXIS2_EXTERN const axis2_msg_ctx_t *AXIS2_CALL
00129
00130 axis2_op_client_get_msg_ctx(
00131 const axis2_op_client_t * op_client,
00132 const axutil_env_t * env,
00133 const axis2_wsdl_msg_labels_t message_label);
00134
00143 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00144 axis2_op_client_set_callback(
00145 axis2_op_client_t * op_client,
00146 const axutil_env_t * env,
00147 axis2_callback_t * callback);
00148
00155 AXIS2_EXTERN axis2_callback_t *AXIS2_CALL
00156 axis2_op_client_get_callback(
00157 axis2_op_client_t * op_client,
00158 const axutil_env_t * env);
00159
00171 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00172 axis2_op_client_execute(
00173 axis2_op_client_t * op_client,
00174 const axutil_env_t * env,
00175 const axis2_bool_t block);
00176
00185 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00186 axis2_op_client_reset(
00187 axis2_op_client_t * op_client,
00188 const axutil_env_t * env);
00189
00199 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00200 axis2_op_client_complete(
00201 axis2_op_client_t * op_client,
00202 const axutil_env_t * env,
00203 axis2_msg_ctx_t * msg_ctx);
00204
00211 AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL
00212 axis2_op_client_get_operation_context(
00213 const axis2_op_client_t * op_client,
00214 const axutil_env_t * env);
00215
00224 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00225 axis2_op_client_set_callback_recv(
00226 axis2_op_client_t * op_client,
00227 const axutil_env_t * env,
00228 struct axis2_callback_recv *callback_recv);
00229
00236 AXIS2_EXTERN void AXIS2_CALL
00237 axis2_op_client_free(
00238 axis2_op_client_t * op_client,
00239 const axutil_env_t * env);
00240
00256 AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
00257 axis2_op_client_create(
00258 const axutil_env_t * env,
00259 axis2_op_t * op,
00260 axis2_svc_ctx_t * svc_ctx,
00261 axis2_options_t * options);
00262
00269 AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00270 axis2_op_client_get_soap_action(
00271 const axis2_op_client_t * op_client,
00272 const axutil_env_t * env);
00273
00283 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00284
00285 axis2_op_client_prepare_invocation(
00286 axis2_op_client_t * op_client,
00287 const axutil_env_t * env,
00288 axis2_op_t * op,
00289 axis2_msg_ctx_t * msg_ctx);
00290
00299 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00300
00301 axis2_op_client_prepare_soap_envelope(
00302 axis2_op_client_t * op_client,
00303 const axutil_env_t * env,
00304 axiom_node_t * to_send);
00305
00315 AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL
00316
00317 axis2_op_client_infer_transport(
00318 axis2_op_client_t * op_client,
00319 const axutil_env_t * env,
00320 axis2_endpoint_ref_t * epr);
00321
00328 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00329
00330 axis2_op_client_create_default_soap_envelope(
00331 axis2_op_client_t * op_client,
00332 const axutil_env_t * env);
00333
00344 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00345 axis2_op_client_engage_module(
00346 axis2_op_client_t * op_client,
00347 const axutil_env_t * env,
00348 const axutil_qname_t * qname);
00349
00357 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00358
00359 axis2_op_client_set_soap_version_uri(
00360 axis2_op_client_t * op_client,
00361 const axutil_env_t * env,
00362 const axis2_char_t * soap_version_uri);
00363
00371 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00372 axis2_op_client_set_soap_action(
00373 axis2_op_client_t * op_client,
00374 const axutil_env_t * env,
00375 axutil_string_t * soap_action);
00376
00384 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00385 axis2_op_client_set_wsa_action(
00386 axis2_op_client_t * op_client,
00387 const axutil_env_t * env,
00388 const axis2_char_t * wsa_action);
00389
00396 AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL
00397 axis2_op_client_get_svc_ctx(
00398 const axis2_op_client_t * op_client,
00399 const axutil_env_t * env);
00400
00401 AXIS2_EXTERN void AXIS2_CALL
00402 axis2_op_client_set_reuse(
00403 axis2_op_client_t * op_client,
00404 const axutil_env_t * env,
00405 axis2_bool_t reuse);
00406
00415 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00416 axis2_op_client_two_way_send(
00417 const axutil_env_t * env,
00418 axis2_msg_ctx_t * msg_ctx);
00419
00428 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00429 axis2_op_client_receive(
00430 const axutil_env_t * env,
00431 axis2_msg_ctx_t * msg_ctx);
00432
00434 #ifdef __cplusplus
00435 }
00436 #endif
00437
00438 #endif