|  | Qore xml Module 1.8.1
    | 
SOAP client class implementation, publically inherits qore's HTTPClient class. More...
#include <SoapClient.qm.dox.h>
Inherits HTTPClient.
| Public Member Methods | |
| constructor (hash< auto > h) | |
| creates the object based on a WSDL which is parsed to a WebService object which provides the basis for all communication with this object  More... | |
| hash< auto > | getMsg (string operation, auto args, *hash< auto > soap_header, reference< auto > op, *hash< auto > http_header, *int xml_opts, *string soapaction) | 
| returns a hash representing the serialized SOAP request for a given WSOperation  More... | |
| auto | callOperation (string operation, auto args, *hash< auto > opts, *reference info) | 
| makes a server call with the given operation, arguments, options, and optional info hash reference and returns the result  More... | |
| auto | call (string operation, auto args, *hash< auto > soap_header, *hash< auto > http_header, *string binding) | 
| makes a server call with the given operation and arguments and returns the deserialized result  More... | |
| auto | call (string operation, auto args, *reference info, *string binding) | 
| makes a server call with the given operation and arguments and returns the deserialized result  More... | |
| auto | call (reference info, string operation, auto args, *hash< auto > soap_header, *hash< auto > http_header) | 
| makes a server call with the given operation and arguments and returns the deserialized result with an output argument giving technical information about the call  More... | |
| auto | methodGate (string op) | 
| uses SoapClient::call() to transparently serialize the argument and make a call to the given operation and return the deserialized results  More... | |
| hash< auto > | getType (string type, auto v) | 
| returns a hash that can be used to ensure serialization with the XSD type given as the type argument | |
| WSDL::WebService | getWebService () | 
| returns the WSDL::WebService object associated with this object | |
| hash< auto > | getInfo () | 
| returns a hash of information about the current WSDL  More... | |
| setSendEncoding (string enc='auto') | |
| change the data content encoding (compression) option for the object; see EncodingSupport for valid options  More... | |
| setContentEncoding (string enc='auto') | |
| sets the request and desired response encoding for the object; see EncodingSupport for valid options  More... | |
| addDefaultHeaders (hash< auto > h) | |
| adds default headers to each request; these headers will be sent in all requests but can be overridden in requests as well  More... | |
| hash< auto > | getDefaultHeaders () | 
| returns the hash of default headers to sent in all requests  More... | |
| *string | getSendEncoding () | 
| returns the current data content encoding (compression) object or nothing if no encoding option is set; see EncodingSupport for valid options  More... | |
| log (string msg) | |
| sends a log message to the log closure or call reference, if any | |
| dbglog (string msg) | |
| sends a log message to the debug log closure or call reference, if any | |
| Public Attributes | |
| const | Version = "1.0.1" | 
| version of the implementation of this class | |
| const | Headers = {"User-Agent": ("Qore-Soap-Client/" + SoapClient::Version)} | 
| default HTTP headers | |
| const | HTTPOptions = keys HttpConnection::ConnectionScheme.options | 
| option keys passed to the HTTPClient constructor | |
| string | url | 
| target URL | |
| hash | headers = Headers | 
| HTTP headers to use. | |
| const | EncodingSupport = ... | 
| Send content encoding options.  More... | |
| const | CompressionThreshold = 1024 | 
| default threadhold for data compressions; transfers smaller than this size will not be compressed | |
| Private Member Methods | |
| nothing | msglog (hash< auto > msg) | 
SOAP client class implementation, publically inherits qore's HTTPClient class.
| SoapClient::SoapClient::addDefaultHeaders | ( | hash< auto > | h | ) | 
adds default headers to each request; these headers will be sent in all requests but can be overridden in requests as well
| h | a hash of headers to add to the default headers to send on each request | 
| auto SoapClient::SoapClient::call | ( | reference | info, | 
| string | operation, | ||
| auto | args, | ||
| *hash< auto > | soap_header, | ||
| *hash< auto > | http_header | ||
| ) | 
makes a server call with the given operation and arguments and returns the deserialized result with an output argument giving technical information about the call
| info | an optional reference to return a hash of technical information about the SOAP call (raw message info and headers); the following keys are present in this hash: 
 | 
