\section{Stub Class Reference}
\label{classStub}\index{Stub@{Stub}}
This is the client Stub base class to be inherited by all stub classes genarated by WSDL2WS tool. This class acts as the interface between the users and the Axis C++ engine (client side). Programmer can use the API defined here to enrich the client application functionality. Setting transport properties, setting SOAP headers, setting connection timeout and specifying a proxy on the client stub is facilitated with this interface. 


{\tt \#include $<$Stub.h$>$}

\subsection*{Public Methods}
\begin{CompactItemize}
\item 
{\bf Stub} (const char $\ast$pc\-End\-Point\-URI)
\item 
virtual {\bf $\sim$Stub} ()
\item 
void AXISCALL {\bf set\-End\-Point} (char $\ast$pc\-End\-Point\-URI)
\item 
void AXISCALL {\bf set\-Transport\-Property} (const char $\ast$pc\-Key, const char $\ast$pc\-Value)
\item 
char $\ast$ {\bf get\-First\-Trasport\-Property\-Key} ()
\item 
char $\ast$ {\bf get\-Next\-Trasport\-Property\-Key} ()
\item 
char $\ast$ {\bf get\-Current\-Trasport\-Property\-Key} ()
\item 
char $\ast$ {\bf get\-Current\-Trasport\-Property\-Value} ()
\item 
void {\bf delete\-Current\-Trasport\-Property} ()
\item 
void {\bf delete\-Trasport\-Property} (char $\ast$pc\-Key, unsigned int ui\-Occurance=1)
\item 
{\bf IHeader\-Block} $\ast$AXISCALL {\bf create\-SOAPHeader\-Block} (Axis\-Char $\ast$pach\-Local\-Name, Axis\-Char $\ast$pach\-Prefix, Axis\-Char $\ast$pach\-Uri)
\item 
{\bf IHeader\-Block} $\ast$ {\bf get\-First\-SOAPHeader\-Block} ()
\item 
{\bf IHeader\-Block} $\ast$ {\bf get\-Next\-SOAPHeader\-Block} ()
\item 
{\bf IHeader\-Block} $\ast$ {\bf get\-Current\-SOAPHeader\-Block} ()
\item 
void {\bf delete\-Current\-SOAPHeader\-Block} ()
\item 
void {\bf delete\-SOAPHeader\-Block} ({\bf IHeader\-Block} $\ast$p\-Header\-Block)
\item 
void {\bf set\-Proxy} (const char $\ast$pc\-Proxy\-Host, unsigned int ui\-Proxy\-Port)
\item 
void {\bf set\-SOAPMethod\-Attribute} (const Axis\-Char $\ast$p\-Localname, const Axis\-Char $\ast$p\-Prefix, const Axis\-Char $\ast$p\-Value)
\item 
void {\bf set\-SOAPMethod\-Attribute} (const Axis\-Char $\ast$p\-Localname, const Axis\-Char $\ast$p\-Prefix, const Axis\-Char $\ast$p\-Uri, const Axis\-Char $\ast$p\-Value)
\item 
{\bf Attribute} $\ast$ {\bf get\-First\-SOAPMethod\-Attribute} ()
\item 
{\bf Attribute} $\ast$ {\bf get\-Next\-SOAPMethod\-Attribute} ()
\item 
{\bf Attribute} $\ast$ {\bf get\-Current\-SOAPMethod\-Attribute} ()
\item 
void {\bf delete\-Current\-SOAPMethod\-Attribute} ()
\item 
void {\bf delete\-SOAPMethod\-Attribute} ({\bf Attribute} $\ast$p\-Attribute)
\item 
void {\bf set\-Transport\-Timeout} (const long l\-Seconds)
\item 
int {\bf get\-Status} ()
\end{CompactItemize}
\subsection*{Protected Methods}
\begin{CompactItemize}
\item 
void {\bf apply\-User\-Preferences} ()
\item 
void {\bf set\-Transport\-Properties} ()
\item 
void {\bf set\-SOAPHeaders} ()
\item 
void {\bf set\-SOAPMethod\-Attributes} ()
\item 
void {\bf set\-Transport\-Timeout} ()
\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
Call $\ast$ {\bf m\_\-p\-Call}
\item 
vector$<$ char $\ast$ $>$ {\bf m\_\-v\-Keys}
\item 
vector$<$ char $\ast$ $>$::iterator {\bf m\_\-vi\-Current\-Key}
\item 
vector$<$ char $\ast$ $>$ {\bf m\_\-v\-Values}
\item 
vector$<$ char $\ast$ $>$::iterator {\bf m\_\-vi\-Current\-Value}
\item 
vector$<$ {\bf IHeader\-Block} $\ast$ $>$ {\bf m\_\-v\-SOAPHeader\-Blocks}
\item 
vector$<$ {\bf IHeader\-Block} $\ast$ $>$::iterator {\bf m\_\-vi\-Current\-SOAPHeader\-Block}
\item 
vector$<$ {\bf Attribute} $\ast$ $>$ {\bf m\_\-v\-SOAPMethod\-Attributes}
\item 
vector$<$ {\bf Attribute} $\ast$ $>$::iterator {\bf m\_\-vi\-Current\-SOAPMethod\-Attribute}
\item 
long {\bf m\_\-l\-Timeout\-Seconds}
\end{CompactItemize}


\subsection{Detailed Description}
This is the client Stub base class to be inherited by all stub classes genarated by WSDL2WS tool. This class acts as the interface between the users and the Axis C++ engine (client side). Programmer can use the API defined here to enrich the client application functionality. Setting transport properties, setting SOAP headers, setting connection timeout and specifying a proxy on the client stub is facilitated with this interface.

\begin{Desc}
\item[Author: ]\par
Samisa Abeysinghe ({\tt sabeysinghe@virtusa.com}) , Roshan Weerasuriya ({\tt roshan@opensource.lk}, {\tt roshanw@jkcsworld.com}) \end{Desc}




\subsection{Constructor \& Destructor Documentation}
\index{Stub@{Stub}!Stub@{Stub}}
\index{Stub@{Stub}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Stub::Stub (const char $\ast$ {\em pc\-End\-Point\-URI})}\label{classStub_a0}


Constructor.\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
pc\-End\-Point\-URI}]End point URI of the service to connect to.  e.g. {\tt http://localhost:8080/axis/services/echo} \end{description}
\end{Desc}
\index{Stub@{Stub}!~Stub@{$\sim$Stub}}
\index{~Stub@{$\sim$Stub}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual Stub::$\sim$Stub ()\hspace{0.3cm}{\tt  [virtual]}}\label{classStub_a1}


Destructor. 

\subsection{Member Function Documentation}
\index{Stub@{Stub}!applyUserPreferences@{applyUserPreferences}}
\index{applyUserPreferences@{applyUserPreferences}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::apply\-User\-Preferences ()\hspace{0.3cm}{\tt  [protected]}}\label{classStub_b0}


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. \index{Stub@{Stub}!createSOAPHeaderBlock@{createSOAPHeaderBlock}}
\index{createSOAPHeaderBlock@{createSOAPHeaderBlock}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf IHeader\-Block}$\ast$ AXISCALL Stub::create\-SOAPHeader\-Block (Axis\-Char $\ast$ {\em pach\-Local\-Name}, Axis\-Char $\ast$ {\em pach\-Prefix}, Axis\-Char $\ast$ {\em pach\-Uri})}\label{classStub_a10}


