00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_OP_CLIENT_H
00019 #define AXIS2_OP_CLIENT_H
00020
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
00066
00074 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00075 axis2_op_client_set_options(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(const axis2_op_client_t *op_client,
00088 const axutil_env_t *env);
00089
00098 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00099 axis2_op_client_add_msg_ctx(
00100 axis2_op_client_t *op_client,
00101 const axutil_env_t *env,
00102 axis2_msg_ctx_t *msg_ctx);
00103
00112 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00113 axis2_op_client_add_out_msg_ctx(axis2_op_client_t *op_client,
00114 const axutil_env_t *env,
00115 axis2_msg_ctx_t *msg_ctx);
00116
00117
00126 AXIS2_EXTERN const axis2_msg_ctx_t* AXIS2_CALL
00127 axis2_op_client_get_msg_ctx(const axis2_op_client_t *op_client,
00128 const axutil_env_t *env,
00129 const axis2_wsdl_msg_labels_t message_label);
00130
00139 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00140 axis2_op_client_set_callback(axis2_op_client_t *op_client,
00141 const axutil_env_t *env,
00142 axis2_callback_t *callback);
00149 AXIS2_EXTERN axis2_callback_t *AXIS2_CALL
00150 axis2_op_client_get_callback(axis2_op_client_t *op_client,
00151 const axutil_env_t *env);
00152
00164 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00165 axis2_op_client_execute(axis2_op_client_t *op_client,
00166 const axutil_env_t *env,
00167 const axis2_bool_t block);
00168
00177 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00178 axis2_op_client_reset(axis2_op_client_t *op_client,
00179 const axutil_env_t *env);
00180
00190 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00191 axis2_op_client_complete(axis2_op_client_t *op_client,
00192 const axutil_env_t *env,
00193 axis2_msg_ctx_t *msg_ctx);
00194
00201 AXIS2_EXTERN axis2_op_ctx_t* AXIS2_CALL
00202 axis2_op_client_get_operation_context(const axis2_op_client_t *op_client,
00203 const axutil_env_t *env);
00204
00213 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00214 axis2_op_client_set_callback_recv(axis2_op_client_t *op_client,
00215 const axutil_env_t *env,
00216 struct axis2_callback_recv *callback_recv);
00217
00224 AXIS2_EXTERN void AXIS2_CALL
00225 axis2_op_client_free(axis2_op_client_t *op_client,
00226 const axutil_env_t *env);
00227
00243 AXIS2_EXTERN axis2_op_client_t* AXIS2_CALL
00244 axis2_op_client_create(const axutil_env_t *env,
00245 axis2_op_t *op,
00246 axis2_svc_ctx_t *svc_ctx,
00247 axis2_options_t *options);
00248
00249
00256 AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00257 axis2_op_client_get_soap_action(const axis2_op_client_t *op_client,
00258 const axutil_env_t *env);
00259
00269 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00270 axis2_op_client_prepare_invocation(axis2_op_client_t *op_client,
00271 const axutil_env_t *env,
00272 axis2_op_t *op,
00273 axis2_msg_ctx_t *msg_ctx);
00274
00283 AXIS2_EXTERN axis2_msg_ctx_t* AXIS2_CALL
00284 axis2_op_client_prepare_soap_envelope(axis2_op_client_t *op_client,
00285 const axutil_env_t *env,
00286 axiom_node_t *to_send);
00287
00297 AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL
00298 axis2_op_client_infer_transport(axis2_op_client_t *op_client,
00299 const axutil_env_t *env,
00300 axis2_endpoint_ref_t *epr);
00301
00308 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00309 axis2_op_client_create_default_soap_envelope(axis2_op_client_t *op_client,
00310 const axutil_env_t *env);
00311
00322 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00323 axis2_op_client_engage_module(axis2_op_client_t *op_client,
00324 const axutil_env_t *env,
00325 const axutil_qname_t *qname);
00326
00334 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00335 axis2_op_client_set_soap_version_uri(axis2_op_client_t *op_client,
00336 const axutil_env_t *env,
00337 const axis2_char_t *soap_version_uri);
00338
00346 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00347 axis2_op_client_set_soap_action(axis2_op_client_t *op_client,
00348 const axutil_env_t *env,
00349 axutil_string_t *soap_action);
00350
00358 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00359 axis2_op_client_set_wsa_action(axis2_op_client_t *op_client,
00360 const axutil_env_t *env,
00361 const axis2_char_t *wsa_action);
00362
00369 AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL
00370 axis2_op_client_get_svc_ctx(const axis2_op_client_t *op_client,
00371 const axutil_env_t *env);
00372
00373
00382 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00383 axis2_op_client_two_way_send(const axutil_env_t *env,
00384 axis2_msg_ctx_t *msg_ctx);
00385
00394 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00395 axis2_op_client_receive(const axutil_env_t *env,
00396 axis2_msg_ctx_t *msg_ctx);
00397
00399 #ifdef __cplusplus
00400 }
00401 #endif
00402
00403 #endif