00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXUTIL_ERROR_H
00019 #define AXUTIL_ERROR_H
00020
00021 #include <axutil_utils_defines.h>
00022 #include <axutil_allocator.h>
00023
00024 #ifdef __cplusplus
00025 extern "C"
00026 {
00027 #endif
00028
00033 enum axis2_status_codes
00034 {
00036 AXIS2_CRITICAL_FAILURE = -1,
00038 AXIS2_FAILURE,
00040 AXIS2_SUCCESS
00041 };
00047 enum axutil_error_codes
00048 {
00058
00059
00060
00061 AXIS2_ERROR_NONE = 0,
00063 AXIS2_ERROR_NO_MEMORY,
00065 AXIS2_ERROR_INVALID_NULL_PARAM,
00066
00067
00068
00069
00070
00071
00072
00073
00075 AXIS2_ERROR_BLOCKING_INVOCATION_EXPECTS_RESPONSE,
00077 AXIS2_ERROR_CANNOT_INFER_TRANSPORT,
00079 AXIS2_ERROR_CLIENT_SIDE_SUPPORT_ONLY_ONE_CONF_CTX,
00080
00081 AXIS2_ERROR_MEP_CANNOT_BE_NULL_IN_MEP_CLIENT,
00082
00083 AXIS2_ERROR_MEP_MISMATCH_IN_MEP_CLIENT,
00085 AXIS2_ERROR_TWO_WAY_CHANNEL_NEEDS_ADDRESSING,
00087 AXIS2_ERROR_UNKNOWN_TRANSPORT,
00088
00089 AXIS2_ERROR_UNSUPPORTED_TYPE,
00090
00091 AXIS2_ERROR_OPTIONS_OBJECT_IS_NOT_SET,
00092
00093
00094
00095
00096
00097
00098
00100 AXIS2_ERROR_INVALID_SOAP_ENVELOPE_STATE,
00102 AXIS2_ERROR_INVALID_STATE_MSG_CTX,
00104 AXIS2_ERROR_INVALID_STATE_SVC,
00106 AXIS2_ERROR_INVALID_STATE_SVC_GRP,
00108 AXIS2_ERROR_SERVICE_NOT_YET_FOUND,
00109
00110
00111
00112
00113
00114 AXI2_ERROR_INVALID_PHASE,
00115
00116 AXIS2_ERROR_CONFIG_NOT_FOUND,
00117
00118 AXIS2_ERROR_DATA_ELEMENT_IS_NULL,
00119
00120 AXIS2_ERROR_IN_FLOW_NOT_ALLOWED_IN_TRS_OUT,
00122 AXIS2_ERROR_INVALID_HANDLER_STATE,
00123
00124 AXIS2_ERROR_INVALID_MODUELE_REF,
00125
00126 AXIS2_ERROR_INVALID_MODUELE_REF_BY_OP,
00127
00128 AXIS2_ERROR_INVALID_MODULE_CONF,
00129
00130 AXIS2_ERROR_INVALID_STATE_DESC_BUILDER,
00131
00132 AXIS2_ERROR_MODULE_NOT_FOUND,
00133
00134 AXIS2_ERROR_MODULE_VALIDATION_FAILED,
00136 AXIS2_ERROR_MODULE_XML_NOT_FOUND_FOR_THE_MODULE,
00137
00138 AXIS2_ERROR_NO_DISPATCHER_FOUND,
00139
00140 AXIS2_ERROR_OP_NAME_MISSING,
00141
00142 AXIS2_ERROR_OUT_FLOW_NOT_ALLOWED_IN_TRS_IN,
00143
00144 AXIS2_ERROR_REPO_CAN_NOT_BE_NULL,
00145
00146 AXIS2_ERROR_REPOSITORY_NOT_EXIST,
00147
00148 AXIS2_ERROR_REPOS_LISTENER_INIT_FAILED,
00150 AXIS2_ERROR_SERVICE_XML_NOT_FOUND,
00151
00152 AXIS2_ERROR_SVC_NAME_ERROR,
00153
00154 AXIS2_ERROR_TRANSPORT_SENDER_ERROR,
00155
00156 AXIS2_PATH_TO_CONFIG_CAN_NOT_BE_NULL,
00157
00158 AXIS2_ERROR_INVALID_SVC,
00159
00160
00161
00162
00163 AXIS2_ERROR_CANNOT_CORRELATE_MSG,
00165 AXIS2_ERROR_COULD_NOT_MAP_MEP_URI_TO_MEP_CONSTANT,
00166
00167 AXIS2_ERROR_INVALID_MESSAGE_ADDITION,
00169 AXIS2_ERROR_INVALID_STATE_MODULE_DESC,
00171 AXIS2_ERROR_INVALID_STATE_PARAM_CONTAINER,
00173 AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_OP,
00175 AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC,
00177 AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC_GRP,
00179 AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE,
00180
00181 AXIS2_ERROR_EMPTY_SCHEMA_LIST,
00182
00183
00184
00186 AXIS2_ERROR_BEFORE_AFTER_HANDLERS_SAME,
00188 AXIS2_ERROR_INVALID_HANDLER_RULES,
00189
00190 AXIS2_ERROR_INVALID_MODULE,
00192 AXIS2_ERROR_INVALID_PHASE_FIRST_HANDLER,
00194 AXIS2_ERROR_INVALID_PHASE_LAST_HANDLER,
00196 AXIS2_ERROR_INVALID_STATE_CONF,
00198 AXIS2_ERROR_INVALID_STATE_PROCESSING_FAULT_ALREADY,
00200 AXIS2_ERROR_NOWHERE_TO_SEND_FAULT,
00202 AXIS2_ERROR_PHASE_ADD_HANDLER_INVALID,
00204 AXIS2_ERROR_PHASE_FIRST_HANDLER_ALREADY_SET,
00206 AXIS2_ERROR_PHASE_LAST_HANDLER_ALREADY_SET,
00209 AXIS2_ERROR_TWO_SVCS_CANNOT_HAVE_SAME_NAME,
00210
00211
00212
00213
00214 AXIS2_ERROR_INVALID_MODULE_REF,
00215
00216 AXIS2_ERROR_INVALID_PHASE,
00217
00218 AXIS2_ERROR_NO_TRANSPORT_IN_CONFIGURED,
00219
00220 AXIS2_ERROR_NO_TRANSPORT_OUT_CONFIGURED,
00221
00222 AXIS2_ERROR_PHASE_IS_NOT_SPECIFED,
00223
00224 AXIS2_ERROR_SERVICE_MODULE_CAN_NOT_REFER_GLOBAL_PHASE,
00225
00226
00227
00228
00230 AXIS2_ERROR_WSDL_SCHEMA_IS_NULL,
00231
00232
00233
00234
00235 AXIS2_ERROR_OM_ELEMENT_INVALID_STATE,
00236
00237 AXIS2_ERROR_OM_ELEMENT_MISMATCH,
00238
00239 AXIS2_ERROR_RPC_NEED_MATCHING_CHILD,
00240
00241 AXIS2_ERROR_UNKNOWN_STYLE,
00242
00243 AXIS2_ERROR_STRING_DOES_NOT_REPRESENT_A_VALID_NC_NAME,
00244
00245
00246
00247
00248
00249
00250
00251
00252 AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR,
00254 AXIS2_ERROR_HTTP_REQUEST_NOT_SENT,
00256 AXIS2_ERROR_INVALID_HEADER,
00257
00258 AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE,
00259
00260 AXIS2_ERROR_INVALID_TRANSPORT_PROTOCOL,
00262 AXIS2_ERROR_NULL_BODY,
00263
00264 AXIS2_ERROR_NULL_CONFIGURATION_CONTEXT,
00265
00266 AXIS2_ERROR_NULL_HTTP_VERSION,
00267
00268 AXIS2_ERROR_NULL_IN_STREAM_IN_MSG_CTX,
00269
00270 AXIS2_ERROR_NULL_OM_OUTPUT,
00271
00272 AXIS2_ERROR_NULL_SOAP_ENVELOPE_IN_MSG_CTX,
00273
00274 AXIS2_ERROR_NULL_STREAM_IN_CHUNKED_STREAM,
00275
00276 AXIS2_ERROR_NULL_STREAM_IN_RESPONSE_BODY,
00278 AXIS2_ERROR_NULL_URL,
00279
00280 AXIS2_ERROR_OUT_TRNSPORT_INFO_NULL,
00281
00282 AXIS2_ERROR_RESPONSE_CONTENT_TYPE_MISSING,
00284 AXIS2_ERROR_RESPONSE_TIMED_OUT,
00286 AXIS2_ERROR_RESPONSE_SERVER_SHUTDOWN,
00288 AXIS2_ERROR_SOAP_ENVELOPE_OR_SOAP_BODY_NULL,
00289
00290 AXIS2_ERROR_SSL_ENGINE,
00291
00292 AXIS2_ERROR_SSL_NO_CA_FILE,
00293
00294 AXIS2_ERROR_WRITING_RESPONSE,
00295
00296 AXIS2_ERROR_REQD_PARAM_MISSING,
00297
00298 AXIS2_ERROR_UNSUPPORTED_SCHEMA_TYPE,
00299
00300 AXIS2_ERROR_SVC_OR_OP_NOT_FOUND,
00301
00302
00303
00304
00305
00306
00307
00308
00309
00310
00311
00313 AXIS2_ERROR_COULD_NOT_OPEN_FILE,
00314
00315 AXIS2_ERROR_DLL_CREATE_FAILED,
00316
00317 AXIS2_ERROR_DLL_LOADING_FAILED,
00319 AXIS2_ERROR_ENVIRONMENT_IS_NULL,
00320
00321 AXIS2_ERROR_FILE_NAME_NOT_SET,
00322
00323 AXIS2_ERROR_INVALID_STATE_DLL_DESC,
00324
00325 AXIS2_ERROR_HANDLER_CREATION_FAILED,
00327 AXIS2_ERROR_INDEX_OUT_OF_BOUNDS,
00329 AXIS2_ERROR_INVALID_ADDRESS,
00331 AXIS2_ERROR_INVALID_FD,
00333 AXIS2_ERROR_INVALID_SOCKET,
00335 AXIS2_ERROR_INVALID_STATE_PARAM,
00336
00337 AXIS2_ERROR_MODULE_CREATION_FAILED,
00338
00339 AXIS2_ERROR_MSG_RECV_CREATION_FAILED,
00341 AXIS2_ERROR_NO_SUCH_ELEMENT,
00343 AXIS2_ERROR_SOCKET_BIND_FAILED,
00345 AXIS2_ERROR_SOCKET_ERROR,
00346
00347 AXIS2_ERROR_SOCKET_LISTEN_FAILED,
00348
00349 AXIS2_ERROR_SVC_SKELETON_CREATION_FAILED,
00350
00351 AXIS2_ERROR_TRANSPORT_RECV_CREATION_FAILED,
00352
00353 AXIS2_ERROR_TRANSPORT_SENDER_CREATION_FAILED,
00354
00355 AXIS2_ERROR_UUID_GEN_FAILED,
00356
00357 AXIS2_ERROR_POSSIBLE_DEADLOCK,
00358
00359
00360
00361
00362 AXIS2_ERROR_INTERFACE_OR_PORT_TYPE_NOT_FOUND_FOR_THE_BINDING,
00363
00364 AXIS2_ERROR_INTERFACES_OR_PORTS_NOT_FOUND_FOR_PARTIALLY_BUILT_WOM,
00366 AXIS2_ERROR_INVALID_STATE_WSDL_OP,
00368 AXIS2_ERROR_INVALID_STATE_WSDL_SVC,
00369
00370 AXIS2_ERROR_MEP_CANNOT_DETERMINE_MEP,
00371
00372 AXIS2_ERROR_WSDL_BINDING_NAME_IS_REQUIRED,
00373
00374 AXIS2_ERROR_WSDL_INTERFACE_NAME_IS_REQUIRED,
00375
00376 AXIS2_ERROR_WSDL_PARSER_INVALID_STATE,
00377
00378 AXIS2_ERROR_WSDL_SVC_NAME_IS_REQUIRED,
00379
00380
00381
00382
00383
00384
00385
00386
00387
00388
00389
00391 AXIS2_ERROR_BUILDER_DONE_CANNOT_PULL,
00393 AXIS2_ERROR_INVALID_BUILDER_STATE_CANNOT_DISCARD,
00395 AXIS2_ERROR_INVALID_BUILDER_STATE_LAST_NODE_NULL,
00397 AXIS2_ERROR_INVALID_DOCUMENT_STATE_ROOT_NULL,
00399 AXIS2_ERROR_INVALID_DOCUMENT_STATE_UNDEFINED_NAMESPACE,
00401 AXIS2_ERROR_INVALID_EMPTY_NAMESPACE_URI,
00404 AXIS2_ERROR_ITERATOR_NEXT_METHOD_HAS_NOT_YET_BEEN_CALLED,
00407 AXIS2_ERROR_ITERATOR_REMOVE_HAS_ALREADY_BEING_CALLED,
00409 AXIS2_ERROR_XML_READER_ELEMENT_NULL,
00411 AXIS2_ERROR_XML_READER_VALUE_NULL,
00412
00413
00414
00416 AXIS2_ERROR_CREATING_XML_STREAM_READER,
00418 AXIS2_ERROR_CREATING_XML_STREAM_WRITER,
00420 AXIS2_ERROR_WRITING_ATTRIBUTE,
00422 AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE,
00424 AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE_PREFIX,
00426 AXIS2_ERROR_WRITING_COMMENT,
00428 AXIS2_ERROR_WRITING_DATA_SOURCE,
00430 AXIS2_ERROR_WRITING_DEFAULT_NAMESPACE,
00432 AXIS2_ERROR_WRITING_DTD,
00434 AXIS2_ERROR_WRITING_EMPTY_ELEMENT,
00436 AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE,
00438 AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE_PREFIX,
00440 AXIS2_ERROR_WRITING_END_DOCUMENT,
00442 AXIS2_ERROR_WRITING_END_ELEMENT,
00444 AXIS2_ERROR_WRITING_PROCESSING_INSTRUCTION,
00446 AXIS2_ERROR_WRITING_START_DOCUMENT,
00448 AXIS2_ERROR_WRITING_START_ELEMENT,
00450 AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE,
00452 AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE_PREFIX,
00454 AXIS2_ERROR_WRITING_CDATA,
00456 AXIS2_ERROR_XML_PARSER_INVALID_MEM_TYPE,
00457
00458
00459
00460
00462 AXIS2_ERROR_INVALID_BASE_TYPE,
00464 AXIS2_ERROR_INVALID_SOAP_NAMESPACE_URI,
00466 AXIS2_ERROR_INVALID_SOAP_VERSION,
00467
00468 AXIS2_ERROR_INVALID_VALUE_FOUND_IN_MUST_UNDERSTAND,
00469
00470 AXIS2_ERROR_MULTIPLE_CODE_ELEMENTS_ENCOUNTERED,
00471
00472 AXIS2_ERROR_MULTIPLE_DETAIL_ELEMENTS_ENCOUNTERED,
00473
00474 AXIS2_ERROR_MULTIPLE_NODE_ELEMENTS_ENCOUNTERED,
00475
00476 AXIS2_ERROR_MULTIPLE_REASON_ELEMENTS_ENCOUNTERED,
00477
00478 AXIS2_ERROR_MULTIPLE_ROLE_ELEMENTS_ENCOUNTERED,
00479
00480 AXIS2_ERROR_MULTIPLE_SUB_CODE_VALUES_ENCOUNTERED,
00481
00482 AXIS2_ERROR_MULTIPLE_VALUE_ENCOUNTERED_IN_CODE_ELEMENT,
00483
00484 AXIS2_ERROR_MUST_UNDERSTAND_SHOULD_BE_1_0_TRUE_FALSE,
00486 AXIS2_ERROR_OM_ELEMENT_EXPECTED,
00487
00488
00489 AXIS2_ERROR_ONLY_CHARACTERS_ARE_ALLOWED_HERE,
00491 AXIS2_ERROR_ONLY_ONE_SOAP_FAULT_ALLOWED_IN_BODY,
00492
00493 AXIS2_ERROR_SOAP11_FAULT_ACTOR_SHOULD_NOT_HAVE_CHILD_ELEMENTS,
00496 AXIS2_ERROR_SOAP_BUILDER_ENVELOPE_CAN_HAVE_ONLY_HEADER_AND_BODY,
00498 AXIS2_ERROR_SOAP_BUILDER_HEADER_BODY_WRONG_ORDER,
00500 AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_BODY_ELEMENTS_ENCOUNTERED,
00502 AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_HEADERS_ENCOUNTERED,
00503
00504 AXIS2_ERROR_SOAP_FAULT_CODE_DOES_NOT_HAVE_A_VALUE,
00505
00506 AXIS2_ERROR_SOAP_FAULT_REASON_ELEMENT_SHOULD_HAVE_A_TEXT,
00507
00508 AXIS2_ERROR_SOAP_FAULT_ROLE_ELEMENT_SHOULD_HAVE_A_TEXT,
00509
00510 AXIS2_ERROR_SOAP_FAULT_VALUE_SHOULD_BE_PRESENT_BEFORE_SUB_CODE,
00512 AXIS2_ERROR_SOAP_MESSAGE_DOES_NOT_CONTAIN_AN_ENVELOPE,
00513
00514 AXIS2_ERROR_SOAP_MESSAGE_FIRST_ELEMENT_MUST_CONTAIN_LOCAL_NAME,
00515
00516 AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_REASON_ELEMENT,
00517
00518 AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_SUB_CODE_ELEMENT,
00519
00520 AXIS2_ERROR_THIS_LOCALNAME_NOT_SUPPORTED_INSIDE_THE_CODE_ELEMENT,
00521
00522 AXIS2_ERROR_TRANSPORT_LEVEL_INFORMATION_DOES_NOT_MATCH_WITH_SOAP,
00523
00524 AXIS2_ERROR_UNSUPPORTED_ELEMENT_IN_SOAP_FAULT_ELEMENT,
00525
00526 AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED,
00527
00528
00529
00531 AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST,
00533 AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL,
00535 AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST,
00536
00537
00538
00539
00540
00541 AXIS2_ERROR_REPOS_NOT_AUTHENTICATED,
00542
00543 AXIS2_ERROR_REPOS_UNSUPPORTED_MODE,
00544
00545 AXIS2_ERROR_REPOS_EXPIRED,
00546
00547 AXIS2_ERROR_REPOS_NOT_IMPLEMENTED,
00548
00549 AXIS2_ERROR_REPOS_NOT_FOUND,
00550
00551 AXIS2_ERROR_REPOS_BAD_SEARCH_TEXT,
00552
00558 AXIS2_ERROR_LAST
00559 };
00560
00577 const axis2_char_t* axutil_error_messages[AXIS2_ERROR_LAST + 10000];
00578 struct axutil_error;
00579 typedef enum axis2_status_codes axis2_status_codes_t;
00580 typedef enum axutil_error_codes axutil_error_codes_t;
00581
00592 AXIS2_EXTERN void AXIS2_CALL
00593 axutil_error_free(struct axutil_error *error);
00594
00599 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00600 axutil_error_get_message(const struct axutil_error *error);
00601
00609 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00610 axutil_error_get_extended_message(const struct axutil_error *error);
00611
00612 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00613 axutil_error_set_error_number(struct axutil_error *error,
00614 axutil_error_codes_t error_number);
00615
00616 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00617 axutil_error_set_status_code(struct axutil_error *error,
00618 axis2_status_codes_t status_code);
00619
00620 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00621 axutil_error_get_status_code(struct axutil_error *error);
00622
00623 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00624 axutil_error_set_error_message(struct axutil_error *error,
00625 axis2_char_t *message);
00626
00632 typedef struct axutil_error
00633 {
00635 axutil_allocator_t *allocator;
00637 int error_number;
00638 int status_code;
00639 axis2_char_t *message;
00640 } axutil_error_t;
00641
00642 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00643 axutil_error_init();
00644
00645 #define AXIS2_ERROR_FREE(error) axutil_error_free(error)
00646
00647 #define AXIS2_ERROR_GET_MESSAGE(error) \
00648 axutil_error_get_message(error)
00649
00650 #define AXIS2_ERROR_SET_MESSAGE(error, message) \
00651 axutil_error_set_error_message(error, message)
00652
00653 #define AXIS2_ERROR_SET_ERROR_NUMBER(error, error_number) \
00654 axutil_error_set_error_number(error, error_number)
00655
00656 #define AXIS2_ERROR_SET_STATUS_CODE(error, status_code) \
00657 axutil_error_set_status_code(error, status_code)
00658
00659 #define AXIS2_ERROR_GET_STATUS_CODE(error) axutil_error_get_status_code(error)
00660
00661
00662
00665 #ifdef __cplusplus
00666 }
00667 #endif
00668
00669
00670 #endif
00671