axis2_soap_over_http_sender.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef AXIS2_SOAP_OVER_HTTP_SENDER_H
00018 #define AXIS2_SOAP_OVER_HTTP_SENDER_H
00019 
00030 #include <axis2_const.h>
00031 #include <axis2_defines.h>
00032 #include <axis2_env.h>
00033 #include <axis2_msg_ctx.h>
00034 #include <axiom_output.h>
00035 #include <axis2_http_simple_response.h>
00036 #include <axiom_soap_envelope.h>
00037 
00038 
00039 #ifdef __cplusplus
00040 extern "C"
00041 {
00042 #endif
00043 
00045     typedef struct axis2_soap_over_http_sender_ops
00046                 axis2_soap_over_http_sender_ops_t;
00048     typedef struct axis2_soap_over_http_sender axis2_soap_over_http_sender_t;
00049 
00050 
00055     struct axis2_soap_over_http_sender_ops
00056     {
00066         axis2_status_t (AXIS2_CALL *
00067                 send)(
00068                     axis2_soap_over_http_sender_t *sender,
00069                     const axis2_env_t *env, 
00070                     axis2_msg_ctx_t *msg_ctx,
00071                     axiom_soap_envelope_t *out,
00072                     const axis2_char_t *str_url,
00073                     const axis2_char_t *soap_action);
00074 
00081         axis2_status_t (AXIS2_CALL *
00082                 set_chunked)(
00083                     axis2_soap_over_http_sender_t *sender,
00084                     const axis2_env_t *env, 
00085                     axis2_bool_t chunked);
00086 
00093         axis2_status_t (AXIS2_CALL *
00094                 set_om_output)(
00095                     axis2_soap_over_http_sender_t *sender,
00096                     const axis2_env_t *env, 
00097                     axiom_output_t *om_output);
00098 
00105         axis2_status_t (AXIS2_CALL *
00106                 set_http_version)(
00107                     axis2_soap_over_http_sender_t *sender,
00108                     const axis2_env_t *env, 
00109                     axis2_char_t *version);
00110 
00116         axis2_status_t (AXIS2_CALL *
00117                 free)(
00118                     axis2_soap_over_http_sender_t *sender,
00119                     const axis2_env_t *env);
00120     };
00121 
00122 
00129     axis2_status_t AXIS2_CALL
00130     axis2_soap_over_http_sender_get_header_info(
00131         axis2_soap_over_http_sender_t *sender,
00132         const axis2_env_t *env, 
00133         axis2_msg_ctx_t *msg_ctx,
00134         axis2_http_simple_response_t *response);
00135 
00142     axis2_status_t AXIS2_CALL
00143     axis2_soap_over_http_sender_process_response(
00144         axis2_soap_over_http_sender_t *sender,
00145         const axis2_env_t *env, 
00146         axis2_msg_ctx_t *msg_ctx,
00147         axis2_http_simple_response_t *response);
00148 
00149 
00155     axis2_status_t AXIS2_CALL
00156     axis2_soap_over_http_sender_get_timeout_values(
00157         axis2_soap_over_http_sender_t *sender,
00158         const axis2_env_t *env, 
00159         axis2_msg_ctx_t *msg_ctx);
00160 
00164     struct axis2_soap_over_http_sender
00165     {
00167         axis2_soap_over_http_sender_ops_t *ops;
00168     };
00169 
00170 
00174     AXIS2_EXTERN axis2_soap_over_http_sender_t *AXIS2_CALL
00175     axis2_soap_over_http_sender_create(
00176         const axis2_env_t *env);
00177 
00178 /********************* Start of function macros   ***************************/
00179 
00182 #define AXIS2_SOAP_OVER_HTTP_SENDER_SEND(sender, env, msg_ctx, output, url, \
00183                   soap_action) ((sender)->ops->send (sender, env, msg_ctx\
00184                   ,output, url, soap_action))
00185 
00188 #define AXIS2_SOAP_OVER_HTTP_SENDER_SET_CHUNKED(sender, env, chunked) \
00189                         ((sender)->ops->set_chunked(sender, env, chunked))
00190 
00193 #define AXIS2_SOAP_OVER_HTTP_SENDER_SET_OM_OUTPUT(sender, env, om_output) \
00194                         ((sender)->ops->set_om_output (sender, env, om_output))
00195 
00198 #define AXIOM_SOAP_OVER_SENDER_SET_HTTP_VERSION(sender, env, version)\
00199                         ((sender)->ops->set_http_version (sender, env, version))
00200 
00203 #define AXIS2_SOAP_OVER_HTTP_SENDER_FREE(sender, env) \
00204                         ((sender)->ops->free(sender, env))
00205 
00206 /************************* End of function macros *****************************/
00207 
00209 #ifdef __cplusplus
00210 }
00211 #endif
00212 #endif /* AXIS2_SOAP_OVER_HTTP_SENDER_H */

Generated on Thu Oct 26 21:11:23 2006 for Axis2/C by  doxygen 1.4.7