Create and add a SOAP header block to the Stub.

This will create a header block that would look like the following when  serialized: \small\begin{alltt}
   <th:TestHeader xmlns:th="{\tt http://ws.apache.org/axisCppTest/}">
   </th:TestHeader>
 \end{alltt}\normalsize 


User must use the {\bf IHeader\-Block} {\rm (p.\,\pageref{classIHeaderBlock})} pointer returned and fill in the header structure. e.g. To make the SOAP header look like \small\begin{alltt}
 <SOAP-ENV:Header>
   <th:TestHeader xmlns:th="{\tt http://ws.apache.org/axisCppTest/}">
       <Credentials>
            <username>Test User</username>
            <password>Test Password</password>
       </Credentials>
   </th:TestHeader>
 </SOAP-ENV:Header>
 \end{alltt}\normalsize 
 the following code segment coule be used \small\begin{alltt}
  {\bf IHeaderBlock} {\rm (p.\,\pageref{classIHeaderBlock})} *phb = ws.createSOAPHeaderBlock ("TestHeader", "th",
                                   "{\tt 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);
 \end{alltt}\normalsize 
\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
pach\-Local\-Name}]Local tag name of the SOAP header. e.g. Test\-Header \item[{\em 
pach\-Prefix}]Prefix to be used in XML represenation of SOAP header e.g. th \item[{\em 
pach\-Uri}]Namespace URI to be used in SOAP header. e.g {\tt http://ws.apache.org/axis\-Cpp\-Test\-Header/}\end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
Pointer to the creater SOAP header block. \end{Desc}
\index{Stub@{Stub}!deleteCurrentSOAPHeaderBlock@{deleteCurrentSOAPHeaderBlock}}
\index{deleteCurrentSOAPHeaderBlock@{deleteCurrentSOAPHeaderBlock}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::delete\-Current\-SOAPHeader\-Block ()}\label{classStub_a14}


Deletes the SOAP header block currently pointed to by  the iterator. \index{Stub@{Stub}!deleteCurrentSOAPMethodAttribute@{deleteCurrentSOAPMethodAttribute}}
\index{deleteCurrentSOAPMethodAttribute@{deleteCurrentSOAPMethodAttribute}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::delete\-Current\-SOAPMethod\-Attribute ()}\label{classStub_a22}


Deletes the SOAP method attribute currently pointed to by  the iterator. \index{Stub@{Stub}!deleteCurrentTrasportProperty@{deleteCurrentTrasportProperty}}
\index{deleteCurrentTrasportProperty@{deleteCurrentTrasportProperty}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::delete\-Current\-Trasport\-Property ()}\label{classStub_a8}


Deletes the trasport property key:value pair currently pointed to by  the iterator. \index{Stub@{Stub}!deleteSOAPHeaderBlock@{deleteSOAPHeaderBlock}}
\index{deleteSOAPHeaderBlock@{deleteSOAPHeaderBlock}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::delete\-SOAPHeader\-Block ({\bf IHeader\-Block} $\ast$ {\em p\-Header\-Block})}\label{classStub_a15}


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 {\bf get\-First\-SOAPHeader\-Block()} {\rm (p.\,\pageref{classStub_a11})}; However you can use this method despite where the iterator is  pointing currently.\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
p\-Header\-Block}]Pointer of the header block to be deleted. \end{description}
\end{Desc}
\index{Stub@{Stub}!deleteSOAPMethodAttribute@{deleteSOAPMethodAttribute}}
\index{deleteSOAPMethodAttribute@{deleteSOAPMethodAttribute}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::delete\-SOAPMethod\-Attribute ({\bf Attribute} $\ast$ {\em p\-Attribute})}\label{classStub_a23}


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 {\bf get\-First\-SOAPMethod\-Attribute()} {\rm (p.\,\pageref{classStub_a19})}; However you can use this method despite where the iterator is  pointing currently.\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
p\-Attribute}]Pointer of {\bf Attribute} {\rm (p.\,\pageref{classAttribute})} to be deleted \end{description}
\end{Desc}
\index{Stub@{Stub}!deleteTrasportProperty@{deleteTrasportProperty}}
\index{deleteTrasportProperty@{deleteTrasportProperty}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::delete\-Trasport\-Property (char $\ast$ {\em pc\-Key}, unsigned int {\em ui\-Occurance} = 1)}\label{classStub_a9}


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 {\bf get\-First\-Trasport\-Property\-Key()} {\rm (p.\,\pageref{classStub_a4})}; However you can use this method despite where the iterator is  pointing currently.\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
pc\-Key}]Key of the trasport property key:value pair to be deleted If the given key is not set currently, nothing will happen. \item[{\em 
ui\-Occurance}]Which occerance of the key to be deleted, because  there can be multiple values for the same key.  Default is to delete the first occurance. Count starts from 1. \end{description}
\end{Desc}
\index{Stub@{Stub}!getCurrentSOAPHeaderBlock@{getCurrentSOAPHeaderBlock}}
\index{getCurrentSOAPHeaderBlock@{getCurrentSOAPHeaderBlock}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf IHeader\-Block}$\ast$ Stub::get\-Current\-SOAPHeader\-Block ()}\label{classStub_a13}


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.

