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 class ISoapHeader;
00024 class IHeaderBlock;
00048 class IHandlerSoapSerializer : public IWrapperSoapSerializer
00049 
00050 {
00051 public:        
00052     virtual ~IHandlerSoapSerializer() {};
00053 
00060     virtual IHeaderBlock* createHeaderBlock()=0;
00061 
00071     virtual IHeaderBlock*  createHeaderBlock(AxisChar *pachLocalName, 
00072                 AxisChar *pachUri)=0;    
00073 
00080     virtual int AXISCALL addHeaderBlock(IHeaderBlock* pBlk)=0;
00081 
00093     virtual int setSoapHeader(ISoapHeader* pSoapHeader)=0;
00094 
00100     virtual int setSoapVersion(SOAP_VERSION eSOAP_VERSION)=0;
00101 
00108         virtual IHeaderBlock* getHeaderBlock() = 0;
00109 
00117         virtual IHeaderBlock* getHeaderBlock(const AxisChar *pcName, 
00118                                                                                          const AxisChar *pcNamespace) = 0;
00119         
00120     /*
00121      * A handler may get the entire soap body and encrypt/compress 
00122      * it and encode to either base64Binary or hexBinary before 
00123      * sending to the trasport. So any handler in the response message 
00124      * path may use following functions to get the entire soap 
00125      * body / set encrypted and/or compressed and then encoded soap body
00126      * back to the Serializer
00127      */
00128 
00129     virtual int AXISCALL setBodyAsHexBinary(xsd__hexBinary body)=0;
00130     virtual int AXISCALL setBodyAsBase64Binary(xsd__base64Binary body)=0;
00131     virtual const AxisChar* AXISCALL getBodyAsString()=0;
00132 };
00133 
00134 #endif 
00135 

Generated on Fri Jul 9 13:18:29 2004 for AxisC++ by doxygen1.2.18