| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #ifndef AXUTIL_ERROR_H |
| #define AXUTIL_ERROR_H |
| |
| #include <axutil_utils_defines.h> |
| #include <axutil_allocator.h> |
| |
| #ifdef __cplusplus |
| extern "C" |
| { |
| #endif |
| |
| |
| #define AXUTIL_ERROR_MESSAGE_BLOCK_SIZE 512 |
| #define AXUTIL_ERROR_LAST AXUTIL_ERROR_MESSAGE_BLOCK_SIZE |
| #define NEETHI_ERROR_CODES_START AXIS2_ERROR_LAST |
| #define RAMPART_ERROR_CODES_START (NEETHI_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE) |
| #define SANDESHA2_ERROR_CODES_START (RAMPART_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE) |
| #define SAVAN_ERROR_CODES_START (SANDESHA2_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE) |
| #define USER_ERROR_CODES_START (SAVAN_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE) |
| |
| /* AXUTIL_ERROR_MAX define the maximum size of the error array */ |
| #define AXUTIL_ERROR_MAX (USER_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE) |
| |
| |
| /** |
| * \brief Axis2 status codes |
| * |
| * Possible status values for Axis2 |
| */ |
| enum axis2_status_codes |
| { |
| /** Critical Failure state */ |
| AXIS2_CRITICAL_FAILURE = -1, |
| |
| /** Failure state */ |
| AXIS2_FAILURE, |
| |
| /** Success state */ |
| AXIS2_SUCCESS |
| }; |
| |
| /** |
| * \brief Axis2 error codes |
| * |
| * Set of error codes for Axis2 |
| */ |
| enum axutil_error_codes |
| { |
| |
| /** |
| * No error. |
| * This must be the first error all the time and the assigned value of 0 |
| * must not be changed as it is assumed in the error message array that |
| * the error list starts with a value of 0. |
| * Further, none of the error codes in this enum should not be initialized |
| * to an arbitrary value as it is assumed in the implementation when mapping |
| * error codes to error messages that the error codes are contiguous and |
| * the last error value is always AXIS2_ERROR_LAST. |
| */ |
| AXIS2_ERROR_NONE = 0, |
| |
| /* |
| * Group - Common Errors |
| */ |
| |
| /** Out of memory */ |
| AXIS2_ERROR_NO_MEMORY, |
| |
| /** NULL parameter was passed when a non NULL parameter was expected */ |
| AXIS2_ERROR_INVALID_NULL_PARAM, |
| |
| /* |
| * Group - core:addr |
| */ |
| |
| /* |
| * Group - core:clientapi |
| */ |
| |
| /** Blocking invocation expects response */ |
| AXIS2_ERROR_BLOCKING_INVOCATION_EXPECTS_RESPONSE, |
| |
| /** cannot infer transport from URL */ |
| AXIS2_ERROR_CANNOT_INFER_TRANSPORT, |
| |
| /** Client side support only one configuration context */ |
| AXIS2_ERROR_CLIENT_SIDE_SUPPORT_ONLY_ONE_CONF_CTX, |
| /* MEP cannot be NULL in MEP client */ |
| AXIS2_ERROR_MEP_CANNOT_BE_NULL_IN_MEP_CLIENT, |
| /* MEP Mismatch */ |
| AXIS2_ERROR_MEP_MISMATCH_IN_MEP_CLIENT, |
| |
| /** Two way channel needs addressing module to be engaged */ |
| AXIS2_ERROR_TWO_WAY_CHANNEL_NEEDS_ADDRESSING, |
| |
| /** Unknown Transport */ |
| AXIS2_ERROR_UNKNOWN_TRANSPORT, |
| /* Unsupported SOAP style */ |
| AXIS2_ERROR_UNSUPPORTED_TYPE, |
| /* Options object is not set */ |
| AXIS2_ERROR_OPTIONS_OBJECT_IS_NOT_SET, |
| |
| /* Session Timeout */ |
| AXIS2_ERROR_SESSION_TIMEOUT, |
| /* |
| * Group - core:clientapi:diclient |
| */ |
| |
| /* |
| * Group - core:context |
| */ |
| |
| /** Invalid SOAP envelope state */ |
| AXIS2_ERROR_INVALID_SOAP_ENVELOPE_STATE, |
| |
| /** Invalid message context state */ |
| AXIS2_ERROR_INVALID_STATE_MSG_CTX, |
| |
| /** Service accessed has invalid state */ |
| AXIS2_ERROR_INVALID_STATE_SVC, |
| |
| /** Service group accessed has invalid state */ |
| AXIS2_ERROR_INVALID_STATE_SVC_GRP, |
| |
| /** Service not yet found */ |
| AXIS2_ERROR_SERVICE_NOT_YET_FOUND, |
| |
| /* |
| * Group - core:deployment |
| */ |
| /* Invalid phase found in phase validation */ |
| AXI2_ERROR_INVALID_PHASE, |
| /* axis2.xml cannot be found */ |
| AXIS2_ERROR_CONFIG_NOT_FOUND, |
| /* Data element of the OM Node is null */ |
| AXIS2_ERROR_DATA_ELEMENT_IS_NULL, |
| /* In transport sender, Inflow is not allowed */ |
| AXIS2_ERROR_IN_FLOW_NOT_ALLOWED_IN_TRS_OUT, |
| |
| /** Invalid handler state */ |
| AXIS2_ERROR_INVALID_HANDLER_STATE, |
| /* Invalid Module Ref encountered */ |
| AXIS2_ERROR_INVALID_MODUELE_REF, |
| /* Invalid Module Reference by Operation */ |
| AXIS2_ERROR_INVALID_MODUELE_REF_BY_OP, |
| /* Invalid Module Configuration */ |
| AXIS2_ERROR_INVALID_MODULE_CONF, |
| /* Description Builder is found to be in invalid state */ |
| AXIS2_ERROR_INVALID_STATE_DESC_BUILDER, |
| /* Module Not Found */ |
| AXIS2_ERROR_MODULE_NOT_FOUND, |
| /* Module Validation Failed */ |
| AXIS2_ERROR_MODULE_VALIDATION_FAILED, |
| |
| /** Module xml file is not found in the given path */ |
| AXIS2_ERROR_MODULE_XML_NOT_FOUND_FOR_THE_MODULE, |
| /* No dispatcher found */ |
| AXIS2_ERROR_NO_DISPATCHER_FOUND, |
| /* Operation name is missing */ |
| AXIS2_ERROR_OP_NAME_MISSING, |
| /* In transport Receiver, Outflow is not allowed */ |
| AXIS2_ERROR_OUT_FLOW_NOT_ALLOWED_IN_TRS_IN, |
| /* Repository name cannot be NULL */ |
| AXIS2_ERROR_REPO_CAN_NOT_BE_NULL, |
| /* Repository in path does not exist */ |
| AXIS2_ERROR_REPOSITORY_NOT_EXIST, |
| /* Repository Listener initialization failed */ |
| AXIS2_ERROR_REPOS_LISTENER_INIT_FAILED, |
| |
| /** Service xml file is not found in the given path */ |
| AXIS2_ERROR_SERVICE_XML_NOT_FOUND, |
| /* Service Name Error */ |
| AXIS2_ERROR_SVC_NAME_ERROR, |
| /* Transport Sender Error */ |
| AXIS2_ERROR_TRANSPORT_SENDER_ERROR, |
| /* Path to Config can not be NULL */ |
| AXIS2_PATH_TO_CONFIG_CAN_NOT_BE_NULL, |
| /* Invalid Service */ |
| AXIS2_ERROR_INVALID_SVC, |
| |
| |
| /* |
| * Group - core:description |
| */ |
| /* Cannot correlate message */ |
| AXIS2_ERROR_CANNOT_CORRELATE_MSG, |
| |
| /** Could not Map the MEP URI to a axis MEP constant value */ |
| AXIS2_ERROR_COULD_NOT_MAP_MEP_URI_TO_MEP_CONSTANT, |
| /* Invalid message addition , operation context completed */ |
| AXIS2_ERROR_INVALID_MESSAGE_ADDITION, |
| |
| /** Module description accessed has invalid state */ |
| AXIS2_ERROR_INVALID_STATE_MODULE_DESC, |
| |
| /** Parameter container not set */ |
| AXIS2_ERROR_INVALID_STATE_PARAM_CONTAINER, |
| |
| /** module has already engaged to the op op terminated !!! */ |
| AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_OP, |
| |
| /** module has already been engaged on the service.Operation terminated !!! */ |
| AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC, |
| |
| /** module has already been engaged on the service. Group Operation terminated !!! */ |
| AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC_GRP, |
| |
| /** Parameter locked, Cannot override */ |
| AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE, |
| /* schema list is empty or NULL in svc */ |
| AXIS2_ERROR_EMPTY_SCHEMA_LIST, |
| /* |
| * Group - core:engine |
| */ |
| |
| /** Both before and after handlers cannot be the same */ |
| AXIS2_ERROR_BEFORE_AFTER_HANDLERS_SAME, |
| |
| /** Invalid handler rules */ |
| AXIS2_ERROR_INVALID_HANDLER_RULES, |
| /* Invalid Module */ |
| AXIS2_ERROR_INVALID_MODULE, |
| |
| /** Invalid first handler for phase */ |
| AXIS2_ERROR_INVALID_PHASE_FIRST_HANDLER, |
| |
| /** Invalid last handler for phase */ |
| AXIS2_ERROR_INVALID_PHASE_LAST_HANDLER, |
| |
| /** Invalid engine config state */ |
| AXIS2_ERROR_INVALID_STATE_CONF, |
| |
| /** Message context processing a fault already */ |
| AXIS2_ERROR_INVALID_STATE_PROCESSING_FAULT_ALREADY, |
| |
| /** fault to field not specified in message context */ |
| AXIS2_ERROR_NOWHERE_TO_SEND_FAULT, |
| |
| /** Only one handler allowed for phase, adding handler is not allowed */ |
| AXIS2_ERROR_PHASE_ADD_HANDLER_INVALID, |
| |
| /** First handler of phase already set */ |
| AXIS2_ERROR_PHASE_FIRST_HANDLER_ALREADY_SET, |
| |
| /** Last handler of phase already set */ |
| AXIS2_ERROR_PHASE_LAST_HANDLER_ALREADY_SET, |
| |
| /**Two service can not have same name, a service with same name already |
| exist in the system */ |
| AXIS2_ERROR_TWO_SVCS_CANNOT_HAVE_SAME_NAME, |
| /* |
| * Group - core:phase resolver |
| */ |
| /* Invalid Module Ref */ |
| AXIS2_ERROR_INVALID_MODULE_REF, |
| /* Invalid Phase */ |
| AXIS2_ERROR_INVALID_PHASE, |
| /* No Transport Receiver is configured */ |
| AXIS2_ERROR_NO_TRANSPORT_IN_CONFIGURED, |
| /* No Transport Sender is configured */ |
| AXIS2_ERROR_NO_TRANSPORT_OUT_CONFIGURED, |
| /* Phase is not specified */ |
| AXIS2_ERROR_PHASE_IS_NOT_SPECIFED, |
| /* Service module can not refer global phase */ |
| AXIS2_ERROR_SERVICE_MODULE_CAN_NOT_REFER_GLOBAL_PHASE, |
| |
| /* |
| * Group - core:wsdl |
| */ |
| |
| /** Schema is NULL */ |
| AXIS2_ERROR_WSDL_SCHEMA_IS_NULL, |
| /* |
| * Group - core:receivers |
| */ |
| /* Om Element has invalid state */ |
| AXIS2_ERROR_OM_ELEMENT_INVALID_STATE, |
| /* Om Elements do not match */ |
| AXIS2_ERROR_OM_ELEMENT_MISMATCH, |
| /* RPC style SOAP body don't have a child element */ |
| AXIS2_ERROR_RPC_NEED_MATCHING_CHILD, |
| /* Operation Description has unknown operation style */ |
| AXIS2_ERROR_UNKNOWN_STYLE, |
| /* String does not represent a valid NCName */ |
| AXIS2_ERROR_STRING_DOES_NOT_REPRESENT_A_VALID_NC_NAME, |
| /* |
| * Group - core:transport |
| */ |
| |
| /* |
| * Group - core:transport:http |
| */ |
| /* Error occurred in transport */ |
| AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR, |
| |
| /** A read attempt(HTTP) for the reply without sending the request */ |
| AXIS2_ERROR_HTTP_REQUEST_NOT_SENT, |
| |
| /** Invalid string passed as a http header */ |
| AXIS2_ERROR_INVALID_HEADER, |
| /* Invalid header start line (request line or response line) */ |
| AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE, |
| /* Transport protocol is unsupported by axis2 */ |
| AXIS2_ERROR_INVALID_TRANSPORT_PROTOCOL, |
| |
| /** No body present in the request or the response */ |
| AXIS2_ERROR_NULL_BODY, |
| /* A valid conf_ctx is reqd for the http worker */ |
| AXIS2_ERROR_NULL_CONFIGURATION_CONTEXT, |
| /* HTTP version cannot be null in the status/request line */ |
| AXIS2_ERROR_NULL_HTTP_VERSION, |
| /* Input stream is NULL in msg_ctx */ |
| AXIS2_ERROR_NULL_IN_STREAM_IN_MSG_CTX, |
| /* OM output is NULL */ |
| AXIS2_ERROR_NULL_OM_OUTPUT, |
| /* Null SOAP envelope in msg_ctx */ |
| AXIS2_ERROR_NULL_SOAP_ENVELOPE_IN_MSG_CTX, |
| /* NULL stream in the http chucked stream */ |
| AXIS2_ERROR_NULL_STREAM_IN_CHUNKED_STREAM, |
| /* We got a NULL stream in the response body */ |
| AXIS2_ERROR_NULL_STREAM_IN_RESPONSE_BODY, |
| |
| /** URL NULL in http client */ |
| AXIS2_ERROR_NULL_URL, |
| /** Invalid URL format */ |
| AXIS2_ERROR_INVALID_URL_FORMAT, |
| /** Duplicate URL REST Mapping */ |
| AXIS2_ERROR_DUPLICATE_URL_REST_MAPPING, |
| /* We need transport_info in msg_ctx */ |
| AXIS2_ERROR_OUT_TRNSPORT_INFO_NULL, |
| /*Content-Type header missing in HTTP response" */ |
| AXIS2_ERROR_RESPONSE_CONTENT_TYPE_MISSING, |
| |
| /** Response timed out */ |
| AXIS2_ERROR_RESPONSE_TIMED_OUT, |
| |
| /** Server shutdown*/ |
| AXIS2_ERROR_RESPONSE_SERVER_SHUTDOWN, |
| |
| /** SOAP envelope or SOAP body NULL */ |
| AXIS2_ERROR_SOAP_ENVELOPE_OR_SOAP_BODY_NULL, |
| /* Error occurred in SSL engine */ |
| AXIS2_ERROR_SSL_ENGINE, |
| /* Either axis2c cannot find certificates or the env variable is not set */ |
| AXIS2_ERROR_SSL_NO_CA_FILE, |
| /* Error in writing the response in response writer */ |
| AXIS2_ERROR_WRITING_RESPONSE, |
| /* Required parameter is missing in URL encoded request */ |
| AXIS2_ERROR_REQD_PARAM_MISSING, |
| /* Unsupported schema type in REST */ |
| AXIS2_ERROR_UNSUPPORTED_SCHEMA_TYPE, |
| /* Service or operation not found */ |
| AXIS2_ERROR_SVC_OR_OP_NOT_FOUND, |
| /* |
| * Group - mod_addr |
| */ |
| AXIS2_ERROR_NO_MSG_INFO_HEADERS, |
| /* |
| * Group - platforms |
| */ |
| |
| /* |
| * Group - utils |
| */ |
| |
| /** Could not open the axis2 file */ |
| AXIS2_ERROR_COULD_NOT_OPEN_FILE, |
| /* Failed in creating DLL */ |
| AXIS2_ERROR_DLL_CREATE_FAILED, |
| /* DLL loading failed */ |
| AXIS2_ERROR_DLL_LOADING_FAILED, |
| |
| /** Environment passed is null */ |
| AXIS2_ERROR_ENVIRONMENT_IS_NULL, |
| /* Axis2 File does not have a file name */ |
| AXIS2_ERROR_FILE_NAME_NOT_SET, |
| /* DLL Description Info Object has invalid state */ |
| AXIS2_ERROR_INVALID_STATE_DLL_DESC, |
| /* Failed in creating Handler */ |
| AXIS2_ERROR_HANDLER_CREATION_FAILED, |
| |
| /** Array list index out of bounds */ |
| AXIS2_ERROR_INDEX_OUT_OF_BOUNDS, |
| |
| /** Invalid IP or host name */ |
| AXIS2_ERROR_INVALID_ADDRESS, |
| |
| /** Trying to do operation on invalid file descriptor */ |
| AXIS2_ERROR_INVALID_FD, |
| |
| /** Trying to do operation on closed/not opened socket */ |
| AXIS2_ERROR_INVALID_SOCKET, |
| |
| /** Parameter not set */ |
| AXIS2_ERROR_INVALID_STATE_PARAM, |
| /* Module create failed */ |
| AXIS2_ERROR_MODULE_CREATION_FAILED, |
| /* Failed in creating Message Receiver */ |
| AXIS2_ERROR_MSG_RECV_CREATION_FAILED, |
| |
| /** No such element */ |
| AXIS2_ERROR_NO_SUCH_ELEMENT, |
| |
| /** Socket bind failed. Another process may be already using this port*/ |
| AXIS2_ERROR_SOCKET_BIND_FAILED, |
| |
| /** Error creating a socket. Most probably error returned by OS */ |
| AXIS2_ERROR_SOCKET_ERROR, |
| /* Listen failed for the server socket */ |
| AXIS2_ERROR_SOCKET_LISTEN_FAILED, |
| /* Failed in creating Service Skeleton */ |
| AXIS2_ERROR_SVC_SKELETON_CREATION_FAILED, |
| /* Failed in creating Transport Receiver */ |
| AXIS2_ERROR_TRANSPORT_RECV_CREATION_FAILED, |
| /* Failed in creating Transport Sender */ |
| AXIS2_ERROR_TRANSPORT_SENDER_CREATION_FAILED, |
| /* Generation of platform dependent uuid failed */ |
| AXIS2_ERROR_UUID_GEN_FAILED, |
| /* Possible deadlock */ |
| AXIS2_ERROR_POSSIBLE_DEADLOCK, |
| /* |
| * Group - WSDL |
| */ |
| /* Interface or Port Type not found for the binding */ |
| AXIS2_ERROR_INTERFACE_OR_PORT_TYPE_NOT_FOUND_FOR_THE_BINDING, |
| /* Interfaces or Ports not found for the partially built WOM */ |
| AXIS2_ERROR_INTERFACES_OR_PORTS_NOT_FOUND_FOR_PARTIALLY_BUILT_WOM, |
| |
| /** Wsdl op accessed has invalid state */ |
| AXIS2_ERROR_INVALID_STATE_WSDL_OP, |
| |
| /** Wsdl Service accessed has invalid state */ |
| AXIS2_ERROR_INVALID_STATE_WSDL_SVC, |
| /* Cannot determine MEP */ |
| AXIS2_ERROR_MEP_CANNOT_DETERMINE_MEP, |
| /* Wsdl binding name cannot be NULL(Is required) */ |
| AXIS2_ERROR_WSDL_BINDING_NAME_IS_REQUIRED, |
| /* PortType/Interface name cannot be null(Required) */ |
| AXIS2_ERROR_WSDL_INTERFACE_NAME_IS_REQUIRED, |
| /* Wsdl parsing has resulted in an invalid state */ |
| AXIS2_ERROR_WSDL_PARSER_INVALID_STATE, |
| /* Wsdl svc name cannot be null(Required) */ |
| AXIS2_ERROR_WSDL_SVC_NAME_IS_REQUIRED, |
| /* |
| * Group - xml |
| */ |
| |
| /* |
| * Group - xml:attachments |
| */ |
| /** Attachment is missing */ |
| AXIS2_ERROR_ATTACHMENT_MISSING, |
| |
| /* |
| * Group - xml:om |
| */ |
| |
| /** Builder done with pulling. Cannot pull any more */ |
| AXIS2_ERROR_BUILDER_DONE_CANNOT_PULL, |
| |
| /** Discard failed because the builder state is invalid */ |
| AXIS2_ERROR_INVALID_BUILDER_STATE_CANNOT_DISCARD, |
| |
| /** Builder's last node is NULL when it is not supposed to be NULL */ |
| AXIS2_ERROR_INVALID_BUILDER_STATE_LAST_NODE_NULL, |
| |
| /** Document root is NULL, when it is not supposed to be NULL */ |
| AXIS2_ERROR_INVALID_DOCUMENT_STATE_ROOT_NULL, |
| |
| /** Undefined namespace used */ |
| AXIS2_ERROR_INVALID_DOCUMENT_STATE_UNDEFINED_NAMESPACE, |
| |
| /** error a namespace should have a valid uri */ |
| AXIS2_ERROR_INVALID_EMPTY_NAMESPACE_URI, |
| |
| /** next method has not been called so cannot remove |
| an element before calling next valid for any om iterator */ |
| AXIS2_ERROR_ITERATOR_NEXT_METHOD_HAS_NOT_YET_BEEN_CALLED, |
| |
| /** remove method has already been called once so cannot remove till |
| next method is called valid for any om children iterator*/ |
| AXIS2_ERROR_ITERATOR_REMOVE_HAS_ALREADY_BEING_CALLED, |
| |
| /** axiom_xml_reader returned NULL element */ |
| AXIS2_ERROR_XML_READER_ELEMENT_NULL, |
| |
| /** axiom_xml_reader returned NULL value */ |
| AXIS2_ERROR_XML_READER_VALUE_NULL, |
| /* |
| * Group - xml:parser |
| */ |
| |
| /** error occurred creating xml stream reader */ |
| AXIS2_ERROR_CREATING_XML_STREAM_READER, |
| |
| /** error occurred creating xml stream writer */ |
| AXIS2_ERROR_CREATING_XML_STREAM_WRITER, |
| |
| /** error in writing attribute */ |
| AXIS2_ERROR_WRITING_ATTRIBUTE, |
| |
| /** error in writing attribute with namespace */ |
| AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE, |
| |
| /** error in writing attribute with namespace prefix */ |
| AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE_PREFIX, |
| |
| /** error in writing comment */ |
| AXIS2_ERROR_WRITING_COMMENT, |
| |
| /** error in writing data source*/ |
| AXIS2_ERROR_WRITING_DATA_SOURCE, |
| |
| /** error in writing default namespace */ |
| AXIS2_ERROR_WRITING_DEFAULT_NAMESPACE, |
| |
| /** error in writing DDT */ |
| AXIS2_ERROR_WRITING_DTD, |
| |
| /** error occurred in writing empty element */ |
| AXIS2_ERROR_WRITING_EMPTY_ELEMENT, |
| |
| /** error occurred in writing empty element with namespace */ |
| AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE, |
| |
| /** error in writing empty element with namespace prefix */ |
| AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE_PREFIX, |
| |
| /** error occurred in writing end document in xml writer */ |
| AXIS2_ERROR_WRITING_END_DOCUMENT, |
| |
| /** error occurred in writing end element in xml writer */ |
| AXIS2_ERROR_WRITING_END_ELEMENT, |
| |
| /** error in writing processing instruction */ |
| AXIS2_ERROR_WRITING_PROCESSING_INSTRUCTION, |
| |
| /** error occurred in writing start element in start document in xml writer */ |
| AXIS2_ERROR_WRITING_START_DOCUMENT, |
| |
| /** error occurred in writing start element in xml writer */ |
| AXIS2_ERROR_WRITING_START_ELEMENT, |
| |
| /** error occurred in writing start element with namespace in xml writer*/ |
| AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE, |
| |
| /** error occurred in writing start element with namespace prefix */ |
| AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE_PREFIX, |
| |
| /** error in writing cdata section */ |
| AXIS2_ERROR_WRITING_CDATA, |
| |
| /** AXIS2_XML_PARSER_TYPE_BUFFER or AXIS2_XML_PARSER_TYPE_DOC is expected */ |
| AXIS2_ERROR_XML_PARSER_INVALID_MEM_TYPE, |
| |
| /* |
| * Group - xml:SOAP |
| */ |
| |
| /** invalid type passed */ |
| AXIS2_ERROR_INVALID_BASE_TYPE, |
| |
| /** invalid SOAP namespace uri found */ |
| AXIS2_ERROR_INVALID_SOAP_NAMESPACE_URI, |
| |
| /** Invalid SOAP version */ |
| AXIS2_ERROR_INVALID_SOAP_VERSION, |
| /* invalid value found in must understand attribute */ |
| AXIS2_ERROR_INVALID_VALUE_FOUND_IN_MUST_UNDERSTAND, |
| /*multiple code elements encountered in SOAP fault element */ |
| AXIS2_ERROR_MULTIPLE_CODE_ELEMENTS_ENCOUNTERED, |
| /*multiple detail elements encountered in SOAP fault element */ |
| AXIS2_ERROR_MULTIPLE_DETAIL_ELEMENTS_ENCOUNTERED, |
| /*multiple node elements encountered in SOAP fault element */ |
| AXIS2_ERROR_MULTIPLE_NODE_ELEMENTS_ENCOUNTERED, |
| /*multiple reason elements encountered in SOAP fault element */ |
| AXIS2_ERROR_MULTIPLE_REASON_ELEMENTS_ENCOUNTERED, |
| /*multiple role elements encountered in SOAP fault element */ |
| AXIS2_ERROR_MULTIPLE_ROLE_ELEMENTS_ENCOUNTERED, |
| /*multiple sub code values encountered in SOAP fault element */ |
| AXIS2_ERROR_MULTIPLE_SUB_CODE_VALUES_ENCOUNTERED, |
| /* multiple value elements encountered */ |
| AXIS2_ERROR_MULTIPLE_VALUE_ENCOUNTERED_IN_CODE_ELEMENT, |
| /* must understand attribute should have values of true or false */ |
| AXIS2_ERROR_MUST_UNDERSTAND_SHOULD_BE_1_0_TRUE_FALSE, |
| |
| /** om element is expected */ |
| AXIS2_ERROR_OM_ELEMENT_EXPECTED, |
| /* processing SOAP 1.1 fault value element should have only |
| text as its children */ |
| AXIS2_ERROR_ONLY_CHARACTERS_ARE_ALLOWED_HERE, |
| |
| /** only one SOAP fault allowed in SOAP body */ |
| AXIS2_ERROR_ONLY_ONE_SOAP_FAULT_ALLOWED_IN_BODY, |
| /*SOAP 1.1 fault actor element should not have child elements */ |
| AXIS2_ERROR_SOAP11_FAULT_ACTOR_SHOULD_NOT_HAVE_CHILD_ELEMENTS, |
| |
| /** SOAP builder found a child element other than header or body in envelope |
| element */ |
| AXIS2_ERROR_SOAP_BUILDER_ENVELOPE_CAN_HAVE_ONLY_HEADER_AND_BODY, |
| |
| /** SOAP builder encountered body element first and header next */ |
| AXIS2_ERROR_SOAP_BUILDER_HEADER_BODY_WRONG_ORDER, |
| |
| /** SOAP builder multiple body elements encountered */ |
| AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_BODY_ELEMENTS_ENCOUNTERED, |
| |
| /** SOAP builder encountered multiple headers */ |
| AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_HEADERS_ENCOUNTERED, |
| /*SOAP fault code element should a mandatory fault value element */ |
| AXIS2_ERROR_SOAP_FAULT_CODE_DOES_NOT_HAVE_A_VALUE, |
| /*SOAP fault reason element should have a text */ |
| AXIS2_ERROR_SOAP_FAULT_REASON_ELEMENT_SHOULD_HAVE_A_TEXT, |
| /*SOAP fault role element should have a text value */ |
| AXIS2_ERROR_SOAP_FAULT_ROLE_ELEMENT_SHOULD_HAVE_A_TEXT, |
| /* SOAP fault value should be present before sub code element in SOAP fault code */ |
| AXIS2_ERROR_SOAP_FAULT_VALUE_SHOULD_BE_PRESENT_BEFORE_SUB_CODE, |
| |
| /** SOAP message does not have an envelope element */ |
| AXIS2_ERROR_SOAP_MESSAGE_DOES_NOT_CONTAIN_AN_ENVELOPE, |
| /*SOAP message first element must contain a localname */ |
| AXIS2_ERROR_SOAP_MESSAGE_FIRST_ELEMENT_MUST_CONTAIN_LOCAL_NAME, |
| /* this localname is not supported inside a reason element */ |
| AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_REASON_ELEMENT, |
| /*this localname is not supported inside a sub code element */ |
| AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_SUB_CODE_ELEMENT, |
| /*this localname is not supported inside the code element */ |
| AXIS2_ERROR_THIS_LOCALNAME_NOT_SUPPORTED_INSIDE_THE_CODE_ELEMENT, |
| /*transport level identified SOAP version does not match with the SOAP version */ |
| AXIS2_ERROR_TRANSPORT_LEVEL_INFORMATION_DOES_NOT_MATCH_WITH_SOAP, |
| /*unsupported element in SOAP fault element */ |
| AXIS2_ERROR_UNSUPPORTED_ELEMENT_IN_SOAP_FAULT_ELEMENT, |
| /*wrong element order encountered */ |
| AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED, |
| /* |
| * Group - services |
| */ |
| |
| /** Invalid XML format in request */ |
| AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, |
| |
| /** Input OM node NULL, Probably error in SOAP request */ |
| AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, |
| |
| /** Invalid parameters for service operation in SOAP request */ |
| AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, |
| |
| /* |
| * Group - repos |
| */ |
| /* not authenticated */ |
| AXIS2_ERROR_REPOS_NOT_AUTHENTICATED, |
| /* unsupported mode */ |
| AXIS2_ERROR_REPOS_UNSUPPORTED_MODE, |
| /* expired */ |
| AXIS2_ERROR_REPOS_EXPIRED, |
| /* not implemented */ |
| AXIS2_ERROR_REPOS_NOT_IMPLEMENTED, |
| /* not found */ |
| AXIS2_ERROR_REPOS_NOT_FOUND, |
| /* bad search text */ |
| AXIS2_ERROR_REPOS_BAD_SEARCH_TEXT, |
| |
| /* |
| *Group - Neethi |
| */ |
| /* No Namespace */ |
| AXIS2_ERROR_NEETHI_ELEMENT_WITH_NO_NAMESPACE, |
| /*Policy cannot be created from element */ |
| AXIS2_ERROR_NEETHI_POLICY_CREATION_FAILED_FROM_ELEMENT, |
| /*All Cannot be created from element */ |
| AXIS2_ERROR_NEETHI_ALL_CREATION_FAILED_FROM_ELEMENT, |
| /*Exactly one Cannot be created element */ |
| AXIS2_ERROR_NEETHI_EXACTLYONE_CREATION_FAILED_FROM_ELEMENT, |
| /*Reference Cannot be created from element */ |
| AXIS2_ERROR_NEETHI_REFERENCE_CREATION_FAILED_FROM_ELEMENT, |
| /*Assertion Cannot be created from element */ |
| AXIS2_ERROR_NEETHI_ASSERTION_CREATION_FAILED_FROM_ELEMENT, |
| /*All creation failed */ |
| AXIS2_ERROR_NEETHI_ALL_CREATION_FAILED, |
| /*Exactly one creation failed */ |
| AXIS2_ERROR_NEETHI_EXACTLYONE_CREATION_FAILED, |
| /*Policy Creation failed */ |
| AXIS2_ERROR_NEETHI_POLICY_CREATION_FAILED, |
| /*Normalization failed */ |
| AXIS2_ERROR_NEETHI_NORMALIZATION_FAILED, |
| /*Merging Failed. Wrong Input */ |
| AXIS2_ERROR_NEETHI_WRONG_INPUT_FOR_MERGE, |
| /*Merging Failed. Cross Product failed */ |
| AXIS2_ERROR_NEETHI_CROSS_PRODUCT_FAILED, |
| /*No Children Policy Components */ |
| AXIS2_ERROR_NEETHI_NO_CHILDREN_POLICY_COMPONENTS, |
| /*Uri Not specified */ |
| AXIS2_ERROR_NEETHI_URI_NOT_SPECIFIED, |
| /*Policy NULL for the given uri */ |
| AXIS2_ERROR_NEETHI_NO_ENTRY_FOR_THE_GIVEN_URI, |
| /*Exactly one not found in Normalized policy */ |
| AXIS2_ERROR_NEETHI_EXACTLYONE_NOT_FOUND_IN_NORMALIZED_POLICY, |
| /*Exactly one is Empty */ |
| AXIS2_ERROR_NEETHI_EXACTLYONE_IS_EMPTY, |
| /*Exactly one not found while getting cross product */ |
| AXIS2_ERROR_NEETHI_ALL_NOT_FOUND_WHILE_GETTING_CROSS_PRODUCT, |
| /*Unknown Assertion*/ |
| AXIS2_ERROR_NEETHI_UNKNOWN_ASSERTION, |
| /** |
| * The following has to be the last error value all the time. |
| * All other error codes should appear above this. |
| * AXIS2_ERROR_LAST is used to track the number of error codes present |
| * for the purpose of sizing the error messages array. |
| */ |
| AXIS2_ERROR_LAST |
| }; |
| |
| struct axutil_error; |
| typedef enum axis2_status_codes axis2_status_codes_t; |
| typedef enum axutil_error_codes axutil_error_codes_t; |
| |
| /** |
| * @defgroup axutil_error error |
| * @ingroup axis2_util |
| * @{ |
| */ |
| |
| /** |
| * Axutil error struct. |
| * Error holds the last error number, the status code as well as the |
| * last error message. |
| */ |
| typedef struct axutil_error |
| { |
| /** |
| * Memory allocator associated with the error struct. |
| * It is this allocator that would be used to allocate memory |
| * for the error struct instance in create method. |
| */ |
| axutil_allocator_t *allocator; |
| |
| /** Last error number. */ |
| int error_number; |
| /** Last status code. */ |
| int status_code; |
| /** |
| * Error message. This could be set to a custom message to be |
| * returned, instead of standard errors set in the error messages |
| * array by the axutil_error_init function call. |
| */ |
| axis2_char_t *message; |
| } |
| axutil_error_t; |
| |
| /** |
| * Gets the error message corresponding to the last error occurred. |
| * @param error pointer to error struct |
| * @return string representing the error message for the last error occurred |
| */ |
| AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| axutil_error_get_message( |
| const struct axutil_error *error); |
| |
| /** |
| * This function is supposed to be overridden in an extended error structure. |
| * For example in Sandesha error structure this function is overridden so that |
| * errors of axis2 range call the get_message function of error struct but |
| * errors of sandesha2 range get the messages from an array of that struct. |
| * @return error message for the extended struct. |
| * @deprecated this function is not in use, so should be removed. |
| */ |
| /*AXIS2_EXTERN const axis2_char_t *AXIS2_CALL |
| axutil_error_get_extended_message( |
| const struct axutil_error *error);*/ |
| |
| /** |
| * Sets the error number. |
| * @param error pointer to error struct |
| * @param error_number error number to be set |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axutil_error_set_error_number( |
| struct axutil_error *error, |
| axutil_error_codes_t error_number); |
| |
| /** |
| * Sets the status code. |
| * @param error pointer to error struct |
| * @param status_code status code to be set |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axutil_error_set_status_code( |
| struct axutil_error *error, |
| axis2_status_codes_t status_code); |
| |
| /** |
| * Gets the status code. |
| * @param error pointer to error struct |
| * @return last status code set on error struct |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axutil_error_get_status_code( |
| struct axutil_error *error); |
| |
| /** |
| * Sets error message to the given value. |
| * @param error pointer to error struct |
| * @param message error message to be set |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axutil_error_set_error_message( |
| struct axutil_error *error, |
| axis2_char_t *message); |
| |
| /** |
| * Initializes the axutil_error_messages array. This array holds the |
| * error messages that corresponds to the error codes. This function |
| * must be call before using the error struct instance. |
| * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE |
| */ |
| AXIS2_EXTERN axis2_status_t AXIS2_CALL |
| axutil_error_init(void); |
| |
| /** |
| * De-allocates an error struct instance. |
| * @param error pointer to error struct instance to be freed. |
| * @return void |
| */ |
| AXIS2_EXTERN void AXIS2_CALL |
| axutil_error_free( |
| struct axutil_error *error); |
| |
| /** |
| * @deprecated The following macros are no longer useful as we can use the |
| * function calls directly. Hence these macros should be removed |
| */ |
| |
| #define AXIS2_ERROR_FREE(error) axutil_error_free(error) |
| |
| #define AXIS2_ERROR_GET_MESSAGE(error) \ |
| axutil_error_get_message(error) |
| |
| #define AXIS2_ERROR_SET_MESSAGE(error, message) \ |
| axutil_error_set_error_message(error, message) |
| |
| #define AXIS2_ERROR_SET_ERROR_NUMBER(error, error_number) \ |
| axutil_error_set_error_number(error, error_number) |
| |
| #define AXIS2_ERROR_SET_STATUS_CODE(error, status_code) \ |
| axutil_error_set_status_code(error, status_code) |
| |
| #define AXIS2_ERROR_GET_STATUS_CODE(error) axutil_error_get_status_code(error) |
| |
| /** @} */ |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* AXIS2_ERROR_H */ |