{\bf get\-First\-SOAPHeader\-Block()} {\rm (p.\,\pageref{classStub_a11})} 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  {\bf get\-Next\-SOAPHeader\-Block()} {\rm (p.\,\pageref{classStub_a12})} is called in between.

\begin{Desc}
\item[Returns: ]\par
Current SOAP header block pointer. If there are no SOAP header  block set or if iterator is at the end of the list, returns NULL. \end{Desc}
\index{Stub@{Stub}!getCurrentSOAPMethodAttribute@{getCurrentSOAPMethodAttribute}}
\index{getCurrentSOAPMethodAttribute@{getCurrentSOAPMethodAttribute}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Attribute}$\ast$ Stub::get\-Current\-SOAPMethod\-Attribute ()}\label{classStub_a21}


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.

{\bf get\-First\-SOAPMethod\-Attribute()} {\rm (p.\,\pageref{classStub_a19})} 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  {\bf get\-Next\-SOAPMethod\-Attribute()} {\rm (p.\,\pageref{classStub_a20})} is called in between.

\begin{Desc}
\item[Returns: ]\par
Current SOAP method attribute pointer. If there are no SOAP method  attribute set or if iterator is at the end of the list, returns NULL. \end{Desc}
\index{Stub@{Stub}!getCurrentTrasportPropertyKey@{getCurrentTrasportPropertyKey}}
\index{getCurrentTrasportPropertyKey@{getCurrentTrasportPropertyKey}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ Stub::get\-Current\-Trasport\-Property\-Key ()}\label{classStub_a6}


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.

