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

IHandlerSoapDeSerializer.hpp

00001 /*
00002  *   Copyright 2003-2004 The Apache Software Foundation.
00003 // (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
00004  *
00005  *   Licensed under the Apache License, Version 2.0 (the "License");
00006  *   you may not use this file except in compliance with the License.
00007  *   You may obtain a copy of the License at
00008  *
00009  *       http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  *   Unless required by applicable law or agreed to in writing, software
00012  *   distributed under the License is distributed on an "AS IS" BASIS,
00013  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  *   See the License for the specific language governing permissions and
00015  *   limitations under the License.
00016  */
00017 
00018 
00019 #if !defined(_IHANDLERSOAPDESERIALIZER_H____OF_AXIS_INCLUDED_)
00020 #define _IHANDLERSOAPDESERIALIZER_H____OF_AXIS_INCLUDED_
00021 
00022 #include <axis/IWrapperSoapDeSerializer.hpp>
00023 #include <axis/IHeaderBlock.hpp>
00024 #include <axis/AxisUserAPI.hpp>
00025 /*
00026  *  @class IHandlerSoapDeSerializer
00027  *  @brief interface for the IHandlerSoapDeSerializer class.
00028  *
00029  *
00030  *  @author Roshan Weerasuriya (roshan@opensource.lk, roshanw@jkcsworld.com)
00031  */
00032 
00033 /*
00034  * Revision 1.1  2004/06/14 roshan
00035  * Removed virtual int AXISCALL addHeaderBlock(IHeaderBlock* pBlk)=0; method
00036  * from this interface, because a user should not be able to add any thing
00037  * to the DeSerialzer.
00038  */
00039 
00040 AXIS_CPP_NAMESPACE_START
00041 
00042 class IHandlerSoapDeSerializer : public IWrapperSoapDeSerializer
00043 {
00044 public:
00045     virtual ~IHandlerSoapDeSerializer() {};
00046     
00047     /*
00048      * The soap body may be encrypted/compressed and a 
00049      * handler in the request message 
00050      * path may decode and then decrypt and/or decompress 
00051      * whole soap body and set the
00052      * XML to the Deserializer. In such a case a handler 
00053      * will use following functions 
00054      * to get soap body and set back the XML. 
00055      * If this process goes throgh several
00056      * handlers the intermediate binary data 
00057      * (unencrypted/uncompressed body) may be kept 
00058      * in the IMessageData until it is converted to XML. 
00059      * A handler usually converts it 
00060      * to XML and use SetNewSoapBody(..) function to set 
00061      * the new SoapBody back to the 
00062      * Deserializer.
00063      */
00064     virtual xsd__hexBinary AXISCALL getBodyAsHexBinary()=0;
00065     virtual xsd__base64Binary AXISCALL getBodyAsBase64Binary()=0;
00066     virtual AxisChar* AXISCALL getBodyAsChar()=0;
00067     virtual int AXISCALL setNewSoapBody(AxisChar* pNewSoapBody)=0;
00068 
00076     virtual IHeaderBlock* getHeaderBlock(const AxisChar* pName, 
00077         const AxisChar* pNamespace) = 0;
00078 };
00079 
00080 AXIS_CPP_NAMESPACE_END
00081 
00082 #endif 
00083 
00084 

Generated on Fri Mar 3 01:12:35 2006 for AxisC++ by doxygen1.2.18