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

IHandlerSoapSerializer.hpp

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.hpp"
00021 #include "SoapEnvVersions.hpp"
00022 
00023 AXIS_CPP_NAMESPACE_START
00024 
00025 class IHeaderBlock;
00049 class IHandlerSoapSerializer : public IWrapperSoapSerializer
00050 
00051 {
00052 public:        
00053     virtual ~IHandlerSoapSerializer() {};
00054 
00061     virtual IHeaderBlock* createHeaderBlock()=0;
00062 
00072     virtual IHeaderBlock*  createHeaderBlock(AxisChar *pachLocalName, 
00073                 AxisChar *pachUri)=0;    
00074 
00081     virtual int AXISCALL addHeaderBlock(IHeaderBlock* pBlk)=0;
00082 
00088     virtual int setSoapVersion(SOAP_VERSION eSOAP_VERSION)=0;
00089 
00096         virtual IHeaderBlock* getHeaderBlock() = 0;
00097 
00105         virtual IHeaderBlock* getHeaderBlock(const AxisChar *pcName, 
00106                                                                                          const AxisChar *pcNamespace) = 0;
00111      virtual IHeaderBlock* getFirstHeaderBlock()=0;
00112  
00117      virtual IHeaderBlock* getNextHeaderBlock()=0;
00118 
00119     /*
00120      * A handler may get the entire soap body and encrypt/compress 
00121      * it and encode to either base64Binary or hexBinary before 
00122      * sending to the trasport. So any handler in the response message 
00123      * path may use following functions to get the entire soap 
00124      * body / set encrypted and/or compressed and then encoded soap body
00125      * back to the Serializer
00126      */
00127 
00128     virtual int AXISCALL setBodyAsHexBinary(xsd__hexBinary body)=0;
00129     virtual int AXISCALL setBodyAsBase64Binary(xsd__base64Binary body)=0;
00130     virtual const AxisChar* AXISCALL getBodyAsString()=0;
00131 };
00132 
00133 AXIS_CPP_NAMESPACE_END
00134 
00135 #endif 
00136 

Generated on Fri Dec 3 18:43:42 2004 for AxisC++ by doxygen1.2.18