{\bf get\-First\-Trasport\-Property\-Key()} {\rm (p.\,\pageref{classStub_a4})} 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  {\bf get\-Next\-Trasport\-Property\-Key()} {\rm (p.\,\pageref{classStub_a5})} is called in between.

\begin{Desc}
\item[Returns: ]\par
Current transport property key. If there are no trasport  properties set or if iterator is at the end of the list, returns NULL. \end{Desc}
\index{Stub@{Stub}!getCurrentTrasportPropertyValue@{getCurrentTrasportPropertyValue}}
\index{getCurrentTrasportPropertyValue@{getCurrentTrasportPropertyValue}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ Stub::get\-Current\-Trasport\-Property\-Value ()}\label{classStub_a7}


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.

{\bf get\-First\-Trasport\-Property\-Key()} {\rm (p.\,\pageref{classStub_a4})} 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  {\bf get\-Next\-Trasport\-Property\-Key()} {\rm (p.\,\pageref{classStub_a5})} is called in between.

\begin{Desc}
\item[Returns: ]\par
Current transport property value. If there are no trasport  properties set or if iterator is at the end of the list, returns NULL. \end{Desc}
\index{Stub@{Stub}!getFirstSOAPHeaderBlock@{getFirstSOAPHeaderBlock}}
\index{getFirstSOAPHeaderBlock@{getFirstSOAPHeaderBlock}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf IHeader\-Block}$\ast$ Stub::get\-First\-SOAPHeader\-Block ()}\label{classStub_a11}


Iterator initiatior for SOAP header blocks

This method must be called first to initiate access to the list of  SOAP header blocks.

\begin{Desc}
\item[Returns: ]\par
First SOAP header block pointer. If there are no SOAP header blocks set, returns NULL. \end{Desc}
\index{Stub@{Stub}!getFirstSOAPMethodAttribute@{getFirstSOAPMethodAttribute}}
\index{getFirstSOAPMethodAttribute@{getFirstSOAPMethodAttribute}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Attribute}$\ast$ Stub::get\-First\-SOAPMethod\-Attribute ()}\label{classStub_a19}


Iterator initiatior for SOAP method attributes

This method must be called first to initiate access to the list of  SOAP method attributes.

\begin{Desc}
\item[Returns: ]\par
First SOAP method attribute pointer. If there are no SOAP method  attributes set, returns NULL. \end{Desc}
\index{Stub@{Stub}!getFirstTrasportPropertyKey@{getFirstTrasportPropertyKey}}
\index{getFirstTrasportPropertyKey@{getFirstTrasportPropertyKey}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ Stub::get\-First\-Trasport\-Property\-Key ()}\label{classStub_a4}


Iterator initiatior for trasport property keys

This method must be called first to initiate access to the list of  transport property keys.

