Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members   Examples  

IHandlerSoapSerializer.h

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 #if !defined(_IHANDLERSOAPSERIALIZER_H____OF_AXIS_INCLUDED_)
00018 #define _IHANDLERSOAPSERIALIZER_H____OF_AXIS_INCLUDED_
00019 
00020 #include "IWrapperSoapSerializer.h"
00021 #include "SoapEnvVersions.h"
00022 
00023 AXIS_CPP_NAMESPACE_START
00024 
00025 class ISoapHeader;
00026 class IHeaderBlock;
00050 class IHandlerSoapSerializer : public IWrapperSoapSerializer
00051 
00052 {
00053 public:        
00054     virtual ~IHandlerSoapSerializer() {};
00055 
00062     virtual IHeaderBlock* createHeaderBlock()=0;
00063 
00073     virtual IHeaderBlock*  createHeaderBlock(AxisChar *pachLocalName, 
00074                 AxisChar *pachUri)=0;    
00075 
00082     virtual int AXISCALL addHeaderBlock(IHeaderBlock* pBlk)=0;
00083 
00095     virtual int setSoapHeader(ISoapHeader* pSoapHeader)=0;
00096 
00102     virtual int setSoapVersion(SOAP_VERSION eSOAP_VERSION)=0;
00103 
00110         virtual IHeaderBlock* getHeaderBlock() = 0;
00111 
00119         virtual IHeaderBlock* getHeaderBlock(const AxisChar *pcName, 
00120                                                                                          const AxisChar *pcNamespace) = 0;
00125      virtual IHeaderBlock* getFirstHeaderBlock()=0;
00126  
00131      virtual IHeaderBlock* getNextHeaderBlock()=0;
00132 
00133     /*
00134      * A handler may get the entire soap body and encrypt/compress 
00135      * it and encode to either base64Binary or hexBinary before 
00136      * sending to the trasport. So any handler in the response message 
00137      * path may use following functions to get the entire soap 
00138      * body / set encrypted and/or compressed and then encoded soap body
00139      * back to the Serializer
00140      */
00141 
00142     virtual int AXISCALL setBodyAsHexBinary(xsd__hexBinary body)=0;
00143     virtual int AXISCALL setBodyAsBase64Binary(xsd__base64Binary body)=0;
00144     virtual const AxisChar* AXISCALL getBodyAsString()=0;
00145 };
00146 
00147 AXIS_CPP_NAMESPACE_END
00148 
00149 #endif 
00150 

Generated on Wed Aug 18 11:42:23 2004 for AxisC++ by doxygen1.2.18