Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages | Examples

AxisException.hpp

00001 /* 00002 * Copyright 2003-2004 The Apache Software Foundation. 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 * 00016 * 00017 * 00018 */ 00019 00027 #ifndef __AXISEXCEPTION_H_OF_AXIS_INCLUDED_ 00028 #define __AXISEXCEPTION_H_OF_AXIS_INCLUDED_ 00029 00030 #include <axis/GDefine.hpp> 00031 #include <string> 00032 #include <exception> 00033 #include <new> 00034 #include <typeinfo> 00035 #include <stdexcept> 00036 00037 AXIS_CPP_NAMESPACE_START 00038 using namespace std; 00039 00040 /* 00041 * The following enumeration is used to serve the Axis C++ codes for 00042 * faults. 00043 */ 00044 #define CLIENT_FAULT_OFFSET 0x0 00045 #define SERVER_FAULT_OFFSET 0x1000 00046 #define SOAP_FAULT_OFFSET 0x2000 00047 #define ENGINE_FAULT_OFFSET 0x3000 00048 #define WSDD_FAULT_OFFSET 0x4000 00049 #define TRANSPORT_FAULT_OFFSET 0x5000 00050 #define CONFIG_FAULT_OFFSET 0x6000 00051 #define AXISC_FAULT_OFFSET 0x7000 00052 00053 typedef enum 00054 { 00055 /*The notation used for naming these exceptions is as follows 00056 *CLIENT at the beginning means when this interpreted as a soap fault 00057 * it's fault code is CLIENT 00058 *SERVER at the beginning means when this interpreted as a soap fault 00059 * it's fault code is SERVER 00060 *SOAP that comes next to CLIENT/SERVER means this is a soap releated 00061 * exception 00062 *ENGINE that comes next to CLIENT/SERVER means this is a axisc++ engine 00063 * related exception 00064 *WSDD that comes next to CLIENT/SERVER means this is a wsdd releated 00065 * exception 00066 *TRANSPORT that comes next to CLIENT/SERVER means this is a transport releated 00067 * exception 00068 *CONFIG that comes next to CLIENT/SERVER means this is a axisc++ configuration 00069 * related exception 00070 *AXISC ? 00071 */ 00072 /* SOAP faults */ 00073 /*0*/ SOAP_VERSION_MISMATCH, /* VersionMismatch faults */ 00074 /*1*/ SOAP_MUST_UNDERSTAND, /* MustUnderstand faults */ 00075 00076 /* Client faults */ 00077 /*2*/ CLIENT_SOAP_MESSAGE_INCOMPLETE, 00078 /*3*/ CLIENT_SOAP_SOAP_ACTION_EMTPY, 00079 /*4*/ CLIENT_SOAP_SOAP_CONTENT_ERROR, 00080 /*5*/ CLIENT_SOAP_NO_SOAP_METHOD, 00081 /*6*/ CLIENT_SOAP_CONTENT_NOT_SOAP, 00082 /*7*/ CLIENT_WSDD_SERVICE_NOT_FOUND, 00083 /*8*/ CLIENT_WSDD_METHOD_NOT_ALLOWED, 00084 /*9*/ CLIENT_WSDD_PARA_TYPE_MISMATCH, 00085 /*10*/ CLIENT_ENGINE_CLIENT_HANDLER_FAILED, 00086 /*11*/ CLIENT_TRANSPORT_EXCEPTION, 00087 /*12*/ CLIENT_TRANSPORT_OPEN_CONNECTION_FAILED, 00088 /*13*/ CLIENT_TRANSPORT_TYPE_MISMATCH, 00089 /*14*/ CLIENT_TRANSPORT_HAS_NO_UNSECURE_TRANSPORT_LAYER, 00090 /*15*/ CLIENT_TRANSPORT_HAS_NO_SECURE_TRANSPORT_LAYER, 00091 /*16*/ CLIENT_SSLCHANNEL_RECEPTION_EXCEPTION, 00092 /*17*/ CLIENT_SSLCHANNEL_SENDING_EXCEPTION, 00093 /*18*/ CLIENT_SSLCHANNEL_CHANNEL_INIT_ERROR, 00094 /*19*/ CLIENT_SSLCHANNEL_SOCKET_CREATE_ERROR, 00095 /*20*/ CLIENT_SSLCHANNEL_SOCKET_CONNECT_ERROR, 00096 /*21*/ CLIENT_SSLCHANNEL_INVALID_SOCKET_ERROR, 00097 /*22*/ CLIENT_SSLCHANNEL_CONTEXT_CREATE_ERROR, 00098 /*23*/ CLIENT_SSLCHANNEL_ERROR, 00099 00100 /* Server faults */ 00101 /*24*/ SERVER_ENGINE_EXCEPTION, 00102 /*25*/ SERVER_ENGINE_COULD_NOT_LOAD_SRV, 00103 /*26*/ SERVER_ENGINE_COULD_NOT_LOAD_HDL, 00104 /*27*/ SERVER_ENGINE_LOADING_TRANSPORT_FAILED, 00105 /*28*/ SERVER_ENGINE_LOADING_PARSER_FAILED, 00106 /*29*/ SERVER_ENGINE_HANDLER_FAILED, 00107 /*30*/ SERVER_ENGINE_WEBSERVICE_FAILED, 00108 /*31*/ SERVER_ENGINE_HANDLER_INIT_FAILED, 00109 /*32*/ SERVER_ENGINE_HANDLER_CREATION_FAILED, 00110 /*33*/ SERVER_ENGINE_LIBRARY_LOADING_FAILED, 00111 /*34*/ SERVER_ENGINE_HANDLER_NOT_LOADED, 00112 /*35*/ SERVER_ENGINE_HANDLER_BEING_USED, 00113 /*36*/ SERVER_ENGINE_GET_HANDLER_FAILED, 00114 /*37*/ SERVER_ENGINE_WRONG_HANDLER_TYPE, 00115 /*38*/ SERVER_CONFIG_EXCEPTION, 00116 /*39*/ SERVER_CONFIG_TRANSPORT_CONF_FAILED, 00117 /*40*/ SERVER_CONFIG_LIBRARY_PATH_EMPTY, 00118 /*41*/ SERVER_WSDD_FILE_NOT_FOUND, 00119 /*42*/ SERVER_WSDD_EXCEPTION, 00120 /*43*/ SERVER_WSDD_NO_HANDLERS_CONFIGURED, 00121 /*44*/ SERVER_SOAP_EXCEPTION, 00122 /*45*/ SERVER_TRANSPORT_EXCEPTION, 00123 /*46*/ SERVER_TRANSPORT_RECEPTION_EXCEPTION, 00124 /*47*/ SERVER_TRANSPORT_SENDING_EXCEPTION, 00125 /*48*/ SERVER_TRANSPORT_PROCESS_EXCEPTION, 00126 /*49*/ SERVER_TRANSPORT_UNKNOWN_HTTP_RESPONSE, 00127 /*50*/ SERVER_TRANSPORT_HTTP_EXCEPTION, 00128 /*51*/ SERVER_TRANSPORT_UNEXPECTED_STRING, 00129 /*52*/ SERVER_TRANSPORT_CHANNEL_INIT_ERROR, 00130 /*53*/ SERVER_TRANSPORT_SOCKET_CREATE_ERROR, 00131 /*54*/ SERVER_TRANSPORT_SOCKET_CONNECT_ERROR, 00132 /*55*/ SERVER_TRANSPORT_INVALID_SOCKET, 00133 /*56*/ SERVER_TRANSPORT_OUTPUT_STREAMING_ERROR, 00134 /*57*/ SERVER_TRANSPORT_INPUT_STREAMING_ERROR, 00135 /*58*/ SERVER_TRANSPORT_TIMEOUT_EXCEPTION, 00136 /*59*/ SERVER_TRANSPORT_TIMEOUT_EXPIRED, 00137 /*60*/ SERVER_TRANSPORT_LOADING_SSLCHANNEL_FAILED, 00138 /*61*/ SERVER_TRANSPORT_LOADING_CHANNEL_FAILED, 00139 /*62*/ SERVER_TRANSPORT_BUFFER_EMPTY, 00140 /*63*/ SERVER_PARSE_BUFFER_EMPTY, 00141 /*64*/ SERVER_PARSE_PARSER_FAILED, 00142 /*65*/ SERVER_PARSE_TRANSPORT_FAILED, 00143 /*66*/ SERVER_TEST_EXCEPTION, 00144 /*67*/ SERVER_UNKNOWN_ERROR, 00145 00146 /* AXIS C faults */ 00147 /*Following exceptions are not releated to soap faults 00148 */ 00149 /*68*/ AXISC_SERVICE_THROWN_EXCEPTION, 00150 /*69*/ AXISC_UNKNOWN_ELEMENT_EXCEPTION, 00151 /*70*/ AXISC_NODE_VALUE_MISMATCH_EXCEPTION, 00152 /*71*/ AXISC_READ_CONF_EXCEPTION, 00153 00154 /* 00155 * This FAULT_LAST is not used as a fault code, but instead is used 00156 * internaly in the code. Developers should not use this as a fault 00157 * code. 00158 */ 00159 /*72*/ FAULT_LAST 00160 } AXISC_EXCEPTIONS; 00161 00173 class STORAGE_CLASS_INFO AxisException :public exception 00174 { 00175 00176 public: 00178 //AxisException(){}; 00179 00189 //AxisException(const int iExceptionCode); 00190 00202 //AxisException(const int iExceptionCode, char* pcMessage); 00203 00212 //AxisException(const exception* e); 00213 00220 //AxisException(const exception* e, const int iExceptionCode); 00221 00226 //AxisException(const char* pcMessage){m_sMessage = pcMessage;}; 00227 00229 virtual ~AxisException() throw(){}; 00230 00234 virtual const char* what() throw() = 0; 00235 00245 virtual const int getExceptionCode() = 0; 00246 }; 00247 00248 AXIS_CPP_NAMESPACE_END 00249 00250 #endif 00251

Generated on Tue Feb 8 14:34:17 2005 for AxisC++ by doxygen 1.3.8