| operation | the operation name for the SOAP call | 
| args | the arguments to the SOAP operation | 
| soap_header | optional soap headers (if required by the operation) | 
| http_header | a hash giving HTTP header information to include in the message (does not override automatically-generated SOAP message headers) | 
| WSDL-OPERATION-ERROR | the operation is not defined in the WSDL | 
| WSDL-BINDING-ERROR | the binding is not assigned to a SOAP operation in the WSDL | 
| HTTP-CLIENT-RECEIVE-ERROR | this exception is thrown when the SOAP server returns an HTTP error code; if a SOAP fault is returned, then it is deserialized and returned in the arg key of the exception hash | 
| auto SoapClient::SoapClient::call | ( | string | operation, | 
| auto | args, | ||
| *hash< auto > | soap_header, | ||
| *hash< auto > | http_header, | ||
| *string | binding | ||
| ) | 
makes a server call with the given operation and arguments and returns the deserialized result
| operation | the operation name for the SOAP call | 
| args | the arguments to the SOAP operation | 
| soap_header | optional soap headers (if required by the operation) | 
| http_header | a hash giving HTTP header information to include in the message (does not override automatically-generated SOAP message headers) | 
| binding | the SOAP binding name, if not provided, the first binding assigned to the operation will be used | 
| WSDL-OPERATION-ERROR | the operation is not defined in the WSDL | 
| WSDL-BINDING-ERROR | the binding is not assigned to a SOAP operation in the WSDL | 
| HTTP-CLIENT-RECEIVE-ERROR | this exception is thrown when the SOAP server returns an HTTP error code; if a SOAP fault is returned, then it is deserialized and returned in the arg key of the exception hash | 
| auto SoapClient::SoapClient::call | ( | string | operation, | 
| auto | args, | ||
| *reference | info, | ||
| *string | binding | ||
| ) | 
makes a server call with the given operation and arguments and returns the deserialized result
| operation | the operation name for the SOAP call | 
| args | the arguments to the SOAP operation | 
| info | an optional reference to return a hash of technical information about the SOAP call (raw message info and headers); the following keys are present in this hash: 
 | 
| binding | the SOAP binding name, if not provided, the first binding assigned to the operation will be used | 
| WSDL-OPERATION-ERROR | the operation is not defined in the WSDL | 
| WSDL-BINDING-ERROR | the binding is not assigned to a SOAP operation in the WSDL | 
| HTTP-CLIENT-RECEIVE-ERROR | this exception is thrown when the SOAP server returns an HTTP error code; if a SOAP fault is returned, then it is deserialized and returned in the arg key of the exception hash | 
| auto SoapClient::SoapClient::callOperation | ( | string | operation, | 
| auto | args, | ||
| *hash< auto > | opts, | ||
| *reference | info | ||
| ) | 
makes a server call with the given operation, arguments, options, and optional info hash reference and returns the result
| operation | the SOAP operation to use to serialize the request; if the operation is not known to the underlying WebService class, an exception will be thrown | 
| args | the arguments to the SOAP operation | 
| opts | an optional hash of options for the call as follows: 
 | 
| info | an optional reference to return a hash of technical information about the SOAP call (raw message info and headers); the following keys are present in this hash: 
 | 
hdr: a hash of message headersbody: the serialized message body| WSDL-OPERATION-ERROR | the operation is not defined in the WSDL | 
| WSDL-BINDING-ERROR | the binding is not assigned to a SOAP operation in the WSDL | 
| HTTP-CLIENT-RECEIVE-ERROR | this exception is thrown when the SOAP server returns an HTTP error code; if a SOAP fault is returned, then it is deserialized and returned in the arg key of the exception hash | 
| SoapClient::SoapClient::constructor | ( | hash< auto > | h | ) | 
creates the object based on a WSDL which is parsed to a WebService object which provides the basis for all communication with this object
one of either the wsdl or wsdl_file keys is required in the hash given to the constructor or an exception will be thrown 
| h | valid option keys: 
 | 
