00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00029 #ifndef _RTSAXCPPSOAP_H_
00030 #define _RTSAXCPPSOAP_H_
00031
00032 #include "rtxsrc/rtxCppDynOctStr.h"
00033 #include "rtxsrc/OSRTContext.h"
00034 #include "rtxsrc/OSRTMemBuf.h"
00035 #include "rtxsrc/rtxCppXmlString.h"
00036 #include "rtxmlsrc/osrtxml.h"
00037 #include "rtxmlsrc/rtSaxCppParser.h"
00038 #include "rtxmlsrc/rtXmlCppMsgBuf.h"
00039
00040 class EXTERNXML OSXMLSoapHandler : public OSXMLDefaultHandler {
00041 private:
00042 OSXMLDefaultHandler* mpMsgSaxHandler;
00043 OSXMLDefaultHandler* mpFaultMsgSaxHandler;
00044 OSRTMemBuf mCurrElemValue;
00045
00046
00047 OSBOOL mbEnvelopeParsed;
00048 OSBOOL mbFault;
00049 OSBOOL mbProcessingDetailFault;
00050 OSBOOL mbParsingHeader;
00051
00052 public:
00053 OSXMLSoapHandler
00054 (OSXMLDefaultHandler* msgSaxHandler,
00055 OSRTContext* pContext,
00056 OSXMLDefaultHandler* faultSaxHandler = 0);
00057 ~OSXMLSoapHandler ();
00058
00059 virtual int startElement
00060 (const OSUTF8CHAR* const uri,
00061 const OSUTF8CHAR* const localname,
00062 const OSUTF8CHAR* const qname,
00063 const OSUTF8CHAR* const* attrs);
00064
00065 virtual int characters
00066 (const OSUTF8CHAR* const chars, unsigned int length);
00067
00068 virtual int endElement
00069 (const OSUTF8CHAR* const uri,
00070 const OSUTF8CHAR* const localname,
00071 const OSUTF8CHAR* const qname);
00072
00073 OSBOOL isSoapEnv(const OSUTF8CHAR* uri);
00074 } ;
00075
00076 #endif