#include <Stub.h>
Public Methods | |
Stub (const char *pcEndPointURI, AXIS_PROTOCOL_TYPE eProtocol) | |
virtual | ~Stub () |
void AXISCALL | setEndPoint (const char *pcEndPointURI) |
void AXISCALL | setTransportProperty (const char *pcKey, const char *pcValue) |
char * | getFirstTrasportPropertyKey () |
char * | getNextTrasportPropertyKey () |
char * | getCurrentTrasportPropertyKey () |
char * | getCurrentTrasportPropertyValue () |
void | deleteCurrentTrasportProperty () |
void | deleteTrasportProperty (char *pcKey, unsigned int uiOccurance=1) |
IHeaderBlock *AXISCALL | createSOAPHeaderBlock (AxisChar *pachLocalName, AxisChar *pachUri) |
IHeaderBlock * | getFirstSOAPHeaderBlock () |
IHeaderBlock * | getNextSOAPHeaderBlock () |
IHeaderBlock * | getCurrentSOAPHeaderBlock () |
void | deleteCurrentSOAPHeaderBlock () |
void | deleteSOAPHeaderBlock (IHeaderBlock *pHeaderBlock) |
void | setProxy (const char *pcProxyHost, unsigned int uiProxyPort) |
void | setSOAPMethodAttribute (const AxisChar *pLocalname, const AxisChar *pPrefix, const AxisChar *pValue) |
void | setSOAPMethodAttribute (const AxisChar *pLocalname, const AxisChar *pPrefix, const AxisChar *pUri, const AxisChar *pValue) |
Attribute * | getFirstSOAPMethodAttribute () |
Attribute * | getNextSOAPMethodAttribute () |
Attribute * | getCurrentSOAPMethodAttribute () |
void | deleteCurrentSOAPMethodAttribute () |
void | deleteSOAPMethodAttribute (Attribute *pAttribute) |
void | setTransportTimeout (const long lSeconds) |
int | getStatus () |
const AxisChar *AXISCALL | getNamespacePrefix (const AxisChar *pNamespace) |
Protected Methods | |
void | applyUserPreferences () |
void | setTransportProperties () |
void | setSOAPHeaders () |
void | setSOAPMethodAttributes () |
void | setTransportTimeout () |
Protected Attributes | |
Call * | m_pCall |
vector< char * > | m_vKeys |
vector< char * >::iterator | m_viCurrentKey |
vector< char * > | m_vValues |
vector< char * >::iterator | m_viCurrentValue |
vector< IHeaderBlock * > | m_vSOAPHeaderBlocks |
vector< IHeaderBlock * >::iterator | m_viCurrentSOAPHeaderBlock |
vector< Attribute * > | m_vSOAPMethodAttributes |
vector< Attribute * >::iterator | m_viCurrentSOAPMethodAttribute |
long | m_lTimeoutSeconds |
|
Constructor.
|
|
Default Constructor. /** Destructor. |
|
Apply user set preferences to each call made on the Stub object. This method is required because Axis engine holds only part of the state with refereance to subsequent calls on the same Stub object. Foxing this approach would make the engine much more efficient. |
|
Create and add a SOAP header block to the Stub. This will create a header block that would look like the following when serialized: <th:TestHeader xmlns:th="http://ws.apache.org/axisCppTest/"> </th:TestHeader> User must use the IHeaderBlock pointer returned and fill in the header structure. e.g. To make the SOAP header look like <SOAP-ENV:Header> <th:TestHeader xmlns:th="http://ws.apache.org/axisCppTest/"> <Credentials> <username>Test User</username> <password>Test Password</password> </Credentials> </th:TestHeader> </SOAP-ENV:Header>the following code segment coule be used IHeaderBlock *phb = ws.createSOAPHeaderBlock("TestHeader", "th", "http://ws.apache.org/axisCppTest/"); //create parent node BasicNode *parentNode = phb->createChild(ELEMENT_NODE); parentNode->setLocalName("Credentials"); //create child node BasicNode *childNode = phb->createChild(ELEMENT_NODE); childNode->setLocalName("username"); //create char node for value BasicNode *valueNode = phb->createChild(CHARACTER_NODE); valueNode->setValue("Test User"); //buld node tree childNode->addChild(valueNode); parentNode->addChild(childNode); //add another node set childNode = phb->createChild(ELEMENT_NODE); childNode->setLocalName("password"); valueNode = phb->createChild(CHARACTER_NODE); valueNode->setValue("Test Password"); childNode->addChild(valueNode); parentNode->addChild(childNode); phb->addChild(parentNode);
|
|
Deletes the SOAP header block currently pointed to by the iterator. |
|
Deletes the SOAP method attribute currently pointed to by the iterator. |
|
Deletes the trasport property key:value pair currently pointed to by the iterator. |
|
Deletes the given SOAP header block pointer from the current list of SOAP header blocks. This method does a pointer comparison. It does not compare the contents within objects. Hence it is expected that either the pointer returned by the create method or by one of the iterator methods would be used with this method. This method does not advance the iterator in line with the deletes done. In case you want to access the SOAP header blocks after using this method, it is advisable to reinitialize the iterator using getFirstSOAPHeaderBlock(); However you can use this method despite where the iterator is pointing currently.
|
|
Deletes the given occerance of the SOAP method attribute from the current list of SOAP method attributes This method does a pointer comparison. It does not compare the contents within objects. Hence it is expected that either the pointer returned by the create method or by one of the iterator methods would be used with this method. This method does not advance the iterator in line with the deletes done. In case you want to access the SOAP method attributes after using this method, it is advisable to reinitialize the iterator using getFirstSOAPMethodAttribute(); However you can use this method despite where the iterator is pointing currently.
|
|
Deletes the given occerance of the trasport property key:value pair corresponding to the given key. This method does not advance the iterator in line with the deletes done. In case you want to access the trasport properties after using this method, it is advisable to reinitialize the iterator using getFirstTrasportPropertyKey(); However you can use this method despite where the iterator is pointing currently.
|
|
Accessor for SOAP header blocks This method gives access to the SOAP header block pointer corresponding to the SOAP header block currently being pointed by SOAP header blocks iterator. getFirstSOAPHeaderBlock() method must have been called at least once before this method is called. If not behaviour is undefined. This method does not advance the iterator. Repeated calls always retuen the same key unless getNextSOAPHeaderBlock() is called in between.
|
|
Accessor for SOAP method attributes This method gives access to the SOAP method attribute pointer corresponding to the SOAP method attribute currently being pointed by SOAP method attributes iterator. getFirstSOAPMethodAttribute() method must have been called at least once before this method is called. If not behaviour is undefined. This method does not advance the iterator. Repeated calls always retuen the same key unless getNextSOAPMethodAttribute() is called in between.
|
|
Accessor for trasport property keys. This method gives access to the key corresponding to the trasport key currently being pointed by trasport property key iterator. getFirstTrasportPropertyKey() method must have been called at least once before this method is called. If not behaviour is undefined. This method does not advance the iterator. Repeated calls always retuen the same key unless getNextTrasportPropertyKey() is called in between.
|
|
Accessor for trasport property values. This method gives access to the value corresponding to the trasport key currently being pointed by trasport property key iterator. As keys and values are treated as paires, access to the value field is based on the access to the key field. getFirstTrasportPropertyKey() method must have been called at least once before this method is called. If not behaviour is undefined. This method does not advance the iterator. Repeated calls always retuen the same value unless getNextTrasportPropertyKey() is called in between.
|
|
Iterator initiatior for SOAP header blocks This method must be called first to initiate access to the list of SOAP header blocks.
|
|
Iterator initiatior for SOAP method attributes This method must be called first to initiate access to the list of SOAP method attributes.
|
|
Iterator initiatior for trasport property keys This method must be called first to initiate access to the list of transport property keys.
|
|
Get a namespace prefix for a given namespace URI |
|
Iterator for SOAP header blocks getFirstSOAPHeaderBlock() method must have been called at least once before this method is called. If not behaviour is undefined. This method advances the iterator by one position. Repeated calls always retuen the next value.
|
|
Iterator for SOAP method attributes getFirstSOAPMethodAttribute() method must have been called at least once before this method is called. If not behaviour is undefined. This method advances the iterator by one position. Repeated calls always retuen the next value.
|
|
Iterator for trasport property keys getFirstTrasportPropertyKey() method must have been called at least once before this method is called. If not behaviour is undefined. This method advances the iterator by one position. Repeated calls always retuen the next value.
|
|
Get the status of the stub to see any error situation |
|
Set end point of service to connect to.
|
|
Set proxy server and port for transport.
|
|
Set SOAP Headers stored in m_vSOAPHeaderBlock vector. Called by applyUserPreferences for each and every method invocation. |
|
Sets a Attribute to the SOAPMethod, using the given Attribute data. |
|
Sets a Attribute to the SOAPMethod, using the given Attribute data. |
|
Set SOAP method attributes stored in m_vSOAPMethodAttributes vector. Called by applyUserPreferences for each and every method invocation. |
|
Set transport properties stored in m_vKeys and m_vValues vectors. Called by applyUserPreferences for each and every method invocation. |
|
Set transport property. Handling the semantics of the headers is up to the user. The user has to make sure that the key:value paires passed to this method would make sense at trasport level. The Stub class does not validate the key value paires to see if the properties make sense to the undelying trasport.
Some example trasport properties:
|
|
Set transport timeout stored in mm_lTimeoutSeconds Called by applyUserPreferences for each and every method invocation. |
|
Set transport timeout.
|
|
Timeout in seconds |
|
Call object of the Stub. This is the point of access to the internals of the Axis engine. |
|
Trasport keys iterator |
|
Trasport keys iterator |
|
Trasport keys iterator |
|
Trasport keys iterator |
|
Trasport property keys |
|
Vector of Header Blok pointers |
|
List of SOAPMethod Attributes |
|
Trasport property values |