Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

WsdlPull::WsdlInvoker Class Reference

#include <WsdlInvoker.h>

Collaboration diagram for WsdlPull::WsdlInvoker:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void setLocation (const std::string &url)
void setCredentials (const std::string &user, const std::string &pass)
void setProxy (const std::string &host, int port=80)
void setVerbose (bool f)
void printTypeNames (bool f)
std::string errors ()
bool status () const
Constructors and Destructors
 WsdlInvoker (const std::string &url)
 WsdlInvoker ()
 ~WsdlInvoker ()
WSDL Inspection
bool setWSDLUri (const std::string &url)
bool init (WsdlParser *parser)
 return names of operations (only for the SOAP binding portType)
int getOperations (std::vector< std::string > &operations)
std::string getOpDocumentaion (const std::string &n)
bool setOperation (const std::string &operation, WsdlPull::MessageType mType=WsdlPull::Input)
 set the operation to invoke
std::string getServiceEndPoint (const std::string &opname)
Simple Invocation usage
bool setValue (const std::string &param, void *val)
 sets the param value for an operation by name of the parameter
bool setValue (const std::string &param, void **values, unsigned int occur)
bool setValue (const std::string &param, std::string val)
bool setValue (const std::string &param, std::vector< std::string > values)
bool setValue (const std::vector< std::string > &parents, void *val)
bool invoke (long timeout=0)
void * getValue (const std::string &param, Schema::Type &t)
A more complex but powerful usage
int getNextInput (std::string &param, Schema::Type &type, int &minimum, int &maximum)
int getNextInput (std::string &param, Schema::Type &type, int &minimum, int &maximum, std::vector< std::string > &parents)
int getNextHeaderInput (std::string &param, Schema::Type &type, int &minimum, int &maximum)
int getNextHeaderInput (std::string &param, Schema::Type &type, int &minimum, int &maximum, std::vector< std::string > &parents)
int nInputHeaders () const
bool setInputValue (const int param, void *val)
bool setInputValue (const int id, void **values, unsigned int occur)
bool setInputValue (const int param, std::string val)
bool setInputValue (const int param, std::vector< std::string > values)
bool getNextOutput (std::string &name, TypeContainer *&tc)
TypeContainergetOutput (const std::string &name)
bool getNextHeaderOutput (std::string &name, TypeContainer *&tc)

Constructor & Destructor Documentation

WsdlPull::WsdlInvoker::WsdlInvoker const std::string &  url  ) 
 

The default constructor for WsdlInvoker

Parameters:
wsdl url
stream for logging errors

WsdlPull::WsdlInvoker::WsdlInvoker  ) 
 

WsdlPull::WsdlInvoker::~WsdlInvoker  ) 
 


Member Function Documentation

bool WsdlPull::WsdlInvoker::setWSDLUri const std::string &  url  )  [inline]
 

bool WsdlPull::WsdlInvoker::init WsdlParser parser  ) 
 

return names of operations (only for the SOAP binding portType)

getOperations

Parameters:
reference to vector<string>
Returns:
int ,number of operations

int WsdlPull::WsdlInvoker::getOperations std::vector< std::string > &  operations  ) 
 

std::string WsdlPull::WsdlInvoker::getOpDocumentaion const std::string &  n  ) 
 

bool WsdlPull::WsdlInvoker::setOperation const std::string &  operation,
WsdlPull::MessageType  mType = WsdlPull::Input
 

set the operation to invoke

setOperation

Parameters:
operation name to invoke
Returns:
bool ,true if successful

std::string WsdlPull::WsdlInvoker::getServiceEndPoint const std::string &  opname  ) 
 

getServiceEndPoint returns the url to be invoked for the operation

bool WsdlPull::WsdlInvoker::setValue const std::string &  param,
void *  val
 

sets the param value for an operation by name of the parameter

setValue

Parameters:
name of the operation's parameter
string/void* representation of the parameter
Returns:
true if successful,false if the values didnt match or occurrence constraint failed example invoker.setInputValue("symbol","ABC") or int zip = 94018; invoker.setInputValue("zip",(void*)(&zip)); Note that "symbol" or "zip" above can be a message part or a constituent particle in a complex type The API takes care of it.

bool WsdlPull::WsdlInvoker::setValue const std::string &  param,
void **  values,
unsigned int  occur
 

bool WsdlPull::WsdlInvoker::setValue const std::string &  param,
std::string  val
 

