00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #if !defined(AXIS_SOAPENVELOPE_H__INCLUDED_)
00018 #define AXIS_SOAPENVELOPE_H__INCLUDED_
00019
00020 #include <axis/server/SoapHeader.h>
00021 #include "SoapBody.h"
00022 #include <axis/server/SoapEnvVersions.h>
00023
00024
00025
00026
00027
00028
00029
00030
00031 class SoapEnvelope
00032 {
00033 friend class SoapSerializer;
00034
00035 private:
00036 int serializeStandardNamespaceDecl(SoapSerializer& pSZ);
00037 int addStandardNamespaceDecl(const Attribute* pAttribute);
00038 int serializeNamespaceDecl(SoapSerializer& pSZ);
00039
00040 int serializeAttributes(SoapSerializer& pSZ);
00041
00042 SoapHeader *m_pSoapHeader;
00043 SoapBody *m_pSoapBody;
00044
00045 list<Attribute*> m_attributes;
00046 list<Attribute*> m_namespaceDecls;
00047 list<const Attribute*> m_StandardNamespaceDecls;
00048 AxisString m_sPrefix;
00049
00050 public:
00051
00052 int initializeForTesting(SOAP_VERSION eSoapVersion);
00053 int setPrefix(const AxisChar* prefix);
00054 int addNamespaceDecl(Attribute* pAttribute);
00055 int addAttribute(Attribute* pAttribute);
00056 int serialize(SoapSerializer& pSZ, SOAP_VERSION eSoapVersion);
00057
00058 void setSoapBody(SoapBody* soapBody);
00059 void setSoapHeader(SoapHeader* soapHeader);
00060 SoapEnvelope();
00061 virtual ~SoapEnvelope();
00062 };
00063
00064 #endif