\begin{Desc}
\item[Returns: ]\par
First transport property key. If there are no trasport  properties set, returns NULL. \end{Desc}
\index{Stub@{Stub}!getNextSOAPHeaderBlock@{getNextSOAPHeaderBlock}}
\index{getNextSOAPHeaderBlock@{getNextSOAPHeaderBlock}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf IHeader\-Block}$\ast$ Stub::get\-Next\-SOAPHeader\-Block ()}\label{classStub_a12}


Iterator for SOAP header blocks

{\bf get\-First\-SOAPHeader\-Block()} {\rm (p.\,\pageref{classStub_a11})} 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.

\begin{Desc}
\item[Returns: ]\par
Next SOAP header block pointer. If there are no SOAP header  blocks set or if iterator is at the end of the list, returns NULL. \end{Desc}
\index{Stub@{Stub}!getNextSOAPMethodAttribute@{getNextSOAPMethodAttribute}}
\index{getNextSOAPMethodAttribute@{getNextSOAPMethodAttribute}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Attribute}$\ast$ Stub::get\-Next\-SOAPMethod\-Attribute ()}\label{classStub_a20}


Iterator for SOAP method attributes

{\bf get\-First\-SOAPMethod\-Attribute()} {\rm (p.\,\pageref{classStub_a19})} 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.

\begin{Desc}
\item[Returns: ]\par
Next SOAP method attribute pointer. If there are no SOAP method  attributes set or if iterator is at the end of the list, returns NULL. \end{Desc}
\index{Stub@{Stub}!getNextTrasportPropertyKey@{getNextTrasportPropertyKey}}
\index{getNextTrasportPropertyKey@{getNextTrasportPropertyKey}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ Stub::get\-Next\-Trasport\-Property\-Key ()}\label{classStub_a5}


Iterator for trasport property keys

{\bf get\-First\-Trasport\-Property\-Key()} {\rm (p.\,\pageref{classStub_a4})} 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.

\begin{Desc}
\item[Returns: ]\par
Next transport property key. If there are no trasport  properties set or if iterator is at the end of the list, returns NULL. \end{Desc}
\index{Stub@{Stub}!getStatus@{getStatus}}
\index{getStatus@{getStatus}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Stub::get\-Status ()}\label{classStub_a25}


Get the status of the stub to see any error situation \index{Stub@{Stub}!setEndPoint@{setEndPoint}}
\index{setEndPoint@{setEndPoint}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void AXISCALL Stub::set\-End\-Point (char $\ast$ {\em pc\-End\-Point\-URI})}\label{classStub_a2}


Set end point of service to connect to.\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
pc\-End\-Point\-URI}]End point URI of the service to connect to.  e.g. {\tt http://localhost:8080/axis/services/echo} \end{description}
\end{Desc}
\index{Stub@{Stub}!setProxy@{setProxy}}
\index{setProxy@{setProxy}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::set\-Proxy (const char $\ast$ {\em pc\-Proxy\-Host}, unsigned int {\em ui\-Proxy\-Port})}\label{classStub_a16}


Set proxy server and port for transport.\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
pc\-Proxy\-Host}]Host name of proxy server \item[{\em 
ui\-Proxy\-Port}]Port of proxy server \end{description}
\end{Desc}
\index{Stub@{Stub}!setSOAPHeaders@{setSOAPHeaders}}
\index{setSOAPHeaders@{setSOAPHeaders}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::set\-SOAPHeaders ()\hspace{0.3cm}{\tt  [protected]}}\label{classStub_b2}


Set SOAP Headers stored in m\_\-v\-SOAPHeader\-Block vector. Called by apply\-User\-Preferences for each and every method invocation. \index{Stub@{Stub}!setSOAPMethodAttribute@{setSOAPMethodAttribute}}
\index{setSOAPMethodAttribute@{setSOAPMethodAttribute}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::set\-SOAPMethod\-Attribute (const Axis\-Char $\ast$ {\em p\-Localname}, const Axis\-Char $\ast$ {\em p\-Prefix}, const Axis\-Char $\ast$ {\em p\-Uri}, const Axis\-Char $\ast$ {\em p\-Value})}\label{classStub_a18}


