00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00024 #ifdef WIN32
00025 #pragma warning (disable : 4786)
00026 #endif
00027
00028 #if !defined(__AXISENGINE_OF_AXIS_INCLUDED__)
00029 #define __AXISENGINE_OF_AXIS_INCLUDED__
00030
00031
00032 #include "SoapSerializer.h"
00033 #include "SoapDeSerializer.h"
00034 #include "MessageData.h"
00035 #include "HandlerChain.h"
00036
00037
00038
00039
00040
00041
00042
00043
00044 class AxisEngine
00045 {
00046 protected:
00047 SoapSerializer* m_pSZ;
00048 SoapDeSerializer* m_pDZ;
00049 HandlerChain* m_pGReqFChain;
00050 HandlerChain* m_pGResFChain;
00051 HandlerChain* m_pTReqFChain;
00052 HandlerChain* m_pTResFChain;
00053 HandlerChain* m_pSReqFChain;
00054 HandlerChain* m_pSResFChain;
00055 MessageData* m_pMsgData;
00056 PROVIDERTYPE m_CurrentProviderType;
00057 public:
00058 static int m_bServer;
00059 public:
00060 AxisEngine();
00061 virtual ~AxisEngine();
00062 virtual int initialize();
00063 virtual void unInitialize();
00064 virtual int process(SOAPTransport* pSoap)=0;
00065 protected:
00066 virtual int invoke(MessageData* pMsg)=0;
00067 virtual void onFault(MessageData* pMsg)=0;
00068 virtual int initializeHandlers(string& sSessionId,
00069 AXIS_PROTOCOL_TYPE protocol);
00070 };
00071
00072 #endif
00073