blob: abd09be1fdca35737c8f30cc19b5418160958ec5 [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.
*
*/
/**
* @file Call.hpp
*
* This file Contains the Call class and equivalent C function tables
* that all web service stubs generated by WSDL2Ws tool use to talk
* to Axis Engine.
*/
#if !defined(_CALL_H____OF_AXIS_INCLUDED_)
#define _CALL_H____OF_AXIS_INCLUDED_
#include <axis/GDefine.hpp>
#include <axis/TypeMapping.hpp>
#include <axis/AxisUserAPI.hpp>
#include <axis/AxisUserAPIArrays.hpp>
#include <axis/WSDDDefines.hpp>
#include <axis/IHeaderBlock.hpp>
#include <axis/IWrapperSoapDeSerializer.hpp>
AXIS_CPP_NAMESPACE_START
class ClientAxisEngine;
class SOAPTransport;
class MessageData;
class SoapDeSerializer;
class SoapSerializer;
class ISoapAttachment;
class ContentIdSet;
class AxisException;
/**
* @class Call
*
* @brief This file Contains the Call class and equivalent C function tables
* that all web service stubs generated by WSDL2Ws tool use to talk
* to Axis Engine.
*/
/* A separate call class object should be used by each thread */
class STORAGE_CLASS_INFO Call
{
public:
Call();
virtual ~Call();
/**
* Set the expected SOAP version. The currently supported SOAP versions
* are 1.1 and 1.2.
*
* @param version is an enumerated type. SOAP_VERSION is defined in
* SoapEnvVersions.hpp and currently has the following values;- SOAP_VER_1_1
* and SOAP_VER_1_2.
*/
void AXISCALL setSOAPVersion( SOAP_VERSION version);
/**
* Set a property in the transport layer.
*
* @param type is an enumerated type. AXIS_TRANSPORT_INFORMATION_TYPE is
* defined in GDefine.hpp and currently has the following values;- @n
* SOAPACTION_HEADER, SERVICE_URI, OPERATION_NAME, SOAP_MESSAGE_LENGTH,
* TRANSPORT_PROPERTIES, SECURE_PROPERTIES, DLL_NAME, CHANNEL_HTTP_SSL_DLL_NAME (same as DLL_NAME),
* CHANNEL_HTTP_DLL_NAME and CONTENT_TYPE.
* @param value points to a null terminated string that contains the new
* transport property value.
* @return The return value is either AXIS_SUCCESS or AXIS_FAIL.
* @note This method can also throw the following exception;- AxisGenException
*/
int AXISCALL setTransportProperty( AXIS_TRANSPORT_INFORMATION_TYPE type,
const char * value);
/**
* Get a property from either the request or response HTTP Header.
*
* @param key is a null terminated character string. The 'key' is the name
* of the HTTP header information element that is to be found. For example,
* the HTTP header may look something like this;- @n
* POST /axis/AxisBench HTTP/1.1 @n
* Host: 127.0.0.1:12345 @n
* Content-Type: text/xml; charset=UTF-8 @n
* SOAPAction: "" @n
* Content-Length: 83779 @n
* Then if 'key' was "Host", the returned null terminated character string would
* be "127.0.0.1:12345".
*
* @param response is a boolean. If 'response' is set to TRUE, then the
* response HTTP header is used, else the request HTTP header will be used.
* The default is TRUE, which implies that the response HTTP header will be used.
* @return is a null terminated character string containing the associated
* 'key' value. If the key was not found, then the return value will be NULL.
*/
const char * AXISCALL getTransportProperty( const char * key,
bool response = true);
/**
* Close the transport connection to the server, if active.
*/
void closeTransportConnection() { closeConnection(); }
/**
* Set a handler property. This adds a new property to a list of properties
* that a handler can access when it is invoked.
*
* @param name is a null terminated character string containing the name of
* the handler property.
* @param value is a pointer to an untyped object.
* @param len is an integer value that is the length of the object passed in
* the 'value' parameter.
* @return Always AXIS_SUCCESS.
* @note The method does not check if the name already exists in the list of
* handler properties and so it is possible to have more than one object with
* the same name in the list. The user is advised to ensure that all names
* are unique.
*/
int AXISCALL setHandlerProperty( AxisChar * name,
void * value,
int len);
/**
* set the protocol that the underlying transport will use.
* If there is not transport set then the transport protocol is stored locally
* until there is a transport.
*
* @param protocol the protocol that you want. Allowed values are defined in
* GDefine.hpp AXIS_PROTOCOL_TYPE
* @return AXIS_SUCCESS if the protocol was set correctly in the underlying
* transport or, if there is no transport then the value was stored safely.
*/
int AXISCALL setProtocol( AXIS_PROTOCOL_TYPE protocol);
/**
* Get the protocol that the transport is or will use.
*
* @return the transport protocol being used.
*/
AXIS_PROTOCOL_TYPE AXISCALL getProtocol();
/**
* At the end of every web service (request/reply SOAP message pair) call,
* the deserialiser needs to be uninitialised. If there was a "sessionid" in
* the message data, then replace the existing session id with the one from the
* message. If there was no new session id, then delete the existing one. An
* example of it use can be found in any generated stub or in this code snippet
* below:- @n
* try @n
* { @n
* if( AXIS_SUCCESS != m_pCall->initialize( CPP_DOC_PROVIDER)) return pReturn; @n
* if( NULL == m_pCall->getTransportProperty( "SOAPAction", false)) @n
* { @n
* m_pCall->setTransportProperty( SOAPACTION_HEADER , ""); @n
* } @n
* m_pCall->setSOAPVersion( SOAP_VER_1_1); @n
* m_pCall->setOperation( "doBenchRequest", "http://axisbench.test.apache.org"); @n
* includeSecure(); @n
* applyUserPreferences(); @n
* : @n
* if( AXIS_SUCCESS == m_pCall->invoke()) @n
* { @n
* : @n
* } @n
* <B> m_pCall->unInitialize(); </B>@n
* }
*
* @return Always AXIS_SUCCESS.
*/
int AXISCALL unInitialize();
/**
* Populate the message data object by doing the following;- @n
* Move the handler data previously added using the setHandlerProperty method. @n
* Add the serialiser and deserialiser entry points. @n
* Set the serialiser and deserialiser provider type (as defined by nStyle). @n
* Reset and initialise the serialiser and deserialiser engines. @n
* Set the serialiser and deserialiser encoder/decoder styles to RPC or DOC @n
* Set the sessionid property. @n
* Move the attachments data. @n
*
* @param nStyle Set the serialiser and deserialiser provider type. PROVIDERTYPE
* is an enumerated type and is defined in WSDDDefines.hpp. The current values
* are:- @n
* C_RPC_PROVIDER @n
* C_DOC_PROVIDER @n
* CPP_RPC_PROVIDER @n
* CPP_DOC_PROVIDER @n
* COM_PROVIDER (not implemented)@n
* @return If the initialisation is successful, then AXIS_SUCCESS is returned,
* otherwise AXIS_FAIL is returned.
* @note This method may thrown an exception.
*/
int AXISCALL initialize( PROVIDERTYPE nStyle);
/**
* This is the main entry point into the Axis engine. Calling this method
* will begin the sequence that serialises the message, invokes that request
* handlers, transmits the request message and then wait for the response
* message, calls the response handlers and then deserialises the response
* message.
* @deprecated Use sendAndReceive method instead of this method.
* @return If the invocation is successful, then AXIS_SUCCESS is returned,
* otherwise AXIS_FAIL is returned.
* @note This method may thrown an exception.
*/
int AXISCALL invoke() { return sendAndReceive(); }
/**
* This is the main entry point into the Axis engine. Calling this method
* will begin the sequence that serialises the message, invokes that request
* handlers, transmits the request message and then wait for the response
* message, calls the response handlers and then deserialises the response
* message.
* @return If the invocation is successful, then AXIS_SUCCESS is returned,
* otherwise AXIS_FAIL is returned.
* @note This method may thrown an exception.
*/
int AXISCALL sendAndReceive();
/**
* This is the main entry point into the Axis engine. Calling this method
* will begin the sequence that serialises the message, invokes that request
* handlers, transmits the request message. No response
* message is expected and no response handlers are invoked.
* @return If the invocation is successful, then AXIS_SUCCESS is returned,
* otherwise AXIS_FAIL is returned.
* @note This method may thrown an exception.
*/
int AXISCALL send();
/**
* Sets an Attribute to the SOAPMethod, using the given Attribute data.
* You must ensure the prefix has a valid namespace declared, otherwise an
* invalid SOAP message will be produced. @n
* It is safer to use setSOAPMethodAttribute( const AxisChar * pLocalname, @n
* const AxisChar * pPrefix, @n
* const AxisChar * pUri, @n
* const AxisChar * pValue) @n
*
* @param pLocalname The local name of the Attribute.
* @param pPrefix The prefix of the Attribute.
* @param pValue The value of the Attribute.
*/
void setSOAPMethodAttribute( const AxisChar * pLocalname,
const AxisChar * pPrefix,
const AxisChar * pValue);
/**
* Sets an Attribute to the SOAPMethod, using the given Attribute data.
*
* @param pLocalname The local name of the Attribute.
* @param pPrefix The prefix of the Attribute.
* @param pUri The namespace uri of the Attribute.
* @param pValue The value of the Attribute.
*/
void setSOAPMethodAttribute( const AxisChar * pLocalname,
const AxisChar * pPrefix,
const AxisChar * pUri,
const AxisChar * pValue);
/**
* Ensure that existing attributes are cleared.
*/
void clearSOAPMethodAttributes();
/**
* Method for adding complex parameters to the engine, ready to be serialised.
* An example of this method (taken from the automatically generated stubs
* of the AxisBench test) follows:- @n
* BenchDataType * AxisBench::doBenchRequest( BenchDataType * pBenchDataTypeObj) @n
* : @n
* char cPrefixAndParamName[17]; @n
* sprintf( cPrefixAndParamName, @n
* "%s:doBench", @n
* m_pCall->getNamespacePrefix( Axis_URI_BenchDataType)); @n
* m_pCall->addCmplxParameter( pBenchDataTypeObj, @n
* (void *) Axis_Serialize_BenchDataType, @n
* (void *) Axis_Delete_BenchDataType, @n
* cPrefixAndParamName, @n
* Axis_URI_BenchDataType); @n
*
* @param pObject is the 'complex' object.
* @param pSZFunct is a pointer to the function that knows how to serialise
* the object.
* @param pDelFunct is a pointer to the function that knows how to delete the object.
* @param pName is a null terminated character string that contains the
* prefix:name of the object.
* @param pNamespace is the namespace associated with the prefix used in 'pName'.
*/
void AXISCALL addCmplxParameter( void * pObject,
void * pSZFunct,
void * pDelFunct,
const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method for adding complex type array parameters to the engine, ready to
* be serialised.
*
* @param pArray is a pointer the an Axis_Array object.
* @param pSZFunct is a pointer to the function that knows how to serialise the object.
* @param pDelFunct is a pointer to the function that knows how to delete the object.
* @param pName is a null terminated character string that contains the
* prefix:name of the object.
* @param pNamespace is the namespace associated with the prefix used in 'pName'.
*/
void AXISCALL addCmplxArrayParameter( Axis_Array * pArray,
void * pSZFunct,
void * pDelFunct,
const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method for adding basic type array parameters to the engine, ready to be serialised.
*
* @param pArray is a pointer the an Axis_Array object.
* @param nType is an enumerated type that defines the type of array (XSDTYPE
* is defined in TypeMapping.hpp).
* @param pName is a null terminated character string containing the name of the array.
*/
void AXISCALL addBasicArrayParameter( Axis_Array * pArray,
XSDTYPE nType,
const AxisChar * pName);
/**
* Method for adding parameters of basic types to the engine, ready to be serialised.
*
* @param pValue is a pointer to the object.
* @param pchName is a null terminated character string containing the name of
* the parameter.
* @param nType is an enumerated type that defines the type of parameter
* (XSDTYPE is defined in TypeMapping.hpp).
*/
void AXISCALL addParameter( void * pValue,
const char * pchName,
XSDTYPE nType);
/**
* Adds an attachment and references it from a parameter in the SOAP body.
* Axis C++ will delete the storage for the ISoapAttachment and IAttributes
* passed to this method during ~Call.
*
* @param attachment The attachment to add to the MIME message, referenced
* from the SOAP body (mandatory).
* @param pName The name of the parameter (mandatory).
* @param attributes An array of pointers to attributes that will be added
* to the attachment reference in the SOAP body (optional).
* @param nAttributes The number of elements in the attributes array.
*/
void AXISCALL addAttachmentParameter( ISoapAttachment * attachment,
const char * pName,
IAttribute ** attributes = NULL,
int nAttributes = 0);
/**
* Creates an IAttribute that can be used on an attachment reference on
* Call::addAttachmentParameter. If this IAttribute is subsequently passed
* to Call::addAttachmentParameter, Axis C++ will delete the storage associated
* with the IAttribute during ~Call. You must ensure the prefix has a valid
* namespace declared, otherwise an invalid SOAP message will be produced.
*
* @param pLocalname The local name of the Attribute.
* @param pPrefix The prefix of the Attribute.
* @param pValue The value of the Attribute.
* @return a pointer to an IAttribute object.
*/
IAttribute * createAttribute( const AxisChar * pLocalname,
const AxisChar * pPrefix,
const AxisChar * pValue);
/**
* Method to set the remote method name.
*
* @param pchOperation null terminated character string that contains the
* request tag name. i.e. @n
* m_pCall->setOperation( "doBenchRequest", Axis_URI_BenchDataType);@n
* @param pchNamespace null terminated character string that contains the
* namespace for the operation.
*/
void AXISCALL setOperation( const char * pchOperation,
const char * pchNamespace);
/**
* Method to set the remote method name.
*
* @param pchOperation null terminated character string that contains the
* request tag name. i.e. @n
* m_pCall->setOperation( "doBenchRequest", Axis_URI_BenchDataType);@n
* @param pchNamespace null terminated character string that contains the
* namespace for the operation.
* @param bIsWrapperStyle whether operation is wrapper-style or not.
*/
void AXISCALL setOperation( const char * pchOperation,
const char * pchNamespace,
bool bIsWrapperStyle);
/**
* Method to set the endpoint URI for the service.
*
* @param pchEndpointURI null terminated character string that contains the
* new endpoint URI.
* @return Always AXIS_SUCCESS.
* @note There is no syntax parsing used on the URI so the user must be careful
* to ensure that it is correctly formatted.
*/
int AXISCALL setEndpointURI( const char * pchEndpointURI);
/**
* Method to create a IHeaderBlock object (defined in IHeaderBlock.hpp).
* @param pachLocalName null terminated character string that contains the
* local name of the header block.
* @param pachUri null terminated character string that contains the URI
* associated with the local name of the header block.
* @return Pointer to the created IHeaderBlock object.
*/
IHeaderBlock * AXISCALL createHeaderBlock( AxisChar * pachLocalName,
AxisChar * pachUri);
/**
* Method to create a IHeaderBlock object (defined in IHeaderBlock.hpp).
* @param pachLocalName null terminated character string that contains the
* local name of the header block.
*
* @param pachUri null terminated character string that contains the URI
* associated with the local name of the header block.
* @param pachPrefix null terminated character string that contains the
* associated prefix for the URI of the header block.
* @return Pointer to the created IHeaderBlock object.
*/
IHeaderBlock * AXISCALL createHeaderBlock( AxisChar * pachLocalName,
AxisChar * pachUri,
AxisChar * pachPrefix);
/**
* Method to create a IHeaderBlock object (defined in IHeaderBlock.hpp).
*
* @return Pointer to the created IHeaderBlock object.
*/
IHeaderBlock * createHeaderBlock();
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to the xsd__int type containing the contents of the element.
*/
xsd__int * AXISCALL getElementAsInt( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to the xsd__boolean type containing the contents of the element.
*/
xsd__boolean * AXISCALL getElementAsBoolean( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to the xsd__unsignedInt type containing the contents of the element.
*/
xsd__unsignedInt * AXISCALL getElementAsUnsignedInt( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__short type containing the contents of the element.
*/
xsd__short * AXISCALL getElementAsShort(const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__unsignedShort type containing the contents of the element.
*/
xsd__unsignedShort * AXISCALL getElementAsUnsignedShort( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__byte type containing the contents of the element.
*/
xsd__byte * AXISCALL getElementAsByte( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__unsignedByte type containing the contents of the element.
*/
xsd__unsignedByte * AXISCALL getElementAsUnsignedByte( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__long type containing the contents of the element.
*/
xsd__long * AXISCALL getElementAsLong( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__integer type containing the contents of the element.
*/
xsd__integer * AXISCALL getElementAsInteger( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__unsignedLong type containing the contents of the element.
*/
xsd__unsignedLong * AXISCALL getElementAsUnsignedLong( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__float type containing the contents of the element.
*/
xsd__float * AXISCALL getElementAsFloat( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__double type containing the contents of the element.
*/
xsd__double * AXISCALL getElementAsDouble( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__decimal type containing the contents of the element.
*/
xsd__decimal * AXISCALL getElementAsDecimal( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__string type containing the contents of the element.
*/
xsd__string AXISCALL getElementAsString( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__anyURI type containing the contents of the element.
*/
xsd__anyURI AXISCALL getElementAsAnyURI( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__QName type containing the contents of the element.
*/
xsd__QName AXISCALL getElementAsQName( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__hexBinary type containing the contents of the element.
*/
xsd__hexBinary * AXISCALL getElementAsHexBinary( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__base64Binary type containing the contents of the element.
*/
xsd__base64Binary * AXISCALL getElementAsBase64Binary( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__dateTime type containing the contents of the element.
*/
xsd__dateTime * AXISCALL getElementAsDateTime( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__date type containing the contents of the element.
*/
xsd__date * AXISCALL getElementAsDate( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__time type containing the contents of the element.
*/
xsd__time * AXISCALL getElementAsTime( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__duration type containing the contents of the element.
*/
xsd__duration * AXISCALL getElementAsDuration( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__gYearMonth type containing the contents of the element.
*/
xsd__gYearMonth * AXISCALL getElementAsGYearMonth( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__gYear type containing the contents of the element.
*/
xsd__gYear * AXISCALL getElementAsGYear( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__gMonthDay type containing the contents of the element.
*/
xsd__gMonthDay * AXISCALL getElementAsGMonthDay( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__gDay type containing the contents of the element.
*/
xsd__gDay * AXISCALL getElementAsGDay( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__gMonth type containing the contents of the element.
*/
xsd__gMonth * AXISCALL getElementAsGMonth( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__nonPositiveInteger type containing the contents of the element.
*/
xsd__nonPositiveInteger * AXISCALL getElementAsNonPositiveInteger( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__negativeInteger type containing the contents of the element.
*/
xsd__negativeInteger * AXISCALL getElementAsNegativeInteger( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__nonNegativeInteger type containing the contents of the element.
*/
xsd__nonNegativeInteger * AXISCALL getElementAsNonNegativeInteger( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__positiveInteger type containing the contents of the element.
*/
xsd__positiveInteger * AXISCALL getElementAsPositiveInteger( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__normalizedString type containing the contents of the element.
*/
xsd__normalizedString AXISCALL getElementAsNormalizedString( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__token type containing the contents of the element.
*/
xsd__token AXISCALL getElementAsToken( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__language type containing the contents of the element.
*/
xsd__language AXISCALL getElementAsLanguage( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__Name type containing the contents of the element.
*/
xsd__Name AXISCALL getElementAsName( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__NCName type containing the contents of the element.
*/
xsd__NCName AXISCALL getElementAsNCName( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__ID type containing the contents of the element.
*/
xsd__ID AXISCALL getElementAsID( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__IDREF type containing the contents of the element.
*/
xsd__IDREF AXISCALL getElementAsIDREF( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__IDREFS type containing the contents of the element.
*/
xsd__IDREFS AXISCALL getElementAsIDREFS( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__ENTITY type containing the contents of the element.
*/
xsd__ENTITY AXISCALL getElementAsENTITY( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__ENTITIES type containing the contents of the element.
*/
xsd__ENTITIES AXISCALL getElementAsENTITIES( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__NMTOKEN type containing the contents of the element.
*/
xsd__NMTOKEN AXISCALL getElementAsNMTOKEN( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__NMTOKENS type containing the contents of the element.
*/
xsd__NMTOKENS AXISCALL getElementAsNMTOKENS( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__NOTATION type containing the contents of the element.
*/
xsd__NOTATION AXISCALL getElementAsNOTATION( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of XML element as any type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the element.
* @return pointer to xsd__anyType type containing the contents of the element.
*/
xsd__anyType AXISCALL getElementAsAnyType( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__int type containing the contents of
* the attribute element.
*/
xsd__int * AXISCALL getAttributeAsInt( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__boolean type containing the contents of
* the attribute element.
*/
xsd__boolean * AXISCALL getAttributeAsBoolean( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__unsignedInt type containing the contents of
* the attribute element.
*/
xsd__unsignedInt * AXISCALL getAttributeAsUnsignedInt( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__short type containing the contents of
* the attribute element.
*/
xsd__short * AXISCALL getAttributeAsShort( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__unsignedShort type containing the contents of
* the attribute element.
*/
xsd__unsignedShort * AXISCALL getAttributeAsUnsignedShort( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__byte type containing the contents of
* the attribute element.
*/
xsd__byte * AXISCALL getAttributeAsByte( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__unsignedByte type containing the contents of
* the attribute element.
*/
xsd__unsignedByte * AXISCALL getAttributeAsUnsignedByte( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__long type containing the contents of
* the attribute element.
*/
xsd__long * AXISCALL getAttributeAsLong( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__integer type containing the contents of
* the attribute element.
*/
xsd__integer * AXISCALL getAttributeAsInteger( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__unsignedLong type containing the contents of
* the attribute element.
*/
xsd__unsignedLong * AXISCALL getAttributeAsUnsignedLong( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__float type containing the contents of
* the attribute element.
*/
xsd__float * AXISCALL getAttributeAsFloat( const AxisChar * pName,
const AxisChar* pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__double type containing the contents of
* the attribute element.
*/
xsd__double * AXISCALL getAttributeAsDouble( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__decimal type containing the contents of
* the attribute element.
*/
xsd__decimal * AXISCALL getAttributeAsDecimal( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__string type containing the contents of
* the attribute element.
*/
xsd__string AXISCALL getAttributeAsString( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__anyURI type containing the contents of
* the attribute element.
*/
xsd__anyURI AXISCALL getAttributeAsAnyURI( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__QName type containing the contents of
* the attribute element.
*/
xsd__QName AXISCALL getAttributeAsQName( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__hexBinary type containing the contents of
* the attribute element.
*/
xsd__hexBinary * AXISCALL getAttributeAsHexBinary( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__base64Binary type containing the contents of
* the attribute element.
*/
xsd__base64Binary * AXISCALL getAttributeAsBase64Binary( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__dateTime type containing the contents of
* the attribute element.
*/
xsd__dateTime * AXISCALL getAttributeAsDateTime( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__date type containing the contents of
* the attribute element.
*/
xsd__date * AXISCALL getAttributeAsDate( const AxisChar * pName,
const AxisChar* pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__time type containing the contents of
* the attribute element.
*/
xsd__time * AXISCALL getAttributeAsTime( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__duration type containing the contents of
* the attribute element.
*/
xsd__duration * AXISCALL getAttributeAsDuration( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__gYearMonth type containing the contents of
* the attribute element.
*/
xsd__gYearMonth * AXISCALL getAttributeAsGYearMonth( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__gYear type containing the contents of
* the attribute element.
*/
xsd__gYear * AXISCALL getAttributeAsGYear( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__gMonthDay type containing the contents of
* the attribute element.
*/
xsd__gMonthDay * AXISCALL getAttributeAsGMonthDay( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__gDay type containing the contents of
* the attribute element.
*/
xsd__gDay * AXISCALL getAttributeAsGDay( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__gMonth type containing the contents of
* the attribute element.
*/
xsd__gMonth * AXISCALL getAttributeAsGMonth( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__NOTATION type containing the contents of
* the attribute element.
*/
xsd__NOTATION AXISCALL getAttributeAsNOTATION( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__normalizedString type containing the contents of
* the attribute element.
*/
xsd__normalizedString AXISCALL getAttributeAsNormalizedString( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__token type containing the contents of
* the attribute element.
*/
xsd__token AXISCALL getAttributeAsToken( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__language type containing the contents of
* the attribute element.
*/
xsd__language AXISCALL getAttributeAsLanguage( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__Name type containing the contents of
* the attribute element.
*/
xsd__Name AXISCALL getAttributeAsName( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__NCName type containing the contents of
* the attribute element.
*/
xsd__NCName AXISCALL getAttributeAsNCName( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__ID type containing the contents of
* the attribute element.
*/
xsd__ID AXISCALL getAttributeAsID( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__IDREF type containing the contents of
* the attribute element.
*/
xsd__IDREF AXISCALL getAttributeAsIDREF( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__IDREFS type containing the contents of
* the attribute element.
*/
xsd__IDREFS AXISCALL getAttributeAsIDREFS( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__ENTITY type containing the contents of
* the attribute element.
*/
xsd__ENTITY AXISCALL getAttributeAsENTITY( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__ENTITIES type containing the contents of
* the attribute element.
*/
xsd__ENTITIES AXISCALL getAttributeAsENTITIES( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__NMTOKEN type containing the contents of
* the attribute element.
*/
xsd__NMTOKEN AXISCALL getAttributeAsNMTOKEN( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__NMTOKENS type containing the contents of
* the attribute element.
*/
xsd__NMTOKENS AXISCALL getAttributeAsNMTOKENS( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__nonPositiveInteger type containing the contents of
* the attribute element.
*/
xsd__nonPositiveInteger * AXISCALL getAttributeAsNonPositiveInteger( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__negativeInteger type containing the contents of
* the attribute element.
*/
xsd__negativeInteger * AXISCALL getAttributeAsNegativeInteger( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__nonNegativeInteger type containing the contents of
* the attribute element.
*/
xsd__nonNegativeInteger * AXISCALL getAttributeAsNonNegativeInteger( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of a XML attribute as basic type.
*
* @param pName null terminated character string that contains the name of
* the tag containing the attribute element.
* @param pNamespace null terminated character string that contains the
* namespace of the tag containing the attribute element.
* @return pointer to xsd__positiveInteger type containing the contents of
* the attribute element.
*/
xsd__positiveInteger * AXISCALL getAttributeAsPositiveInteger( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized value of complex types.
*
* @param pDZFunct is a pointer to the function that knows how to de-serialise
* the object.
* @param pCreFunct is a pointer to the function that knows how to create the object.
* @param pDelFunct is a pointer to the function that knows how to delete the object.
* @param pName is a null terminated character string that contains the
* prefix:name of the object.
* @param pNamespace is the namespace associated with the prefix used in 'pName'.
* @return pointer to a void object that contains the 'complex' object.
*/
void * AXISCALL getCmplxObject( void * pDZFunct,
void * pCreFunct,
void * pDelFunct,
const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized Array of complex type.
*
* @param pArray is a pointer to array of objects that needs to be de-serialised.
* @param pDZFunct is a pointer to the function that knows how to de-serialise
* the object.
* @param pCreFunct is a pointer to the function that knows how to create the object.
* @param pDelFunct is a pointer to the function that knows how to delete the object.
* @param pName is a null terminated character string that contains the
* prefix:name of the object.
* @param pNamespace is the namespace associated with the prefix used in 'pName'.
* @return pointer to a void object that contains the 'complex' object.
*/
Axis_Array * AXISCALL getCmplxArray( Axis_Array * pArray,
void * pDZFunct,
void * pCreFunct,
void * pDelFunct,
const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method used by stubs to get a deserialized Array of basic type.
*
* @param nType is an enumerated type that defines the type of array (XSDTYPE
* is defined in TypeMapping.hpp).
* @param pName is a null terminated character string containing the name
* of the array.
* @param pNamespace is a null terminated character string containing the
* namespace for the array.
* @return is a pointer to the Axis_Array object.
*/
Axis_Array * AXISCALL getBasicArray( XSDTYPE nType,
const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method to check that the SOAP message body contains the specified name and
* namespace.
*
* @param pName is a null terminated character string containing the response name.
* @param pNamespace is a null terminated character string containing the
* response namespace.
* @return The return value is either AXIS_SUCCESS or AXIS_FAIL depending
* if the name was found.
*
* @deprecated use validateMessage().
*/
int AXISCALL checkMessage( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method to check that the SOAP message body contains the specified name and
* namespace.
*
* @param pName is a null terminated character string containing the response name.
* @param pNamespace is a null terminated character string containing the
* response namespace.
* @return The return value is either AXIS_SUCCESS or AXIS_FAIL depending
* if the name was found.
*/
int AXISCALL validateMessage( const AxisChar * pName,
const AxisChar * pNamespace,
bool consumeIt=true);
/**
* Method to check that the SOAP message fault contains the specified name and
* namespace.
*
* @param pName is a null terminated character string containing the response name.
* @param pNamespace is a null terminated character string containing the
* response namespace.
* @return The return value is a pointer to ISoapFault object if a fault exists,
* or NULL if there is no fault.
*/
void * AXISCALL checkFault( const AxisChar * pName,
const AxisChar * pNamespace);
/**
* Method to retrieve the status flag of the engine.
*
* @return The return value is either AXIS_SUCCESS or AXIS_FAIL.
*/
int AXISCALL getStatus();
/**
* Method to retrieve the current SOAP Transport object.
*
* @return A pointer to the currently loaded SOAP transport.
*/
SOAPTransport * getTransport()
{
return m_pTransport;
}
/**
* Method to retrieve the current SOAP Serializer object.
*
* @return A pointer to the currently loaded SOAP serialiser.
*/
SoapSerializer * getSOAPSerializer()
{
return (SoapSerializer *) m_pIWSSZ;
}
/**
* Method to retrieve the current SOAP DeSerializer object.
*
* @return A pointer to the currently loaded SOAP deserialiser.
*/
IWrapperSoapDeSerializer * getSOAPDeSerializer()
{
return (IWrapperSoapDeSerializer *) m_pIWSDZ;
}
/**
* 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.
*/
void getChardataAs(void** pValue, XSDTYPE type);
/**
* Set proxy server and port for transport.
*
* @param pcProxyHost Host name of proxy server.
* @param uiProxyPort Port of proxy server.
*/
void setProxy( const char * pcProxyHost, unsigned int uiProxyPort);
/**
* Method to get an 'ANY' object from the engine.
*
* @return A pointer to an 'ANY' type object (the 'AnyType' object is defined in
* AxisUserAPI.hpp).
*/
AnyType * AXISCALL getAnyObject();
/**
* Method to add an 'ANY' object to the engine.
*
* @param pAnyObject a pointer to an 'ANY' type object (the 'AnyType' object is defined in
* AxisUserAPI.hpp).
* @return The return value is either AXIS_SUCCESS or AXIS_FAIL.
*/
int AXISCALL addAnyObject( AnyType * pAnyObject);
/**
* Returns the prefix for a previously defined namespace. If the
* namespace has not previously been associated with a prefix, it
* creates a new prefix, which is unique and returns that. It will
* only return prefixes for user-defined namespaces, so passing a
* standard namespace will cause a new prefix to be created.
*
* @param pNamespace the namespace to look for.
* @return the prefix for this namespace.
*/
const AxisChar * AXISCALL getNamespacePrefix( const AxisChar * pNamespace);
/**
* Returns a complex fault as an XML string.
*
* @return a null terminated character string of the complex fault in XML.
*/
xsd__string getFaultAsXMLString();
/**
* Adds an attachment to the MIME message. This attachment will not be
* referenced from the SOAP body. The storage associated with the ISoapAttachment
* will be deleted during ~Call.
*
* @param objAttach the attachment to add to the message.
*/
void addAttachment( ISoapAttachment * objAttach);
/**
* Creates an ISoapAttachment which represents an attachment. The ISoapAttachment
* can be passed to addAttachment or addAttachmentParameter. The attachment
* will not be added to the message unless it is subsequently passed to
* addAttachment or addAttachmentParameter. The storage associated with the
* ISoapAttachment will not be automatically deleted by Axis C++ unless it
* is passed to addAttachment or addAttachmentParamater.
*
* @return Pointer to an ISoapAttachment object.
*/
ISoapAttachment * createSoapAttachment();
/**
* Set C-binding stub pointer associated with Call object.
* This function was added in support of the c-Binding implementation.
*
* @param pStub - pointer to C binding stub object.
*/
void setCStub(void *pStub) { m_pStub = pStub; }
/**
* Get C-binding stub pointer.
* This function was added in support of the c-Binding implementation.
*
* @return Pointer to C binding stub object.
*/
void *getCStub() { return m_pStub; }
/**
* Set pointer to exception handler function for call object.
* The pSoapFaultNamespace is used as-is - i.e. it should not be deleted
* by the caller unless a subsequent call to this function is being made.
* Calling this function will result in the resetting of the SOAP Fault list.
* If service does not have any SOAP faults defined, call this function with
* NULL pointer in order to clear the SOAP fault list.
* This function was added in support of the c-Binding implementation.
*
* @param pSoapFaultNamespace - pointer to namespace to use when checking for fault.
*/
void setSoapFaultNamespace(const char *pSoapFaultNamespace)
{
m_pSoapFaultNamespace = pSoapFaultNamespace;
resetSoapFaultList();
}
/**
* Set pointer to exception handler function for call object.
* Calling this function will result in the resetting of the SOAP Fault list.
* This function was added in support of the c-Binding implementation.
*
* @param faultName - pointer to fault name.
* @param createFp - pointer to object creation function for fault detail
* @param deleteFp - pointer to object deletion function for fault detail
* @param deserializerFp - pointer to object deserializer function for fault detail
*/
void addSoapFaultToList(const char *faultName,
void *createFp, void *deleteFp, void *deserializerFp);
/**
* Process soap fault. The SOAP fault list will be searched to see if there
* is a SOAP Fault in the list that matches. After the SOAP fault has been processed,
* the stub exception handler will be called if one exists; otherwise, the generic
* exception handler will be called.
* This function was added in support of the c-Binding implementation.
*
* @param e - exception to be processed.
* @param exceptionHandlerFp - pointer to exception handler function
*/
void processSoapFault(AxisException *e, void *exceptionHandlerFp);
private:
void closeConnection(bool forceClose=true);
int makeArray();
void cleanup(); // clean memory in case of exceptions and destructor etc.
void resetSoapFaultList(); // added in support of C-binding implementation.
ClientAxisEngine* m_pAxisEngine;
#ifdef WIN32
#pragma warning (push)
#pragma warning (disable : 4251)
#endif
list<void*> m_handlerProperties;
list<ISoapAttachment*> m_attachments;
list<void *> m_soapFaults; // c binding support use only
#ifdef WIN32
#pragma warning (pop)
#endif
/*
Following are pointers to relevant objects of the ClientAxisEngine
instance. So they do not belong to this object and are not created
or deleted
*/
SoapSerializer* m_pIWSSZ;
SoapDeSerializer* m_pIWSDZ;
char* m_pcEndPointUri;
AXIS_PROTOCOL_TYPE m_nTransportType;
/*
Transport object
*/
SOAPTransport* m_pTransport;
/* Minimal error check */
int m_nStatus;
/**
* Proxy server name.
*/
string m_strProxyHost;
/**
* Proxy server port.
*/
unsigned int m_uiProxyPort;
/**
* Use Proxy or not?
*/
bool m_bUseProxy;
/**
* To track if the initialize was called/matched with an uninitialize
*/
bool m_bCallInitialized;
// Samisa m_pchSessionID was misssing and there was a compile error due to this
char* m_pchSessionID;
ContentIdSet *m_pContentIdSet;
/**
* Following is for C-binding support. The stub that the Call object belongs to.
*/
void * m_pStub;
/**
* Following is for C-binding support. Namespace associated with soap fault.
*/
const char * m_pSoapFaultNamespace;
};
AXIS_CPP_NAMESPACE_END
#endif