00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIOM_SOAP_ENVELOPE_H
00020 #define AXIOM_SOAP_ENVELOPE_H
00021
00027 #include <axutil_env.h>
00028 #include <axiom_node.h>
00029 #include <axiom_element.h>
00030 #include <axiom_namespace.h>
00031 #include <axutil_array_list.h>
00032
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037
00038 typedef struct axiom_soap_envelope axiom_soap_envelope_t;
00039
00040 struct axiom_soap_body;
00041 struct axiom_soap_header;
00042 struct axiom_soap_header_block;
00043 struct axiom_soap_builder;
00044
00056 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00057
00058 axiom_soap_envelope_create(
00059 const axutil_env_t * env,
00060 axiom_namespace_t * ns);
00061
00072 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00073
00074 axiom_soap_envelope_create_with_soap_version_prefix(
00075 const axutil_env_t * env,
00076 int soap_version,
00077 const axis2_char_t * prefix);
00078
00079 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00080
00081 axiom_soap_envelope_create_default_soap_envelope(
00082 const axutil_env_t * env,
00083 int soap_version);
00084
00085 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00086
00087 axiom_soap_envelope_create_default_soap_fault_envelope(
00088 const axutil_env_t * env,
00089 const axis2_char_t * code_value,
00090 const axis2_char_t * reason_text,
00091 const int soap_version,
00092 axutil_array_list_t * sub_codes,
00093 axiom_node_t * detail_node);
00094
00101 AXIS2_EXTERN struct axiom_soap_header *AXIS2_CALL
00102
00103 axiom_soap_envelope_get_header(
00104 axiom_soap_envelope_t * envelope,
00105 const axutil_env_t * env);
00106
00113 AXIS2_EXTERN struct axiom_soap_body *AXIS2_CALL
00114
00115 axiom_soap_envelope_get_body(
00116 axiom_soap_envelope_t * envelope,
00117 const axutil_env_t * env);
00118
00130 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00131 axiom_soap_envelope_serialize(
00132 axiom_soap_envelope_t * envelope,
00133 const axutil_env_t * env,
00134 axiom_output_t * om_output,
00135 axis2_bool_t cache);
00136
00146 AXIS2_EXTERN void AXIS2_CALL
00147 axiom_soap_envelope_free(
00148 axiom_soap_envelope_t * envelope,
00149 const axutil_env_t * env);
00150
00157 AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00158 axiom_soap_envelope_get_base_node(
00159 axiom_soap_envelope_t * envelope,
00160 const axutil_env_t * env);
00161
00167 AXIS2_EXTERN int AXIS2_CALL
00168 axiom_soap_envelope_get_soap_version(
00169 axiom_soap_envelope_t * envelope,
00170 const axutil_env_t * env);
00171
00177 AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
00178
00179 axiom_soap_envelope_get_namespace(
00180 axiom_soap_envelope_t * envelope,
00181 const axutil_env_t * env);
00182
00183 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00184
00185 axiom_soap_envelope_set_soap_version(
00186 axiom_soap_envelope_t * envelope,
00187 const axutil_env_t * env,
00188 int soap_version);
00189
00190 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00191 axiom_soap_envelope_increment_ref(
00192 axiom_soap_envelope_t * envelope,
00193 const axutil_env_t * env);
00194
00197 #ifdef __cplusplus
00198 }
00199 #endif
00200
00201 #endif