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 "SoapHeader.h"
00022 class IHeaderBlock;
00046 class IHandlerSoapSerializer : public IWrapperSoapSerializer
00047 
00048 {
00049 public:        
00050     virtual ~IHandlerSoapSerializer() {};
00051 
00058     virtual IHeaderBlock* createHeaderBlock()=0;
00059 
00069     virtual IHeaderBlock*  createHeaderBlock(AxisChar *pachLocalName, 
00070                 AxisChar *pachUri)=0;    
00071 
00078     virtual int AXISCALL addHeaderBlock(IHeaderBlock* pBlk)=0;
00079 
00091     virtual int setSoapHeader(SoapHeader* pSoapHeader)=0;
00092 
00098     virtual int setSoapVersion(SOAP_VERSION eSOAP_VERSION)=0;
00099 
00106         virtual IHeaderBlock* getHeaderBlock() = 0;
00107 
00115         virtual IHeaderBlock* getHeaderBlock(const AxisChar *pcName, 
00116                                                                                          const AxisChar *pcNamespace) = 0;
00117         
00118     /*
00119      * A handler may get the entire soap body and encrypt/compress 
00120      * it and encode to either base64Binary or hexBinary before 
00121      * sending to the trasport. So any handler in the response message 
00122      * path may use following functions to get the entire soap 
00123      * body / set encrypted and/or compressed and then encoded soap body
00124      * back to the Serializer
00125      */
00126 
00127     virtual int AXISCALL setBodyAsHexBinary(xsd__hexBinary body)=0;
00128     virtual int AXISCALL setBodyAsBase64Binary(xsd__base64Binary body)=0;
00129     virtual const AxisChar* AXISCALL getBodyAsString()=0;
00130 };
00131 
00132 #endif 
00133 

Generated on Tue Jun 29 09:27:56 2004 for AxisC++ by doxygen1.2.18