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
00059 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00060 axiom_soap_envelope_create(
00061 const axutil_env_t * env,
00062 axiom_namespace_t * ns);
00063
00074 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00075 axiom_soap_envelope_create_with_soap_version_prefix(
00076 const axutil_env_t * env,
00077 int soap_version,
00078 const axis2_char_t * prefix);
00079
00087 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00088 axiom_soap_envelope_create_default_soap_envelope(
00089 const axutil_env_t * env,
00090 int soap_version);
00091
00099 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00100 axiom_soap_envelope_create_default_soap_fault_envelope(
00101 const axutil_env_t * env,
00102 const axis2_char_t * code_value,
00103 const axis2_char_t * reason_text,
00104 const int soap_version,
00105 axutil_array_list_t * sub_codes,
00106 axiom_node_t * detail_node);
00107
00114 AXIS2_EXTERN struct axiom_soap_header *AXIS2_CALL
00115 axiom_soap_envelope_get_header(
00116 axiom_soap_envelope_t * envelope,
00117 const axutil_env_t * env);
00118
00125 AXIS2_EXTERN struct axiom_soap_body *AXIS2_CALL
00126 axiom_soap_envelope_get_body(
00127 axiom_soap_envelope_t * envelope,
00128 const axutil_env_t * env);
00129
00141 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00142 axiom_soap_envelope_serialize(
00143 axiom_soap_envelope_t * envelope,
00144 const axutil_env_t * env,
00145 axiom_output_t * om_output,
00146 axis2_bool_t cache);
00147
00157 AXIS2_EXTERN void AXIS2_CALL
00158 axiom_soap_envelope_free(
00159 axiom_soap_envelope_t * envelope,
00160 const axutil_env_t * env);
00161
00168 AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00169 axiom_soap_envelope_get_base_node(
00170 axiom_soap_envelope_t * envelope,
00171 const axutil_env_t * env);
00172
00178 AXIS2_EXTERN int AXIS2_CALL
00179 axiom_soap_envelope_get_soap_version(
00180 axiom_soap_envelope_t * envelope,
00181 const axutil_env_t * env);
00182
00189 AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
00190 axiom_soap_envelope_get_namespace(
00191 axiom_soap_envelope_t * envelope,
00192 const axutil_env_t * env);
00193
00203 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00204 axiom_soap_envelope_set_soap_version(
00205 axiom_soap_envelope_t * envelope,
00206 const axutil_env_t * env,
00207 int soap_version);
00208
00216 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00217 axiom_soap_envelope_increment_ref(
00218 axiom_soap_envelope_t * envelope,
00219 const axutil_env_t * env);
00220
00228 AXIS2_EXTERN struct axiom_soap_builder *AXIS2_CALL
00229 axiom_soap_envelope_get_soap_builder(
00230 axiom_soap_envelope_t * envelope,
00231 const axutil_env_t * env);
00232
00235 #ifdef __cplusplus
00236 }
00237 #endif
00238
00239 #endif