bool WsdlPull::WsdlInvoker::setValue const std::string &  param,
std::vector< std::string >  values
 

bool WsdlPull::WsdlInvoker::setValue const std::vector< std::string > &  parents,
void *  val
 

bool WsdlPull::WsdlInvoker::invoke long  timeout = 0  ) 
 

invoke invoke the web service operation

Parameters:
timeout set the timeout for the request in seconds
Returns:
true if successful,false otherwise

void * WsdlPull::WsdlInvoker::getValue const std::string &  param,
Schema::Type t
 

getValue return the value of the output whose name is 'param'

Parameters:
type is set by reference to enable type casting in client code
Returns:
pointer to the value .0 if there is no simple type or part name whose name is 'param' in the web service output. example float * val = (int*) invoker.getOutput("Result",t);//stock quotes t would be Schema::FLOAT

int WsdlPull::WsdlInvoker::getNextInput std::string &  param,
Schema::Type type,
int &  minimum,
int &  maximum
 

getNextInput Calling this method repeatedly informs the caller of the input types the web service operation expects. Each call returns a unique id which must be used while setting the value using setInputValue.This method exposes only atomic types.Even if a web service needs a complex type,the api exposes only the constituent particles.The only exception is when a complex content model needs multiple occurrences which is still a TODO

Parameters:
ref:param name Name of the param
ref:Schema::Type,the schema type
ref: minimum and maximum (occurrences)
ref:parents,parent list of type hierarchy for this parameter.
Returns:
unique id of this parameter

int WsdlPull::WsdlInvoker::getNextInput std::string &  param,
Schema::Type type,
int &  minimum,
int &  maximum,
std::vector< std::string > &  parents
 

int WsdlPull::WsdlInvoker::getNextHeaderInput std::string &  param,
Schema::Type type,
int &  minimum,
int &  maximum
 

getNextHeaderInput Similar to the previous method except that it gets the SOAP headers if any Set methods are same as for regular inputs

int WsdlPull::WsdlInvoker::getNextHeaderInput std::string &  param,
Schema::Type type,
int &  minimum,
int &  maximum,
std::vector< std::string > &  parents
 

int WsdlPull::WsdlInvoker::nInputHeaders  )  const [inline]
 

returns the number of input headers you may need to set

bool WsdlPull::WsdlInvoker::setInputValue const int  param,
void *  val
 

setInputValue sets the param value for an operation only simple types can be set.

Parameters:
id return by getNextInput()
void ** pointer to array of pointers to the the values
Returns:
true if successful,false if the values didnt match or occurrence constraint failed

bool WsdlPull::WsdlInvoker::setInputValue const int  id,
void **  values,
unsigned int  occur
 

bool WsdlPull::WsdlInvoker::setInputValue const int  param,
std::string  val
 

setInputValue sets the param value for an operation only simple types can be set.

Parameters:
id return by getNextInput()
string representation of the parameter
Returns:
true if successful,false if the values didnt match or occurrence constraint failed

bool WsdlPull::WsdlInvoker::setInputValue const int  param,
std::vector< std::string >  values
 

bool WsdlPull::WsdlInvoker::getNextOutput std::string &  name,
TypeContainer *&  tc
 

getNextOutput get the part/elem name and type container

Returns:
false when we finished iterating through all outputs after which it rewinds and you can start again

TypeContainer * WsdlPull::WsdlInvoker::getOutput const std::string &  name  ) 
 

getOutput return the type container which stores the output for the output part/elem name

bool WsdlPull::WsdlInvoker::getNextHeaderOutput std::string &  name,
TypeContainer *&  tc
 

getNextHeaderOutput get the type container which stores the SOAP header

Returns:
false when we finished iterating through all outputs after which it rewinds and you can start again

void WsdlPull::WsdlInvoker::setLocation const std::string &  url  )  [inline]
 

void WsdlPull::WsdlInvoker::setCredentials const std::string &  user,
const std::string &  pass
 

void WsdlPull::WsdlInvoker::setProxy const std::string &  host,
int  port = 80
 

void WsdlPull::WsdlInvoker::setVerbose bool  f  )  [inline]
 

void WsdlPull::WsdlInvoker::printTypeNames bool  f  ) 
 

std::string WsdlPull::WsdlInvoker::errors  )  [inline]
 

bool WsdlPull::WsdlInvoker::status  )  const [inline]
 


The documentation for this class was generated from the following files:
Generated on Wed Apr 12 18:51:56 2006 for wsdlpull by  doxygen 1.3.9.1