00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIS2_WSDL4C_SOAP_H
00018 #define AXIS2_WSDL4C_SOAP_H
00019
00024 #include <axis2_array_list.h>
00025 #include <axis2_allocator.h>
00026 #include <axis2_env.h>
00027 #include <axis2_error.h>
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032
00038 #define AXIS2_WSDL4C_HTTP_TRANSPORT "http://schemas.xmlsoap.org/soap/http"
00039 #define AXIS2_WSDL4C_HTTP_BINDING "http://schemas.xmlsoap.org/wsdl/http/"
00040 #define AXIS2_WSDL4C_SOAP_ENC_URI "http://schemas.xmlsoap.org/soap/encoding/"
00041 #define AXIS2_WSDL4C_SOAP_ENV_URI "http://schemas.xmlsoap.org/soap/envelope/"
00042 #define AXIS2_WSDL4C_SOAP_BINDING_URI "http://schemas.xmlsoap.org/wsdl/soap/"
00043 typedef enum
00044 {
00045 AXIS2_WSDL4C_LITERAL,
00046 AXIS2_WSDL4C_ENCODED
00047 } axis2_wsdl4c_encoding_t;
00048
00049 typedef enum
00050 {
00051 AXIS2_WSDL4C_RPC,
00052 AXIS2_WSDL4C_DOC
00053 } axis2_wsdl4c_style_t;
00054
00055 typedef enum
00056 {
00057 AXIS2_WSDL4C_NONE,
00058 AXIS2_WSDL4C_HTTP,
00059 AXIS2_WSDL4C_SMTP
00060 } axis2_wsdl4c_transport_t;
00061
00062 void *
00063 axis2_wsdl4c_soap_create(axis2_char_t *schema_path);
00064
00065 void
00066 axis2_wsdl4c_soap_destroy(void *soap);
00067
00071 void
00072 axis2_wsdl4c_soap_set_schema_path(void *soap,
00073 axis2_char_t *schema_path);
00074
00075 axis2_wsdl4c_transport_t
00076 axis2_wsdl4c_soap_get_transport_method(void *soap);
00077
00078 axis2_wsdl4c_style_t
00079 axis2_wsdl4c_soap_get_style(void *soap);
00080
00085 axis2_char_t *
00086 axis2_wsdl4c_soap_get_namespace(void *soap);
00087
00088 void
00089 axis2_wsdl4c_soap_set_namespace_prefix(void *soap,
00090 axis2_char_t *prefix);
00091
00092 axis2_char_t *
00093 axis2_wsdl4c_soap_get_namespace_prefix(void *soap);
00094
00095
00096 axis2_bool_t
00097 axis2_wsdl4c_soap_is_namespace_handler(void *soap,
00098 axis2_char_t *ns);
00099
00100
00101 axis2_char_t *
00102 axis2_wsdl4c_soap_get_extensibility_schema(void *soap);
00103
00104
00105 axis2_char_t *
00106 axis2_wsdl4c_soap_get_encoding_schema(void *soap);
00107
00108
00109 void
00110 axis2_wsdl4c_soap_set_schema_parser(void *soap,
00111 void *schema_parser);
00112
00113
00118 int
00119 axis2_wsdl4c_soap_handle_element(void *soap,
00120 int parent,
00121 void *xml_pull_parser);
00122
00123
00127 int
00128 axis2_wsdl4c_soap_handle_attribute(void *soap,
00129 int parent,
00130 axis2_char_t *att_name,
00131 void *xml_pull_parser);
00132
00136 int
00137 axis2_wsdl4c_soap_get_element_name(void *soap,
00138 int id);
00139
00140 int
00141 axis2_wsdl4c_soap_get_elem_attribute(void *soap,
00142 int id,
00143 int att_num);
00144
00145 int
00146 axis2_wsdl4c_soap_get_elem_attribute_value(void *soap,
00147 int id,
00148 int att_num);
00149
00150
00154 int
00155 axis2_wsdl4c_soap_get_attribute_name(void *soap, int id);
00156
00157
00162 void
00163 axis2_wsdl4c_soap_set_start_id(void *soap,
00164 int id);
00165
00166
00167 int
00168 axis2_wsdl4c_soap_get_start_id(void *soap);
00169
00170
00171 void
00172 axis2_wsdl4c_soap_set_wsdl_parser(void *soap,
00173 void *wp);
00174
00175 void *
00176 axis2_wsdl4c_soap_wsdl_parser(void *soap);
00177
00178 axis2_bool_t
00179 axis2_wsdl4c_soap_was_used(void *soap);
00180
00181 void
00182 axis2_wsdl4c_soap_get_operation_info(void *soap,
00183 int elem_id,
00184 axis2_char_t **soap_action,
00185 axis2_wsdl4c_style_t *style);
00186
00187 void
00188 axis2_wsdl4c_soap_get_body_info(void *soap,
00189 int elem_id,
00190 axis2_char_t **ns,
00191 axis2_wsdl4c_encoding_t *use,
00192 axis2_char_t **encoding_style);
00193
00194 void
00195 axis2_wsdl4c_soap_get_header_info(void *soap,
00196 int elem_id,
00197 int *part_id,
00198 void **message);
00199
00200 axis2_bool_t
00201 axis2_wsdl4c_soap_get_service_location(void *soap,
00202 int elem_id,
00203 axis2_char_t **location);
00204
00206 axis2_bool_t
00207 axis2_wsdl4c_soap_is_soap_body(void *soap,
00208 int id);
00209
00210 axis2_bool_t
00211 axis2_wsdl4c_soap_is_soap_header(void *soap,
00212 int id);
00213
00214
00217 #ifdef __cplusplus
00218 }
00219 #endif
00220 #endif