blob: 61719ac62dbb87ec657263b9eb0782add8f1d909 [file] [log] [blame]
/*
* Copyright 2003-2004 The Apache Software Foundation.
// (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
/* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE */
/* ---------------------------------------------------------------- */
/* CHANGES TO hpp HEADER FILE MAY NEED TO BE PROPAGATED TO THE */
/* C-EQUIVALENT HEADER FILE IN SUPPORT OF THE C-BINDING INTERFACES. */
/* ---------------------------------------------------------------- */
/* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE */
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
#if !defined(_IWRAPPERSOAPDESERIALIZER_H____OF_AXIS_INCLUDED_)
#define _IWRAPPERSOAPDESERIALIZER_H____OF_AXIS_INCLUDED_
#include <axis/AxisUserAPI.hpp>
#include <axis/TypeMapping.hpp>
#include <axis/WSDDDefines.hpp>
#include <axis/ISoapAttachment.hpp>
/**
* @file IWrapperSoapDeSerializer.hpp
*/
/**
@class IWrapperSoapDeSerializer
@brief interface for the IWrapperSoapDeSerializer class.
*/
AXIS_CPP_NAMESPACE_START
class IWrapperSoapDeSerializer
{
public:
/**
* Destructor
*/
virtual ~IWrapperSoapDeSerializer(){};
/**
* Check expected message has been received. Consumes node.
*
* @param pName SOAP element for message
* @param pNamespace SOAP namespace for message
* @return AXIS_SUCCESS if expected message has been received
*
* @deprecated see validateMessageBody below.
*
* @NOTE: do not remove method in order to keep backward compatibility.
*
*/
virtual int AXISCALL checkMessageBody(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Check expected message has been received. Throws
* exception if message is not what was expected.
*
* @param pName SOAP element for message
* @param pNamespace SOAP namespace for message
* @param consumeIt indicate whether to consume node.
*
*/
virtual int AXISCALL validateMessageBody(const AxisChar* pName,
const AxisChar* pNamespace,
bool consumeIt=true)=0;
/**
* Check if message is a fault
*
* @param pName SOAP element for fault
* @param pNamespace SOAP namspace for fault
* @return ISoapFault object
*/
virtual void* AXISCALL checkForFault(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrappers to get a deserialized Array of complex types
*
* @param pArray is populated with the deserialized complex type objects
* @param pDZFunct function pointer to the complex type deserialize method
* @param pCreFunct function pointer to the complex type creation method
* @param pDelFunct function pointer to the complex type delete method
* @param pName SOAP element name for complex type
* @param pNamespace SOAP namespace for complex type
* @return deserialized complex type array, this is pArray
*/
virtual Axis_Array* AXISCALL getCmplxArray(Axis_Array * pArray,
void* pDZFunct,
void* pCreFunct,
void* pDelFunct,
const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrappers to get a deserialized Array of basic types
*
* @param nType the xsd basic type of the array elements
* @param pName SOAP element name for array elements
* @param pNamespace SOAP namespace for array elements
* @return deserialized array
*/
virtual Axis_Array* AXISCALL getBasicArray(XSDTYPE nType,
const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrappers to get a deserialized single object of
* complex type
*
* @param pDZFunct function pointer to the complex type deserialize method
* @param pCreFunct function pointer to the complex type creation method
* @param pDelFunct function pointer to the complex type delete method
* @param pName SOAP element name for complex type
* @param pNamespace SOAP namespace for complex type
* @param isFault boolean indicating complex object is a fault.
* @return deserialized complex type
*/
virtual void* AXISCALL getCmplxObject(void* pDZFunct,
void* pCreFunct,
void* pDelFunct,
const AxisChar* pName,
const AxisChar* pNamespace,
bool isFault=false)=0;
/**
* Method used by wrapper to deserialize an xsd:int element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:int value
*/
virtual xsd__int * AXISCALL getElementAsInt(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:boolean element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:boolean value
*/
virtual xsd__boolean * AXISCALL getElementAsBoolean(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:unsignedInt element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:unsignedInt value
*/
virtual xsd__unsignedInt * AXISCALL getElementAsUnsignedInt(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:short element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:short value
*/
virtual xsd__short * AXISCALL getElementAsShort(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:unsignedShort element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:unsignedShort value
*/
virtual xsd__unsignedShort * AXISCALL getElementAsUnsignedShort(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:byte element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:byte value
*/
virtual xsd__byte * AXISCALL getElementAsByte(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:unsignedByte element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:unsignedByte value
*/
virtual xsd__unsignedByte * AXISCALL getElementAsUnsignedByte(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:long element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:long value
*/
virtual xsd__long * AXISCALL getElementAsLong(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:integer element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:integer value
*/
virtual xsd__integer * AXISCALL getElementAsInteger(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:unsignedLong element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:unsignedLong value
*/
virtual xsd__unsignedLong * AXISCALL getElementAsUnsignedLong(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:float element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:float value
*/
virtual xsd__float * AXISCALL getElementAsFloat(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:double element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:double value
*/
virtual xsd__double * AXISCALL getElementAsDouble(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:decimal element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:decimal value
*/
virtual xsd__decimal * AXISCALL getElementAsDecimal(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:string element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:string value
*/
virtual xsd__string AXISCALL getElementAsString(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:anyURI element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:anyURI value
*/
virtual xsd__anyURI AXISCALL getElementAsAnyURI(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:QName element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:QName value
*/
virtual xsd__QName AXISCALL getElementAsQName(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:hexBinary element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:hexBinary value
*/
virtual xsd__hexBinary * AXISCALL getElementAsHexBinary(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:base64Binary element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:base64Binary value
*/
virtual xsd__base64Binary * AXISCALL getElementAsBase64Binary(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:dateTime element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:dateTime value
*/
virtual xsd__dateTime * AXISCALL getElementAsDateTime(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:date element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:date value
*/
virtual xsd__date * AXISCALL getElementAsDate(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:time element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:time value
*/
virtual xsd__time * AXISCALL getElementAsTime(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:duration element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:duration value
*/
virtual xsd__duration * AXISCALL getElementAsDuration(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:gYearMonth element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:gYearMonth value
*/
virtual xsd__gYearMonth * AXISCALL getElementAsGYearMonth(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:gYear element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:gYear value
*/
virtual xsd__gYear * AXISCALL getElementAsGYear(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:gMonthDay element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:gMonthDay value
*/
virtual xsd__gMonthDay * AXISCALL getElementAsGMonthDay(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:gDay element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:gDay value
*/
virtual xsd__gDay * AXISCALL getElementAsGDay(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:gMonth element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:gMonth value
*/
virtual xsd__gMonth * AXISCALL getElementAsGMonth(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:nonPositiveInteger element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:nonPositiveInteger value
*/
virtual xsd__nonPositiveInteger * AXISCALL getElementAsNonPositiveInteger(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:negativeInteger element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:negativeInteger value
*/
virtual xsd__negativeInteger * AXISCALL getElementAsNegativeInteger(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:nonNegativeInteger element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:nonNegativeInteger value
*/
virtual xsd__nonNegativeInteger * AXISCALL getElementAsNonNegativeInteger(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:positiveInteger element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:positiveInteger value
*/
virtual xsd__positiveInteger * AXISCALL getElementAsPositiveInteger(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:normalizedString element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:normalizedString value
*/
virtual xsd__normalizedString AXISCALL getElementAsNormalizedString(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:token element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:token value
*/
virtual xsd__token AXISCALL getElementAsToken(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:language element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:language value
*/
virtual xsd__language AXISCALL getElementAsLanguage(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:Name element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:Name value
*/
virtual xsd__Name AXISCALL getElementAsName(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:NCName element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:NCName value
*/
virtual xsd__NCName AXISCALL getElementAsNCName(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:ID element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:ID value
*/
virtual xsd__ID AXISCALL getElementAsID(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:IDREF element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:IDREF value
*/
virtual xsd__IDREF AXISCALL getElementAsIDREF(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:IDREFS element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:IDREFS value
*/
virtual xsd__IDREFS AXISCALL getElementAsIDREFS(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:ENTITY element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:ENTITY value
*/
virtual xsd__ENTITY AXISCALL getElementAsENTITY(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:ENTITIES element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:ENTITIES value
*/
virtual xsd__ENTITIES AXISCALL getElementAsENTITIES(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:NMTOKEN element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:NMTOKEN value
*/
virtual xsd__NMTOKEN AXISCALL getElementAsNMTOKEN(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:NMTOKENS element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:NMTOKENS value
*/
virtual xsd__NMTOKENS AXISCALL getElementAsNMTOKENS(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:NOTATION element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:NOTATION value
*/
virtual xsd__NOTATION AXISCALL getElementAsNOTATION(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:anyType element
*
* @param pName SOAP element name
* @param pNamespace SOAP namespace
* @return deserialized xsd:anyType value
*/
virtual xsd__anyType AXISCALL getElementAsAnyType(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:int attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:int value
*/
virtual xsd__int * AXISCALL getAttributeAsInt(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:boolean attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:boolean value
*/
virtual xsd__boolean * AXISCALL getAttributeAsBoolean(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:unsignedInt attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:unsignedInt value
*/
virtual xsd__unsignedInt * AXISCALL getAttributeAsUnsignedInt(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:short attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:short value
*/
virtual xsd__short * AXISCALL getAttributeAsShort(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:unsignedShort attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:unsignedShort value
*/
virtual xsd__unsignedShort * AXISCALL getAttributeAsUnsignedShort(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:byte attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:byte value
*/
virtual xsd__byte * AXISCALL getAttributeAsByte(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:unsignedByte attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:unsignedByte value
*/
virtual xsd__unsignedByte * AXISCALL getAttributeAsUnsignedByte(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:long attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:long value
*/
virtual xsd__long * AXISCALL getAttributeAsLong(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:integer attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:integer value
*/
virtual xsd__integer * AXISCALL getAttributeAsInteger(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:nonPositiveInteger attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:nonPositiveInteger value
*/
virtual xsd__nonPositiveInteger * AXISCALL getAttributeAsNonPositiveInteger(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:negativeInteger attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:negativeInteger value
*/
virtual xsd__negativeInteger * AXISCALL getAttributeAsNegativeInteger(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:nonNegativeInteger attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:nonNegativeInteger value
*/
virtual xsd__nonNegativeInteger * AXISCALL getAttributeAsNonNegativeInteger(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:positiveInteger attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:positiveInteger value
*/
virtual xsd__positiveInteger * AXISCALL getAttributeAsPositiveInteger(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:unsignedLong attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:unsignedLong value
*/
virtual xsd__unsignedLong * AXISCALL getAttributeAsUnsignedLong(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:float attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:float value
*/
virtual xsd__float * AXISCALL getAttributeAsFloat(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:double attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:double value
*/
virtual xsd__double * AXISCALL getAttributeAsDouble(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:decimal attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:decimal value
*/
virtual xsd__decimal * AXISCALL getAttributeAsDecimal(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:NOTATION attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:NOTATION value
*/
virtual xsd__NOTATION AXISCALL getAttributeAsNOTATION(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:string attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:string value
*/
virtual xsd__string AXISCALL getAttributeAsString(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:normalizedString attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:normalizedString value
*/
virtual xsd__normalizedString AXISCALL getAttributeAsNormalizedString(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:token attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:token value
*/
virtual xsd__token AXISCALL getAttributeAsToken(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:language attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:language value
*/
virtual xsd__language AXISCALL getAttributeAsLanguage(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:NMTOKEN attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:NMTOKEN value
*/
virtual xsd__NMTOKEN AXISCALL getAttributeAsNMTOKEN(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:NMTOKENS attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:NMTOKENS value
*/
virtual xsd__NMTOKENS AXISCALL getAttributeAsNMTOKENS(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:Name attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:Name value
*/
virtual xsd__Name AXISCALL getAttributeAsName(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:NCName attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:NCName value
*/
virtual xsd__NCName AXISCALL getAttributeAsNCName(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:ID attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:ID value
*/
virtual xsd__ID AXISCALL getAttributeAsID(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:IDREF attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:IDREF value
*/
virtual xsd__IDREF AXISCALL getAttributeAsIDREF(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:IDREFS attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:IDREFS value
*/
virtual xsd__IDREFS AXISCALL getAttributeAsIDREFS(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:ENTITY attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:ENTITY value
*/
virtual xsd__ENTITY AXISCALL getAttributeAsENTITY(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:ENTITIES attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:ENTITIES value
*/
virtual xsd__ENTITIES AXISCALL getAttributeAsENTITIES(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:anyURI attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:anyURI value
*/
virtual xsd__anyURI AXISCALL getAttributeAsAnyURI(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:QName attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:QName value
*/
virtual xsd__QName AXISCALL getAttributeAsQName(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:hexBinary attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:hexBinary value
*/
virtual xsd__hexBinary * AXISCALL getAttributeAsHexBinary(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:base64Binar attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:base64Binary value
*/
virtual xsd__base64Binary * AXISCALL getAttributeAsBase64Binary(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:dateTime attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:dateTime value
*/
virtual xsd__dateTime * AXISCALL getAttributeAsDateTime(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:date attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:date value
*/
virtual xsd__date * AXISCALL getAttributeAsDate(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:time attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:time value
*/
virtual xsd__time * AXISCALL getAttributeAsTime(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:gDay attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:gDay value
*/
virtual xsd__gDay * AXISCALL getAttributeAsGDay(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:gMonth attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:gMonth value
*/
virtual xsd__gMonth * AXISCALL getAttributeAsGMonth(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:gMonthDay attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:gMonthDay value
*/
virtual xsd__gMonthDay * AXISCALL getAttributeAsGMonthDay(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:gYear attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:gYear value
*/
virtual xsd__gYear * AXISCALL getAttributeAsGYear(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:gYearMonth attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:gYearMonth value
*/
virtual xsd__gYearMonth * AXISCALL getAttributeAsGYearMonth(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Method used by wrapper to deserialize an xsd:duration attribute
*
* @param pName SOAP attribute name
* @param pNamespace SOAP namespace
* @return deserialized xsd:duration value
*/
virtual xsd__duration * AXISCALL getAttributeAsDuration(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/**
* Return status of last operation
*
* @return AXIS_SUCCESS of AXIS_FAIL
*/
virtual int AXISCALL getStatus()=0;
/**
* Returns binding style of message
*
* @return binding style
*/
virtual AXIS_BINDING_STYLE getStyle()=0;
/**
* Set binding style of message
*
* @param nStyle binding style
*/
virtual void setStyle(AXIS_BINDING_STYLE nStyle)=0;
/**
* Returns SOAP version of message
*
* @return SOAP version
*/
virtual int getVersion()=0;
/**
* Reads SOAP header ready for processing
*
* @return AXIS_SUCCESS if SOAP header ready for processing
*/
virtual int getHeader()=0;
/**
* Deserialize an xsd:any element
* This will deserialize the next available SOAP element and all child elements.
*
* @return Deserialized xsd:any element
*/
virtual AnyType* AXISCALL getAnyObject()=0;
/**
* Deserialize character data, ie the data typically enclosed by an XML tag
*
* @param pValue object into which deserialized value will be placed
* @param type The xsd simple type of the data.
*/
virtual void getChardataAs(void** pValue,
XSDTYPE type)=0;
/**
* Returns attachment associated with the given ID.
*
* @param pcAttachmentid ID of the attachment to be returned
* @return SOAP attachment
*/
virtual ISoapAttachment* getAttachment(const char* pcAttachmentid)=0;
/**
* Returns all attachments.
*
* @param pAttchArraySize is updated with the array size
* @return array of SOAP attachments
*/
virtual ISoapAttachment** getAllAttachments(int *pAttchArraySize)=0;
/**
* This method allows to peek for the name of the next element in XML stream.
* Useful in supporting "all" & "choice" WSDL constructs.
* @return Name of the next element in XML stream
*/
virtual const char* peekNextElementName() = 0;
};
AXIS_CPP_NAMESPACE_END
#endif