00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_SOAP_OVER_HTTP_SENDER_H
00019 #define AXIS2_SOAP_OVER_HTTP_SENDER_H
00020
00031 #include <axis2_const.h>
00032 #include <axis2_defines.h>
00033 #include <axis2_env.h>
00034 #include <axis2_msg_ctx.h>
00035 #include <axiom_output.h>
00036 #include <axis2_http_simple_response.h>
00037 #include <axiom_soap_envelope.h>
00038
00039
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044
00046 typedef struct axis2_soap_over_http_sender_ops
00047 axis2_soap_over_http_sender_ops_t;
00049 typedef struct axis2_soap_over_http_sender axis2_soap_over_http_sender_t;
00050
00051
00056 struct axis2_soap_over_http_sender_ops
00057 {
00067 axis2_status_t (AXIS2_CALL *
00068 send)(
00069 axis2_soap_over_http_sender_t *sender,
00070 const axis2_env_t *env,
00071 axis2_msg_ctx_t *msg_ctx,
00072 axiom_soap_envelope_t *out,
00073 const axis2_char_t *str_url,
00074 const axis2_char_t *soap_action);
00075
00082 axis2_status_t (AXIS2_CALL *
00083 set_chunked)(
00084 axis2_soap_over_http_sender_t *sender,
00085 const axis2_env_t *env,
00086 axis2_bool_t chunked);
00087
00094 axis2_status_t (AXIS2_CALL *
00095 set_om_output)(
00096 axis2_soap_over_http_sender_t *sender,
00097 const axis2_env_t *env,
00098 axiom_output_t *om_output);
00099
00106 axis2_status_t (AXIS2_CALL *
00107 set_http_version)(
00108 axis2_soap_over_http_sender_t *sender,
00109 const axis2_env_t *env,
00110 axis2_char_t *version);
00111
00117 axis2_status_t (AXIS2_CALL *
00118 free)(
00119 axis2_soap_over_http_sender_t *sender,
00120 const axis2_env_t *env);
00121 };
00122
00123
00130 axis2_status_t AXIS2_CALL
00131 axis2_soap_over_http_sender_get_header_info(
00132 axis2_soap_over_http_sender_t *sender,
00133 const axis2_env_t *env,
00134 axis2_msg_ctx_t *msg_ctx,
00135 axis2_http_simple_response_t *response);
00136
00143 axis2_status_t AXIS2_CALL
00144 axis2_soap_over_http_sender_process_response(
00145 axis2_soap_over_http_sender_t *sender,
00146 const axis2_env_t *env,
00147 axis2_msg_ctx_t *msg_ctx,
00148 axis2_http_simple_response_t *response);
00149
00150
00156 axis2_status_t AXIS2_CALL
00157 axis2_soap_over_http_sender_get_timeout_values(
00158 axis2_soap_over_http_sender_t *sender,
00159 const axis2_env_t *env,
00160 axis2_msg_ctx_t *msg_ctx);
00161
00165 struct axis2_soap_over_http_sender
00166 {
00168 axis2_soap_over_http_sender_ops_t *ops;
00169 };
00170
00171
00175 AXIS2_EXTERN axis2_soap_over_http_sender_t *AXIS2_CALL
00176 axis2_soap_over_http_sender_create(
00177 const axis2_env_t *env);
00178
00179
00180
00183 #define AXIS2_SOAP_OVER_HTTP_SENDER_SEND(sender, env, msg_ctx, output, url, \
00184 soap_action) ((sender)->ops->send (sender, env, msg_ctx\
00185 ,output, url, soap_action))
00186
00189 #define AXIS2_SOAP_OVER_HTTP_SENDER_SET_CHUNKED(sender, env, chunked) \
00190 ((sender)->ops->set_chunked(sender, env, chunked))
00191
00194 #define AXIS2_SOAP_OVER_HTTP_SENDER_SET_OM_OUTPUT(sender, env, om_output) \
00195 ((sender)->ops->set_om_output (sender, env, om_output))
00196
00199 #define AXIOM_SOAP_OVER_SENDER_SET_HTTP_VERSION(sender, env, version)\
00200 ((sender)->ops->set_http_version (sender, env, version))
00201
00204 #define AXIS2_SOAP_OVER_HTTP_SENDER_FREE(sender, env) \
00205 ((sender)->ops->free(sender, env))
00206
00207
00208
00210 #ifdef __cplusplus
00211 }
00212 #endif
00213 #endif