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

SOAPTransport Class Reference

Interface of any Axis transport layer. More...

#include <SOAPTransport.h>

Inheritance diagram for SOAPTransport:

AxisIOStream List of all members.

Public Methods

virtual void closeConnection ()=0
 Closes the connection established with OpenConnection. @example AxisTransport.h.

virtual void registerReleaseBufferCallback (AXIS_ENGINE_CALLBACK_RELEASE_SEND_BUFFER pFunct)=0
 Registers the m_pReleaseBufferCallback callback function.

virtual void setTransportProperty (AXIS_TRANSPORT_INFORMATION_TYPE eType, const char *pcValue)=0
 Sets a predefined transport property for outgoing message.

virtual const char * getTransportProperty (AXIS_TRANSPORT_INFORMATION_TYPE eType)=0
 Gets a predefined transport property in the arrived message.

virtual void setTransportProperty (const char *pcKey, const char *pcValue)=0
 Sets any transport property.

virtual const char * getTransportProperty (const char *pcKey)=0
 Gets any transport property in the arrived message.

virtual void setAttachment (const char *pcAttachmentid, const char *pcAttachment)=0
 Sets a SOAP attachment to be sent with outgoing message.

virtual const char * getAttachment (const char *pcAttachmentid)=0
 Gets an attachment arrived in the inbound message.

virtual void setEndpointUri (const char *pcEndpointUri)=0
 Sets the remote endpoint for tranport to connect to.

virtual void setSessionId (const char *pcSessionId)=0
 Sets the session id for the transport session.

virtual const char * getSessionId ()=0
 Sets the session id for the transport session.

virtual const char * getServiceName ()=0
 Gets the service name of the web service to be invoked.

virtual AXIS_PROTOCOL_TYPE getProtocol ()=0
 Gets the protocol type of the transport library.

virtual int getSubProtocol ()=0
 Gets the sub protocol.

virtual AXIS_TRANSPORT_STATUS flushOutput ()=0
 Forces transport to send any remaining data of the outgoing message.

virtual void setProxy (const char *pcProxyHost, unsigned int uiProxyPort)
virtual void setTimeout (const long lSeconds)=0

Protected Attributes

char * m_pcEndpointUri
AXIS_ENGINE_CALLBACK_RELEASE_SEND_BUFFER m_pReleaseBufferCallback

Detailed Description

Interface of any Axis transport layer.

Interface of any Axis transport. Every transpor layer should implement this interface in order to be used with Axis Engine. This interface contain the functionalities independent of the type of transport (whether HTTP, SMTP, etc).


Member Function Documentation

virtual AXIS_TRANSPORT_STATUS SOAPTransport::flushOutput   [pure virtual]
 

Forces transport to send any remaining data of the outgoing message.

Returns:
Transport status. Two return status are possible. They are, TRANSPORT_FAILED - Sending data has failed. TRANSPORT_FINISHED - Sending finished and successful.

virtual const char* SOAPTransport::getAttachment const char *    pcAttachmentid [pure virtual]
 

Gets an attachment arrived in the inbound message.

Gets an attachment arrived in the inbound message. Usually the SOAP message will contain the information indicating that there is an attachment arrived at the transport. The SOAP message also contain the attachement id which is required to request the transport for the particular attachment.

Precondition:
To get an attachment the attachment id must be provided. The SOAP message should contain the attachment id.
Parameters:
pcAttachmentid  Attachment identifier that the caller should find from the SOAP message and pass in. The transport will use this identifier to locate the corresponding attachment.
Returns:
The attachment if available. Returns null if the attachment corresponding to the pcAttachmentid is not found.

virtual AXIS_PROTOCOL_TYPE SOAPTransport::getProtocol   [pure virtual]
 

Gets the protocol type of the transport library.

Gets the protocol type of the transport library. The caller should use this function to check the protocol of the transport layer and should use the transport accordingly.

Returns:
The type of the transport. See AXIS_PROTOCOL_TYPE in Packet.h

virtual const char* SOAPTransport::getServiceName   [pure virtual]
 

Gets the service name of the web service to be invoked.

Gets the service name of the web service to be invoked. How this service name is found is upto the type of the transport layer. For example HTTP transports will look at the value of http header "soapAction" and extract the service name. Whereas a SMTP transport will look at recepitent address.

Returns:
Service name if available and null otherwise.

virtual const char* SOAPTransport::getSessionId   [pure virtual]
 

Sets the session id for the transport session.

Gets the session id of the transport session sent by the remote end if any.

Returns:
Session id if available. Returns null otherwise.

virtual int SOAPTransport::getSubProtocol   [pure virtual]
 

Gets the sub protocol.