| hash< auto > SoapClient::SoapClient::getDefaultHeaders | ( | ) | 
returns the hash of default headers to sent in all requests
| hash< auto > SoapClient::SoapClient::getInfo | ( | ) | 
returns a hash of information about the current WSDL
"service": the name of the SOAP service used"pore": the name of the SOAP port used"binding": the name of the binding used"url": the target URL | hash< auto > SoapClient::SoapClient::getMsg | ( | string | operation, | 
| auto | args, | ||
| *hash< auto > | soap_header, | ||
| reference< auto > | op, | ||
| *hash< auto > | http_header, | ||
| *int | xml_opts, | ||
| *string | soapaction | ||
| ) | 
returns a hash representing the serialized SOAP request for a given WSOperation
| operation | the SOAP operation to use to serialize the request; if the operation is not known to the underlying WebService class and port/binding, an exception will be thrown | 
| args | the arguments to the SOAP operation | 
| soap_header | data structure for the SOAP header, if required by the message | 
| op | a reference to return the WSOperation object found | 
| http_header | a hash giving HTTP header information to include in the message (does not override automatically-generated SOAP message headers) | 
| xml_opts | an integer XML generation option code; see XML Generation Constants for possible values; combine multiple codes with binary or ( |) | 
| soapaction | an optional string that will override the SOAPAction for the request; en empty string here will prevent the SOAPAction from being sent | 
hdr: a hash of message headersbody: the serialized message bodypath: the path part of URLmethod: the HTTP request method| WSDL-OPERATION-ERROR | the operation is not defined in the WSDL | 
| WSDL-BINDING-ERROR | the binding is not assigned to a SOAP operation in the WSDL | 
| *string SoapClient::SoapClient::getSendEncoding | ( | ) | 
returns the current data content encoding (compression) object or nothing if no encoding option is set; see EncodingSupport for valid options
| auto SoapClient::SoapClient::methodGate | ( | string | op | ) | 
uses SoapClient::call() to transparently serialize the argument and make a call to the given operation and return the deserialized results
| op | the operation name, which is the method name passed to methodGate() | 
| ... | zero or more arguments for the operation | 
| WSDL-OPERATION-ERROR | the operation is not defined in the WSDL | 
| HTTP-CLIENT-RECEIVE-ERROR | this exception is thrown when the SOAP server returns an HTTP error code; if a SOAP fault is returned, then it is deserialized and returned in the arg key of the exception hash | 
| 
 | private | 
Method is to be overriden to implement custom logging HTTP message sent and received from this object.
| SoapClient::SoapClient::setContentEncoding | ( | string | enc = 'auto' | ) | 
sets the request and desired response encoding for the object; see EncodingSupport for valid options
| enc | the data content encoding (compression) option for requests and the desired response content encoding for the object; see EncodingSupport for valid options; if the value "auto"is passed then"gzip"encoding is used for outgoing requests and requested for responses | 
| SOAPCLIENT-ERROR | invalid or unsupported data content encoding / compression option | 
| SoapClient::SoapClient::setSendEncoding | ( | string | enc = 'auto' | ) | 
change the data content encoding (compression) option for the object; see EncodingSupport for valid options
The default is to send requests unencoded/uncompressed.
| enc | the data content encoding (compression) option for the object; see EncodingSupport for valid options; if the value "auto"is passed then"gzip"encoding is used | 
| SOAPCLIENT-ERROR | invalid or unsupported data content encoding / compression option | 
| const SoapClient::SoapClient::EncodingSupport = ... | 
Send content encoding options.
Send content encoding options are as follows:
"bzip": use bzip2 compression"gzip": use gzip compression"deflate": use deflate compression"identity": use no content encoding