37 const std::vector<std::string>& parents);
61 WsdlInvoker(
const std::string &url,
const std::string &schemaPath=
"");
62 WsdlInvoker(std::istream &input,
const std::string &schemaPath =
"");
74 bool setWSDLUri(
const std::string &url,
const std::string & schemaPath=
"");
80 int getOperations(std::vector<std::string> & operations);
81 std::string getOpDocumentation(
const std::string & n);
82 std::string getDocumentation();
88 bool setOperation(
const std::string & operation,
93 std::string getServiceEndPoint(
const std::string & opname) ;
110 bool setValue(
const std::string & param,
void* val);
111 bool setValue(
const std::string & param,
void** values,
unsigned int occur);
112 bool setValue(
const std::string & param,std::string val);
113 bool setValue(
const std::string & param,std::vector<std::string> values);
114 bool setValue(
const std::vector<std::string> & parents,
void* val);
120 bool invoke(
long timeout = 0,
bool processResponse =
true);
129 void* getValue(
const std::string & param,
Schema::Type & t);
152 template <
typename T>
153 T getValue(
const std::string & xpath,
size_t p_index = 1);
156 template <
typename T>
157 std::vector<T> getValues(
const std::string & xpath);
177 int getNextInput(std::string & param ,
Schema::Type & type,
int & minimum,
int & maximum);
178 int getNextInput(std::string & param ,
Schema::Type & type,
int & minimum,
int & maximum,
179 std::vector<std::string>& parents);
185 int getNextHeaderInput(std::string & param ,
Schema::Type & type,
int & minimum,
int & maximum);
186 int getNextHeaderInput(std::string & param ,
Schema::Type & type,
int & minimum,
int & maximum,
187 std::vector<std::string>& parents);
191 int nInputHeaders()
const;
200 bool setInputValue(
const int param,
void* val);
201 bool setInputValue(
const int id,
void** values,
unsigned int occur);
210 bool setInputValue(
const int param,std::string val);
211 bool setInputValue(
const int param,std::vector<std::string> values);
231 bool getNextHeaderOutput(std::string & name,
TypeContainer*& tc);
235 void setLocation(
const std::string & url);
237 void setCredentials(
const std::string & user,
const std::string & pass);
239 void setAuth(
const std::string & user,
const std::string & pass);
241 std::string getSoapMessage();
242 std::string getXMLResponse();
243 void setProxy(
const std::string & host,
int port=80);
245 void setVerbose(
bool f);
249 void printTypeNames(
bool f);
251 std::string errors();
256 std::string getFaultCode()
const;
257 std::string getFaultSubCode()
const;
258 std::string getFaultString()
const;
259 std::string getFaultActor()
const;
262 void setProcessEnvAndBody(
bool p_processEnvAndBody);
263 bool getProcessEnvAndBody(
void)
const;
265 void setLazyRelativeMatch(
bool p_lazyRelativeMatch);
266 bool getLazyRelativeMatch(
void)
const;
268 void setBuildXmlTree(
bool p_buildXmlTree);
269 bool getBuildXmlTree(
void)
const;
271 bool p_notScannedEventAvail =
false);
280 const std::string &tag,
284 std::vector<std::string> parents,
285 const std::string nsp=
"",
286 bool isRoot =
false);
288 void serializeParam(
int n,
const std::string & tag,
290 const std::string nsp=
"",
291 bool isRoot =
false);
294 std::vector<std::string> parents);
299 void post(
long timeout=0, std::string username=
"", std::string passwd=
"");
300 void processResults();
304 void parseWsdl(
const std::string & url,
const std::string & schemaPath =
"");
305 void serializeHeader();
309 void getOperationDetails(
const Operation* op);
310 std::string getPrefix(
const std::string& nsp);
311 std::string getAsStringFromXPath(
const std::string & xpath,
size_t p_index, std::vector<std::string>* arr = 0);
313 std::string strResults_;
320 std::ostringstream * soapstr_;
321 std::ostringstream logger_;
327 std::map<std::string,const Operation*> opMap_;
330 std::string encodingStyle_;
333 std::string location_;
334 std::string username_,password_,host_;
337 std::vector<Parameter> elems_;
340 std::vector<std::pair<std::string,TypeContainer*> > outputs_;
341 std::vector<const XSDType* > avoidrecurse_;
344 std::vector<std::string> prefixes_;
346 std::string sAuthUser;
347 std::string sAuthPass;
349 std::string sFaultCode;
350 std::string sFaultSubCode;
351 std::string sFaultString;
352 std::string sFaultActor;
356 bool m_xmlTreeProduced;
362 const std::vector<std::string>& parents)
378 return logger_.str();
385 parseWsdl(url,schemaPath);
428 return sFaultSubCode;
452 std::string v = getAsStringFromXPath(xpath, p_index);
453 std::istringstream iss(v);
460WsdlInvoker::getValue<std::string>(
const std::string & xpath,
size_t p_index)
463 return getAsStringFromXPath(xpath, p_index);
471 std::vector<std::string> arr ;
473 getAsStringFromXPath(xpath, 0, &arr);
475 for (
size_t s = 0 ;s<arr.size();s++){
478 std::istringstream iss(arr[s]);
488std::vector<std::string>
489WsdlInvoker::getValues<std::string>(
const std::string & xpath)
491 std::vector<std::string> arr ;
492 getAsStringFromXPath(xpath, 0, &arr);
bool setValue(const std::vector< std::string > &parents, void *val)
sets the param value for an operation by name of the parameter
void * getValue(const std::string ¶m, Schema::Type &t)
std::string getFaultActor() const
void setLocation(const std::string &url)
std::string getFaultCode() const
std::string getFaultSubCode() const
bool setWSDLUri(const std::string &url, const std::string &schemaPath="")
std::vector< T > getValues(const std::string &xpath)
sets the param value for an operation by name of the parameter
std::string getFaultString() const
int nInputHeaders() const
Parameter(Schema::Type, std::string, int m, int x, const SchemaParser *s, const std::vector< std::string > &parents)
std::vector< std::string > data_
std::vector< std::string > parents_
const SchemaParser * sParser_