Sets a {\bf Attribute} {\rm (p.\,\pageref{classAttribute})} to the SOAPMethod, using the given {\bf Attribute} {\rm (p.\,\pageref{classAttribute})} data.\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
p\-Localname}]The local name of the {\bf Attribute} {\rm (p.\,\pageref{classAttribute})}. \item[{\em 
p\-Prefix}]The prefix of the {\bf Attribute} {\rm (p.\,\pageref{classAttribute})}. \item[{\em 
p\-Uri}]The namespace uri of the {\bf Attribute} {\rm (p.\,\pageref{classAttribute})}. \item[{\em 
p\-Value}]The value of the {\bf Attribute} {\rm (p.\,\pageref{classAttribute})}. \end{description}
\end{Desc}
\index{Stub@{Stub}!setSOAPMethodAttribute@{setSOAPMethodAttribute}}
\index{setSOAPMethodAttribute@{setSOAPMethodAttribute}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::set\-SOAPMethod\-Attribute (const Axis\-Char $\ast$ {\em p\-Localname}, const Axis\-Char $\ast$ {\em p\-Prefix}, const Axis\-Char $\ast$ {\em p\-Value})}\label{classStub_a17}


Sets a {\bf Attribute} {\rm (p.\,\pageref{classAttribute})} to the SOAPMethod, using the given {\bf Attribute} {\rm (p.\,\pageref{classAttribute})} data.\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
p\-Localname}]The local name of the {\bf Attribute} {\rm (p.\,\pageref{classAttribute})}. \item[{\em 
p\-Prefix}]The prefix of the {\bf Attribute} {\rm (p.\,\pageref{classAttribute})}. \item[{\em 
p\-Value}]The value of the {\bf Attribute} {\rm (p.\,\pageref{classAttribute})}. \end{description}
\end{Desc}
\index{Stub@{Stub}!setSOAPMethodAttributes@{setSOAPMethodAttributes}}
\index{setSOAPMethodAttributes@{setSOAPMethodAttributes}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::set\-SOAPMethod\-Attributes ()\hspace{0.3cm}{\tt  [protected]}}\label{classStub_b3}


Set SOAP method attributes stored in m\_\-v\-SOAPMethod\-Attributes vector. Called by apply\-User\-Preferences for each and every method invocation. \index{Stub@{Stub}!setTransportProperties@{setTransportProperties}}
\index{setTransportProperties@{setTransportProperties}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::set\-Transport\-Properties ()\hspace{0.3cm}{\tt  [protected]}}\label{classStub_b1}


Set transport properties stored in m\_\-v\-Keys and m\_\-v\-Values vectors. Called by apply\-User\-Preferences for each and every method invocation. \index{Stub@{Stub}!setTransportProperty@{setTransportProperty}}
\index{setTransportProperty@{setTransportProperty}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void AXISCALL Stub::set\-Transport\-Property (const char $\ast$ {\em pc\-Key}, const char $\ast$ {\em pc\-Value})}\label{classStub_a3}


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: \par
 For HTTP: \char`\"{}Accept-Language: da, en-gb;q=0.8, en;q=0.7\char`\"{} \par
 For SMTP: \char`\"{}Reply-To: {\tt user@apache.org}\char`\"{}\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
pc\-Key}]Header name e.g. \char`\"{}Accept-Language\char`\"{}.  Note that the key is not tested for uniqueness. One can set several values to the same key and they all will appear in the outgoing trasport header. e.g. If the method is called twise with (k,v1) and (k,v2)  both k:v1 and k:v2 will appear in trasport header as  seperate properties. \item[{\em 
pc\-Value}]Header value e.g. \char`\"{}da, en-gb;q=0.8, en;q=0.7\char`\"{} \end{description}
\end{Desc}
\index{Stub@{Stub}!setTransportTimeout@{setTransportTimeout}}
\index{setTransportTimeout@{setTransportTimeout}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::set\-Transport\-Timeout ()\hspace{0.3cm}{\tt  [protected]}}\label{classStub_b4}


Set transport timeout stored in mm\_\-l\-Timeout\-Seconds Called by apply\-User\-Preferences for each and every method invocation. \index{Stub@{Stub}!setTransportTimeout@{setTransportTimeout}}
\index{setTransportTimeout@{setTransportTimeout}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Stub::set\-Transport\-Timeout (const long {\em l\-Seconds})}\label{classStub_a24}