Gets the sub protocol. The usefulness of this method and the return values depend on the particular implementation. For example HTTP transports should return one of the values defined in enumeration AXIS_HTTP_METHOD. See Packet.h

Returns:
Type of the sub protocol (Ex: GET, POST, UNSUPPORTED for HTTP).

virtual const char* SOAPTransport::getTransportProperty const char *    pcKey [pure virtual]
 

Gets any transport property in the arrived message.

Parameters:
pcKey  The key of the transport property to get.
Returns:
Value of the transport property if available. Returns null if unavailable.

virtual const char* SOAPTransport::getTransportProperty AXIS_TRANSPORT_INFORMATION_TYPE    eType [pure virtual]
 

Gets a predefined transport property in the arrived message.

Parameters:
eType  Predefined transport property to get. See Packet.h for predefined transport property types.
Returns:
Value of the transport property if available. Returns null if unavailable.

virtual void SOAPTransport::registerReleaseBufferCallback AXIS_ENGINE_CALLBACK_RELEASE_SEND_BUFFER    pFunct [pure virtual]
 

Registers the m_pReleaseBufferCallback callback function.

Registers the callback function which is used by transport layer to inform the caller that a buffer given to be sent was sent and it can be re-used by the caller.

Parameters:
pFunct  Function pointer to caller's function signature of this function is defined in Packet.h

virtual void SOAPTransport::setAttachment const char *    pcAttachmentid,
const char *    pcAttachment
[pure virtual]
 

Sets a SOAP attachment to be sent with outgoing message.

Sets a SOAP attachment to be sent with outgoing message. This attachment is usually the base64 or hex encoded character buffer that is null terminated.

Parameters:
pcAttachmentid  An identifier for the attachment. This identifier also will go in to the SOAP message so that the recipient will know that there is an attachemet in the message.
pcAttachment  The attachment. This is usually a null terminated string encoded to base64 or hex binary.

virtual void SOAPTransport::setEndpointUri const char *    pcEndpointUri [pure virtual]
 

Sets the remote endpoint for tranport to connect to.

Sets the the remote endpoint for tranport to connect to. This URI depends on the the transport type.

Precondition:
A caller should use the method getProtocol() to get the type of the transport. Then the caller should set the endpoint URI accordingly. For example if the transport is HTTP this endpoint can be "http://www.xxx.com/"and if the transport is SMTP this endpoint can be the mail server and port.
Parameters:
pcEndpointUri  Endpoint URI to connect to.

virtual void SOAPTransport::setProxy const char *    pcProxyHost,
unsigned int    uiProxyPort
[inline, virtual]
 

Set proxy server and port for transport.

Setting the proxy is useful for users who are behind proxies.

For some trasports this method may not make sense. Hence this method is not pure virtual. Those trasports that implement this interface, that wish to use proxy, must provide an implementation. Also, the hadling of the proxy is the responsibility of the deriving classes

Parameters:
pcProxyHost  Host name of proxy server
uiProxyPort  Port of proxy server

virtual void SOAPTransport::setSessionId const char *    pcSessionId [pure virtual]
 

Sets the session id for the transport session.

Sets the session id for the transport session. Actual usage of this session id is depend on the implementation of the transport.

Parameters:
pcSessionId  The session id.

virtual void SOAPTransport::setTimeout const long    lSeconds [pure virtual]
 

Set transport timeout.

Parameters:
lSeconds  Timeout in seconds

virtual void SOAPTransport::setTransportProperty const char *    pcKey,
const char *    pcValue
[pure virtual]
 

Sets any transport property.

Sets any transport property to be included in the outgoing message. This transport property is not persistent in the transport layer. These transport properties should be set for each outgoing message.

Parameters:
pcKey  Key for the transport property to be set.
pcValue  Value for transport property to be set.

virtual void SOAPTransport::setTransportProperty AXIS_TRANSPORT_INFORMATION_TYPE    eType,
const char *    pcValue
[pure virtual]
 

Sets a predefined transport property for outgoing message.

Sets a predefined transport property to be included in the outgoing message. This transport property is not persistent in the transport layer. These transport properties should be set for each outgoing message.

Parameters:
eType  Predefined transport property to be set. See Packet.h for predefined transport property types.
pcValue  Transport property value to be set.


Member Data Documentation

char* SOAPTransport::m_pcEndpointUri [protected]
 

Outgoing endpoint URI

AXIS_ENGINE_CALLBACK_RELEASE_SEND_BUFFER SOAPTransport::m_pReleaseBufferCallback [protected]
 

Release buffer callback function registered. Usefull if the transport is accumulating buffers to be sent later. Ex: non-chunked behavior of http transports


The documentation for this class was generated from the following file:
Generated on Tue Jun 29 09:27:58 2004 for AxisC++ by doxygen1.2.18