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
00119 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00120 axis2_op_client_add_in_msg_ctx(
00121 axis2_op_client_t * op_client,
00122 const axutil_env_t * env,
00123 axis2_msg_ctx_t * msg_ctx);
00124
00133 AXIS2_EXTERN const axis2_msg_ctx_t *AXIS2_CALL
00134 axis2_op_client_get_msg_ctx(
00135 const axis2_op_client_t * op_client,
00136 const axutil_env_t * env,
00137 const axis2_wsdl_msg_labels_t message_label);
00138
00147 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00148 axis2_op_client_set_callback(
00149 axis2_op_client_t * op_client,
00150 const axutil_env_t * env,
00151 axis2_callback_t * callback);
00152
00159 AXIS2_EXTERN axis2_callback_t *AXIS2_CALL
00160 axis2_op_client_get_callback(
00161 axis2_op_client_t * op_client,
00162 const axutil_env_t * env);
00163
00175 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00176 axis2_op_client_execute(
00177 axis2_op_client_t * op_client,
00178 const axutil_env_t * env,
00179 const axis2_bool_t block);
00180
00189 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00190 axis2_op_client_reset(
00191 axis2_op_client_t * op_client,
00192 const axutil_env_t * env);
00193
00203 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00204 axis2_op_client_complete(
00205 axis2_op_client_t * op_client,
00206 const axutil_env_t * env,
00207 axis2_msg_ctx_t * msg_ctx);
00208
00215 AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL
00216 axis2_op_client_get_operation_context(
00217 const axis2_op_client_t * op_client,
00218 const axutil_env_t * env);
00219
00228 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00229 axis2_op_client_set_callback_recv(
00230 axis2_op_client_t * op_client,
00231 const axutil_env_t * env,
00232 struct axis2_callback_recv *callback_recv);
00233
00240 AXIS2_EXTERN void AXIS2_CALL
00241 axis2_op_client_free(
00242 axis2_op_client_t * op_client,
00243 const axutil_env_t * env);
00244
00260 AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
00261 axis2_op_client_create(
00262 const axutil_env_t * env,
00263 axis2_op_t * op,
00264 axis2_svc_ctx_t * svc_ctx,
00265 axis2_options_t * options);
00266
00273 AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00274 axis2_op_client_get_soap_action(
00275 const axis2_op_client_t * op_client,
00276 const axutil_env_t * env);
00277
00287 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00288 axis2_op_client_prepare_invocation(
00289 axis2_op_client_t * op_client,
00290 const axutil_env_t * env,
00291 axis2_op_t * op,
00292 axis2_msg_ctx_t * msg_ctx);
00293
00302 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00303 axis2_op_client_prepare_soap_envelope(
00304 axis2_op_client_t * op_client,
00305 const axutil_env_t * env,
00306 axiom_node_t * to_send);
00307
00317 AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL
00318 axis2_op_client_infer_transport(
00319 axis2_op_client_t * op_client,
00320 const axutil_env_t * env,
00321 axis2_endpoint_ref_t * epr);
00322
00329 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
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 axis2_op_client_set_soap_version_uri(
00359 axis2_op_client_t * op_client,
00360 const axutil_env_t * env,
00361 const axis2_char_t * soap_version_uri);
00362
00370 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00371 axis2_op_client_set_soap_action(
00372 axis2_op_client_t * op_client,
00373 const axutil_env_t * env,
00374 axutil_string_t * soap_action);
00375
00383 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00384 axis2_op_client_set_wsa_action(
00385 axis2_op_client_t * op_client,
00386 const axutil_env_t * env,
00387 const axis2_char_t * wsa_action);
00388
00395 AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL
00396 axis2_op_client_get_svc_ctx(
00397 const axis2_op_client_t * op_client,
00398 const axutil_env_t * env);
00399
00400
00408 AXIS2_EXTERN void AXIS2_CALL
00409 axis2_op_client_set_reuse(
00410 axis2_op_client_t * op_client,
00411 const axutil_env_t * env,
00412 axis2_bool_t reuse);
00413
00422 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00423 axis2_op_client_two_way_send(
00424 const axutil_env_t * env,
00425 axis2_msg_ctx_t * msg_ctx);
00426
00435 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00436 axis2_op_client_receive(
00437 const axutil_env_t * env,
00438 axis2_msg_ctx_t * msg_ctx);
00439
00441 #ifdef __cplusplus
00442 }
00443 #endif
00444
00445 #endif