Set transport timeout.\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
l\-Seconds}]Timeout in seconds.  If l\-Seconds is 0, then the transport will assume no  timeout. Hence you want to reset a timeout already set use 0. \end{description}
\end{Desc}


\subsection{Member Data Documentation}
\index{Stub@{Stub}!m_lTimeoutSeconds@{m\_\-lTimeoutSeconds}}
\index{m_lTimeoutSeconds@{m\_\-lTimeoutSeconds}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}long Stub::m\_\-l\-Timeout\-Seconds\hspace{0.3cm}{\tt  [protected]}}\label{classStub_n9}


Timeout in seconds \index{Stub@{Stub}!m_pCall@{m\_\-pCall}}
\index{m_pCall@{m\_\-pCall}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Call$\ast$ Stub::m\_\-p\-Call\hspace{0.3cm}{\tt  [protected]}}\label{classStub_n0}


Call object of the Stub. This is the point of access to the internals of the Axis engine. \index{Stub@{Stub}!m_viCurrentKey@{m\_\-viCurrentKey}}
\index{m_viCurrentKey@{m\_\-viCurrentKey}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<$char$\ast$$>$::iterator Stub::m\_\-vi\-Current\-Key\hspace{0.3cm}{\tt  [protected]}}\label{classStub_n2}


Trasport keys iterator \index{Stub@{Stub}!m_viCurrentSOAPHeaderBlock@{m\_\-viCurrentSOAPHeaderBlock}}
\index{m_viCurrentSOAPHeaderBlock@{m\_\-viCurrentSOAPHeaderBlock}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf IHeader\-Block} $\ast$$>$::iterator Stub::m\_\-vi\-Current\-SOAPHeader\-Block\hspace{0.3cm}{\tt  [protected]}}\label{classStub_n6}


Trasport keys iterator \index{Stub@{Stub}!m_viCurrentSOAPMethodAttribute@{m\_\-viCurrentSOAPMethodAttribute}}
\index{m_viCurrentSOAPMethodAttribute@{m\_\-viCurrentSOAPMethodAttribute}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Attribute}$\ast$$>$::iterator Stub::m\_\-vi\-Current\-SOAPMethod\-Attribute\hspace{0.3cm}{\tt  [protected]}}\label{classStub_n8}


Trasport keys iterator \index{Stub@{Stub}!m_viCurrentValue@{m\_\-viCurrentValue}}
\index{m_viCurrentValue@{m\_\-viCurrentValue}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<$char$\ast$$>$::iterator Stub::m\_\-vi\-Current\-Value\hspace{0.3cm}{\tt  [protected]}}\label{classStub_n4}


Trasport keys iterator \index{Stub@{Stub}!m_vKeys@{m\_\-vKeys}}
\index{m_vKeys@{m\_\-vKeys}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<$ char $\ast$$>$ Stub::m\_\-v\-Keys\hspace{0.3cm}{\tt  [protected]}}\label{classStub_n1}


Trasport property keys \index{Stub@{Stub}!m_vSOAPHeaderBlocks@{m\_\-vSOAPHeaderBlocks}}
\index{m_vSOAPHeaderBlocks@{m\_\-vSOAPHeaderBlocks}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf IHeader\-Block} $\ast$ $>$ Stub::m\_\-v\-SOAPHeader\-Blocks\hspace{0.3cm}{\tt  [protected]}}\label{classStub_n5}


Vector of Header Blok pointers \index{Stub@{Stub}!m_vSOAPMethodAttributes@{m\_\-vSOAPMethodAttributes}}
\index{m_vSOAPMethodAttributes@{m\_\-vSOAPMethodAttributes}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Attribute}$\ast$$>$ Stub::m\_\-v\-SOAPMethod\-Attributes\hspace{0.3cm}{\tt  [protected]}}\label{classStub_n7}


List of SOAPMethod Attributes \index{Stub@{Stub}!m_vValues@{m\_\-vValues}}
\index{m_vValues@{m\_\-vValues}!Stub@{Stub}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<$ char $\ast$$>$ Stub::m\_\-v\-Values\hspace{0.3cm}{\tt  [protected]}}\label{classStub_n3}


Trasport property values 

The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
Stub.h\end{CompactItemize}
