WSDL.qm.dox.h
// -*- mode: c++; indent-tabs-mode: nil -*-
/* WSDL.qm Copyright (C) 2012 - 2016 David Nichols
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
*/
// make sure we have the required qore version
// requires XML functionality
// need mime definitions
// do not use $ for vars
/*
WSDL classes
provides some minimal WSDL and XSD support for SOAP messaging used by the SoapClient class and the SoapHandler
not complete, needs namespace verification, improved XSD support, element groups, etc
*/
namespace WSDL {
const version = "0.3.5";
const SOAP_11_ENV = "http://schemas.xmlsoap.org/soap/envelope/";
const SOAP_12_ENV = "http://www.w3.org/2003/05/soap-envelope";
const SOAP_11_NS = "http://schemas.xmlsoap.org/wsdl/soap/";
const SOAP_12_NS = "http://schemas.xmlsoap.org/wsdl/soap12/";
const XSD_NS = "http://www.w3.org/2001/XMLSchema";
const XSI_NS = "http://www.w3.org/2001/XMLSchema-instance";
const HTTP_NS = "http://schemas.xmlsoap.org/wsdl/http/";
const MIME_NS = "http://schemas.xmlsoap.org/wsdl/mime/";
const ENVELOPE_11_NS = (
"soapenv:Envelope": (
"^attributes^": (
"xmlns:soapenv": SOAP_11_ENV,
"xmlns:xsd": XSD_NS,
"xmlns:xsi": XSI_NS,
),
),
);
const ENVELOPE_12_NS = (
"soapenv:Envelope": (
"^attributes^": (
"xmlns:soapenv": SOAP_12_ENV,
"xmlns:xsd": XSD_NS,
"xmlns:xsi": XSI_NS,
),
),
);
const SOAP_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
const any_type_map = (
Type::String : "string",
Type::Int : "long",
Type::Boolean : "boolean",
Type::Date : "dateTime",
Type::Float : "decimal",
Type::NothingType : "string",
Type::NullType : "string",
Type::Binary : "base64Binary",
);
// error codes
const SOAP_SERIALIZATION_ERROR = "SOAP-SERIALIZATION-ERROR";
const SOAP_DESERIALIZATION_ERROR = "SOAP-DESERIALIZATION-ERROR";
const WSDL_ERROR = "WSDL-ERROR";
const SOAP_TRANSPORT_HTTP = "http://schemas.xmlsoap.org/soap/http";
const SOAP_TRANSPORT = (
SOAP_TRANSPORT_HTTP: True,
);
const RANGE_SHORT = (-32768, 32767);
const RANGE_INT = (-2147483648, 2147483647);
};
class WSDL::WSDLLib {
public:
const SoapMimeTypes = (MimeTypeSoapXml, MimeTypeXml, MimeTypeXmlApp);
static data getFile(string fn, bool as_string = True);
static string getHTTP(string url, *string path, *HTTPClient hc, *hash headers, bool as_string = True);
static data getFTP(string url, string path, bool as_string = True);
static data getFileFromURL(string url, string def_protocol = "file", *HTTPClient http_client, *hash http_headers, bool as_string = True, *string def_path, *reference new_def_path);
static data getFileFromURL(string url, hash u, string def_protocol = "file", *HTTPClient http_client, *hash http_headers, bool as_string = False, *string def_path, *reference new_def_path);
static WebService getWSDL(WebService wsdl);
static string getWSDL(string wsdl, *HTTPClient http_client, *hash http_headers, *reference new_def_path);
static hash parseSOAPMessage(hash msg);
private:
static checkSOAPContentType(string ct);
public:
private:
static processHref(reference xmldata, string hr, hash parts);
public:
private:
static substHref(reference xmldata, hash parts);
public:
};
class WSDL::XsdBase {
public:
/*
static private hash doType(string t) {
#printf("DEBUG: XsdBase::doType(%y)\n", t);
my (*string ns, *string type) = t =~ x/(\w+):(\w+)/;
return !exists type ? ("val": t) : ("ns": ns, "val": type);
}
*/
static removeNS(reference v);
static removeNS2(reference v);
};
class WSDL::XsdData : public WSDL::XsdBase {
public:
any getValue(*hash mrh, any val);
};
class WSDL::XsdNamedData : public WSDL::XsdData {
public:
public :
// name of object
string name;
*string ns;
public:
constructor(string n_name, string n_ns);
constructor(reference e, *string desc_name);
string getName();
*string getInputNamespacePrefix();
};
class WSDL::XsdAbstractType : public WSDL::XsdNamedData {
public:
public :
Namespaces nsc;
string ons;
public:
constructor(reference e, Namespaces n_nsc, *string desc_name);
constructor(string name, string ns, Namespaces n_nsc);
private resolveNamespace();
checkExtends(XsdAbstractType t, string ename);
string getNameWithNS();
bool isNillable();
bool isRequired();
string getOutputNamespacePrefix();
abstract any serialize(any val, *softbool omit_type, *softbool omit_ns);
abstract any deserialize(string en, *TypeMap tmap, *hash mrh, any val);
};
class WSDL::XsdBaseType : public WSDL::XsdAbstractType {
public:
public :
public:
constructor(string t, Namespaces nsc, string ns = "xsd");
any serialize(any val, *softbool omit_type, *softbool omit_ns);
any deserialize(string en, *TypeMap tmap, *hash mrh, any val);
};
class WSDL::XsdArrayType : public WSDL::XsdAbstractType {
public:
constructor(string t, Namespaces nsc);
any serialize(any val, *softbool omit_type, *softbool omit_ns);
any deserialize(string en, *TypeMap tmap, *hash mrh, any val);
};
class WSDL::XsdTypedData : public WSDL::XsdNamedData {
public:
public :
any type;
public:
constructor(reference e);
};
class WSDL::XsdAttribute : public WSDL::XsdTypedData {
public:
public :
string use = "optional";
const AllowedUseValues = (
"optional": True,
"required": True,
"prohibited": True,
);
public:
constructor(hash attr, Namespaces nsc, *XsdAbstractType n_type, XsdLateResolverHelper unresolved);
any getValue(string val);
};
class WSDL::XsdElement : public WSDL::XsdTypedData {
public:
public :
int minOccurs = 1;
int maxOccurs = 1;
bool nillable = False;
*string ref;
public:
constructor(hash e, Namespaces nsc, *XsdAbstractType n_type, XsdLateResolverHelper unresolved);
assimilate(WSDL::XsdElement other);
bool isRequired();
bool isNillable();
/*
bool isRequired() {
#printf("DBG %y: required nillable: %y minOccurs: %y type: %y\n", name, nillable, minOccurs, ((type instanceof XsdAbstractType && type.isRequired()) | True));
return !nillable && minOccurs && ((type instanceof XsdAbstractType && type.isRequired()) | True);
}
*/
any serialize(any h, *softbool omit_type, *softbool omit_ns, string key, string typename);
any serializeAs(XsdAbstractType type, any h, *softbool omit_type, *softbool omit_ns, string key, string typename);
private any serializeAsIntern(XsdAbstractType type, any h, *softbool omit_type, *softbool omit_ns, string key, string typename);
any deserialize(*TypeMap tmap, *hash mrh, any val, bool present);
};
class WSDL::XsdSimpleType : public WSDL::XsdAbstractType {
public:
public :
hash enum;
any type;
public:
constructor(hash st, Namespaces nsc, XsdLateResolverHelper unresolved, *string desc_name);
any serialize(any val, *softbool omit_type, *softbool omit_ns);
any deserialize(string en, *TypeMap tmap, *hash mrh, any val);
};
class WSDL::XsdComplexType : public WSDL::XsdAbstractType {
public:
public :
any array;
any restriction;
*string extension;
*hash elementmap;
bool anyAttribute = False;
bool nillable = False;
bool required = False;
// attributes
hash attrs;
// any annotated documentation
*string documentation;
// simpleContent type
any simpleType;
// finalization flag
bool finalized = False;
// multiple choice blocks
list choices = ();
public:
private :
string cx_type;
const XET_ALL = "ALL";
const XET_CHOICE = "CHOICE";
const XET_SEQUENCE = "SEQUENCE";
const XET_SIMPLE = "SIMPLE";
const XET_NONE = "NONE";
public:
constructor(hash ct, Namespaces nsc, XsdLateResolverHelper unresolved, *string desc_name);
finalize(TypeMap tmap, Namespaces nsc);
checkExtends(XsdAbstractType t, string ename);
private parseData(hash d, XsdLateResolverHelper unresolved);
private parseAttributes(reference d, XsdLateResolverHelper unresolved);
bool isNillable();
bool isRequired();
private *hash parseElements(softlist el, XsdLateResolverHelper unresolved, bool for_object = True);
private *hash serializeElement(string key, XsdElement element, any h, *softbool omit_type, *softbool omit_ns);
*hash serialize(any h, *softbool omit_type, *softbool omit_ns);
private hash serializeChoice(hash emap, hash h, *softbool omit_type, *softbool omit_ns);
*hash deserialize(string en, *TypeMap tmap, *hash mrh, any oval);
private *hash parseChoice(hash val, hash emap, string en, *TypeMap tmap, *hash mrh, *bool required);
};
class WSDL::WSOperation : public WSDL::XsdNamedData {
public:
public :
WSMessage input;
WSMessage output;
*string input_name;
*string output_name;
TypeMap tmap;
Namespaces nsc;
bool usedocns = False;
*string soapAction;
*string request_name;
*hash inp;
outp;
bool docstyle = False;
// info about soap header requirements
hash iheader;
hash oheader;
public:
constructor(any p, TypeMap n_tmap, Namespaces n_nsc, *hash messages, bool n_usedocns = False);
setDocStyle(reference idocmap);
setTopLevelRequestElement(string name);
string getTopLevelRequestName();
hash serializeRequest(any h, *hash header, *string enc, *hash nsh, *int xml_opts);
hash serializeResponse(any h, *hash header, *string enc, *hash nsh, *bool soap12, *int xml_opts);
private list processMultiRef(hash body);
any deserializeRequest(hash o);
any deserializeResponse(hash o);
private hash processNSValue(hash h);
bool isSoap12();
string getTargetNS();
setOutputMultipart(any v);
private parsePart(reference msg, any part);
addOutputPart(any part);
setInputMultipart(any v);
addInputPart(any part);
setInputHeader(string part, WSMessage msg, bool encoded);
};
class WSDL::WSMessage : public WSDL::XsdNamedData {
public:
public :
hash args;
// part map; maps element names to part names
hash pmap;
bool encoded = False;
// keep a reference to Namespaces
Namespaces nsc;
// keep a reference to the type map
TypeMap tmap;
public:
constructor(hash m, ElementMap emap, TypeMap n_tmap, Namespaces n_nsc);
hash serialize(any msginfo, any mpm, string n_name, any h);
hash serializeDocument(*string k, any msginfo, any mpm, any h, bool force_ns);
any deserialize(*hash mrh, hash val);
any deserializeDocument(*hash mrh, any val);
};
// private helper class for lazy name resolution
class WSDL::XsdLateResolverHelper {
public:
private:
list l = ();
public:
constructor();
add(any v);
list getList();
clearResolved();
};
class WSDL::Binding : public WSDL::XsdNamedData {
public:
public :
bool docStyle = False;
public:
private :
string port;
public:
constructor(hash data, Namespaces nsc, hash opmap, reference idocmap, *hash messages);
string getPort();
};
// private namespace prefix redefinition class
class WSDL::NamespacePrefixHelper {
public:
public :
public:
private :
Namespaces nsc;
// overriden prefixes
hash h;
// overridden target namespace
bool targ_ns;
// overridden default namespace
bool def_ns;
public:
constructor(Namespaces n_nsc, *hash nsattr);
destructor();
save(string k, string v);
};
class WSDL::Namespaces {
public:
public :
public:
private :
hash ns = (
"xsd": XSD_NS,
);
hash nsr = (
XSD_NS: "xsd",
);
hash xsd_schema = (
"xsd": True,
);
hash imap = (
"xsd": XSD_NS,
);
hash imapr = (
XSD_NS: "xsd",
);
int nsn;
bool hassoap11 = False;
bool hassoap12 = False;
*string target_ns;
list nss = ();
*string default_ns;
list dss = ();
public:
constructor(hash nsh, *Namespaces nsc);
*string getDefaultNs();
addNamespaces(hash nsh, *NamespacePrefixHelper nph);
restorePrefixes(hash h);
private addNamespaceIntern(string ns, string val, *bool override);
merge(Namespaces nsc);
string getOutputNamespaceUri(string nsp);
*hash getOutputNamespaceHash(*hash nsh);
*string getTargetNamespaceUri();
*string getNamespaceUri(*string nsp);
pushTargetNamespace(string ns);
popTargetNamespace();
pushDefaultNamespace(string ns);
popDefaultNamespace();
string getOutputNamespacePrefix(string ns);
string getTargetNamespaceInputPrefix();
private string registerNamespaceIntern(string n_ns);
*hash getReferencedNamespaceMap();
bool hasSoap11();
bool hasSoap12();
*bool isSchema(string ns);
string getInputNamespaceUri(string nsa);
any doType(string t);
string translateOutputNamespacePrefix(*string nsa);
};
// private class
class WSDL::MapBase {
public:
private:
public:
private :
hash dh;
public:
list keys();
AbstractIterator iterator();
};
// private class
class WSDL::TypeMap : public WSDL::MapBase {
public:
add(XsdAbstractType t);
XsdAbstractType get(string name);
*XsdAbstractType tryGet(string name);
};
// private class
class WSDL::ElementMap : public WSDL::MapBase {
public:
add(XsdElement e);
XsdElement get(string ns, string name);
*XsdElement tryGet(string ns, string name);
};
class WSDL::WebService : public WSDL::XsdBase {
public:
public :
string wsdl;
Namespaces nsc;
hash base_type;
list wsdl_services = ();
hash idocmap;
hash opmap;
ElementMap emap();
hash messages;
TypeMap tmap();
bool usedocns = False;
hash portType;
*code try_import;
*string def_path;
public:
private :
// service definitions; name -> service hash
hash services;
// service bindings; name -> hash
hash binding;
public:
constructor(string str, *hash opts);
WSOperation getOperation(string opname);
WSOperation getOperation(string port, string opname);
list listOperations();
WSDL::Binding getBinding(string name);
list listServices();
hash getService(string name);
hash getType(string name, any v);
private XsdBaseType getBaseType(string t);
private resolveType(XsdSimpleType t);
private resolveType(XsdElement xe);
private resolveType(XsdTypedData xd);
private resolveType(XsdComplexType ct);
private XsdAbstractType resolveType(hash v);
// parse XSD schema types
private parseTypes(*hash data, any http_client, any http_headers);
private parseMessages(*softlist message);
private parseService(*softlist svcs);
private parsePortType(*softlist data);
private parseBinding(*softlist bindings);
bool isSoap12();
string getWSDL();
string getWSDL(string base_url);
};
WSDL::Namespaces::getOutputNamespacePrefix
string getOutputNamespacePrefix(string ns)
looks up and registers a namespace if necessary, returns the namespace's prefix
WSDL::SOAP_11_NS
const SOAP_11_NS
SOAP 1.1 namespace URI.
Definition: WSDL.qm.dox.h:104
WSDL::Namespaces::getNamespaceUri
*string getNamespaceUri(*string nsp)
returns the namespace URI for the given prefix or the target namespace Uri
WSDL::ENVELOPE_11_NS
const ENVELOPE_11_NS
soap 1.1 envelope namespaces
Definition: WSDL.qm.dox.h:120
WSDL::XsdTypedData
XSD typed data class.
Definition: WSDL.qm.dox.h:366
WSDL::WebService::wsdl
string wsdl
the WSDL string
Definition: WSDL.qm.dox.h:980
WSDL::version
const version
this WSDL implementation version
Definition: WSDL.qm.dox.h:96
WSDL::Namespaces::xsd_schema
hash xsd_schema
hash for valid XSD namespaces, maps input namespace prefixes -> True if it refers to an XSD schema ...
Definition: WSDL.qm.dox.h:795
WSDL::WSDLLib::getFileFromURL
static data getFileFromURL(string url, string def_protocol="file", *HTTPClient http_client, *hash http_headers, bool as_string=True, *string def_path, *reference new_def_path)
retrieves a file from a URL
WSDL::Namespaces::hassoap11
bool hassoap11
if True then has SOAP 1.1
Definition: WSDL.qm.dox.h:813
WSDL::ENVELOPE_12_NS
const ENVELOPE_12_NS
soap 1.2 envelope namespaces
Definition: WSDL.qm.dox.h:131
WSDL::WebService::nsc
Namespaces nsc
namespace container
Definition: WSDL.qm.dox.h:983
WSDL::WSDLLib::SoapMimeTypes
const SoapMimeTypes
Mime types recognized as SOAP messages.
Definition: WSDL.qm.dox.h:181
WSDL::XsdComplexType::cx_type
string cx_type
type of complexType object
Definition: WSDL.qm.dox.h:499
WSDL::WebService::getOperation
WSOperation getOperation(string opname)
returns the given operation or throws an exception if it cannot be found; operations are searched in ...
WSDL::WSDLLib::getFile
static data getFile(string fn, bool as_string=True)
retrieves a local file and returns the file's contents as a string
WSDL::WSOperation
web service operation class
Definition: WSDL.qm.dox.h:550
WSDL::Namespaces::translateOutputNamespacePrefix
string translateOutputNamespacePrefix(*string nsa)
returns the output namespace prefix for the given input namespace prefix
WSDL::XSI_NS
const XSI_NS
XSI namespace URI.
Definition: WSDL.qm.dox.h:112
WSDL
main WSDL namespace
Definition: WSDL.qm.dox.h:94
WSDL::Namespaces
namespace container class
Definition: WSDL.qm.dox.h:776
WSDL::Namespaces::popTargetNamespace
popTargetNamespace()
restores any previous target namespace URI from the stack to the current target namespace URI ...
WSDL::Namespaces::pushTargetNamespace
pushTargetNamespace(string ns)
pushes the current target namespace URI on the stack when parsing schemas and sets the current target...
WSDL::SOAP_12_NS
const SOAP_12_NS
SOAP 1.2 namespace URI.
Definition: WSDL.qm.dox.h:107
WSDL::Namespaces::imap
hash imap
hash mapping input namespace prefixes to namespaces URIs
Definition: WSDL.qm.dox.h:800
WSDL::Namespaces::pushDefaultNamespace
pushDefaultNamespace(string ns)
pushes the current default namespace URI on the stack when parsing schemas and sets the current defau...
WSDL::XsdBase
base class with helper methods for XSD data processing
Definition: WSDL.qm.dox.h:244
WSDL::XsdArrayType
class for XSD array types; currently only supports "binary"; used, for example with HTTP MultiPart me...
Definition: WSDL.qm.dox.h:352
WSDL::WSOperation::deserializeRequest
any deserializeRequest(hash o)
parses a hash representing a parsed XML request (parsed with parseXMLAsData()) for the operation and ...
WSDL::Namespaces::hassoap12
bool hassoap12
if True then has SOAP 1.2
Definition: WSDL.qm.dox.h:816
WSDL::Namespaces::getOutputNamespaceUri
string getOutputNamespaceUri(string nsp)
returns the namespace URI for the given output namespace prefix
WSDL::XSD_NS
const XSD_NS
XSD namespace URI.
Definition: WSDL.qm.dox.h:110
WSDL::Namespaces::default_ns
*string default_ns
default namespace for unprefixed definitions
Definition: WSDL.qm.dox.h:825
WSDL::Namespaces::target_ns
*string target_ns
current target namespace
Definition: WSDL.qm.dox.h:819
WSDL::SOAP_TRANSPORT
const SOAP_TRANSPORT
known/supported transports
Definition: WSDL.qm.dox.h:165
WSDL::WSOperation::isSoap12
bool isSoap12()
returns True if the operation is a SOAP 1.2 operation
WSDL::Namespaces::merge
merge(Namespaces nsc)
merges namespaces when parsing imported schemas
WSDL::WSOperation::deserializeResponse
any deserializeResponse(hash o)
parses a hash representing a parsed XML response (parsed with parse_xml()) for the operation and retu...
WSDL::SOAP_12_ENV
const SOAP_12_ENV
SOAP 1.2 envelope URI.
Definition: WSDL.qm.dox.h:101
WSDL::XsdNamedData
base class for XSD classes with a "name" attribute
Definition: WSDL.qm.dox.h:269
WSDL::Namespaces::getTargetNamespaceInputPrefix
string getTargetNamespaceInputPrefix()
looks up and registers a namespace if necessary, returns the namespace's prefix
WSDL::Namespaces::popDefaultNamespace
popDefaultNamespace()
restores any previous default namespace URI from the stack to the current default namespace URI ...
WSDL::Namespaces::nsr
hash nsr
maps namespace URIs to output namespace prefixes
Definition: WSDL.qm.dox.h:790
WSDL::Namespaces::ns
hash ns
maps output namespace prefixes to namespace URIs
Definition: WSDL.qm.dox.h:785
WSDL::WebService::listOperations
list listOperations()
returns a list of hashes giving supported operation names for each port in the WSDL ...
WSDL::WSMessage
web service message class
Definition: WSDL.qm.dox.h:668
WSDL::WSDLLib::parseSOAPMessage
static hash parseSOAPMessage(hash msg)
takes a hash representation of a SOAP message and parses it to a Qore data structure; handles multipa...
WSDL::Namespaces::getTargetNamespaceUri
*string getTargetNamespaceUri()
returns the primary target namespace Uri
WSDL::Namespaces::nsn
int nsn
integer providing a sequence for output namespace prefixes
Definition: WSDL.qm.dox.h:810
WSDL::WebService::constructor
constructor(string str, *hash opts)
creates the WebService object
WSDL::Namespaces::getReferencedNamespaceMap
*hash getReferencedNamespaceMap()
returns a hash of namespace prefixes to namespaces URIs actually used
WSDL::Namespaces::imapr
hash imapr
hash mapping input namespace URIs to input namespace prefixes
Definition: WSDL.qm.dox.h:805
WSDL::SOAP_TRANSPORT_HTTP
const SOAP_TRANSPORT_HTTP
SOAP HTTP transport URI.
Definition: WSDL.qm.dox.h:162
WSDL::RANGE_INT
const RANGE_INT
range of "int" values (32 bits)
Definition: WSDL.qm.dox.h:173
WSDL::SOAP_11_ENV
const SOAP_11_ENV
SOAP 1.1 envelope URI.
Definition: WSDL.qm.dox.h:99
WSDL::Namespaces::getOutputNamespaceHash
*hash getOutputNamespaceHash(*hash nsh)
returns a hash of namespace attributes for outgoing SOAP messages
WSDL::WebService::isSoap12
bool isSoap12()
returns True if the WSDL describes a SOAP 1.2 service
WSDL::WebService
main class representing a parsed WSDL file
Definition: WSDL.qm.dox.h:975
WSDL::Namespaces::constructor
constructor(hash nsh, *Namespaces nsc)
creates the object with the WSDL definitions attribute hash
WSDL::XsdBaseType
class for XSD base types
Definition: WSDL.qm.dox.h:334
WSDL::HTTP_NS
const HTTP_NS
HTTP namespace URI.
Definition: WSDL.qm.dox.h:115
WSDL::WebService::getWSDL
string getWSDL()
returns the XML string for the WSDL
WSDL::WebService::listServices
list listServices()
returns a list of services defined in the WSDL
WSDL::XsdAttribute
XSD attribute class.
Definition: WSDL.qm.dox.h:379
WSDL::XsdElement
XSD element class.
Definition: WSDL.qm.dox.h:401
WSDL::WebService::getService
hash getService(string name)
returns a hash describing the requested service
WSDL::WSDLLib::getHTTP
static string getHTTP(string url, *string path, *HTTPClient hc, *hash headers, bool as_string=True)
retrieves a file from a URL with HTTP and returns the file's contents as a string ...
WSDL::SOAP_ENCODING
const SOAP_ENCODING
soap encoding URI
Definition: WSDL.qm.dox.h:142
WSDL::Namespaces::getInputNamespaceUri
string getInputNamespaceUri(string nsa)
returns the input namespace URI from the input namespace prefix
WSDL::WSOperation::getTargetNS
string getTargetNS()
returns the target namespace for the operation
WSDL::Namespaces::dss
list dss
default namespace stack;
Definition: WSDL.qm.dox.h:828
WSDL::WSDLLib::getWSDL
static WebService getWSDL(WebService wsdl)
returns the argument
WSDL::WebService::def_path
*string def_path
default path for retrieving XSD references
Definition: WSDL.qm.dox.h:996
WSDL::Namespaces::nss
list nss
target namespace stack;
Definition: WSDL.qm.dox.h:822
WSDL::XsdSimpleType
XSD simple type class.
Definition: WSDL.qm.dox.h:445
WSDL::WSOperation::serializeResponse
hash serializeResponse(any h, *hash header, *string enc, *hash nsh, *bool soap12, *int xml_opts)
serializes a SOAP response to an XML string for the operation
WSDL::WSDLLib::getFTP
static data getFTP(string url, string path, bool as_string=True)
retrieves a file from a URL with the FTP protocol and returns the file's contents as binary or string...
WSDL::Binding
class for WSDL bindings
Definition: WSDL.qm.dox.h:723
WSDL::XsdComplexType
XSD complex type class.
Definition: WSDL.qm.dox.h:465
WSDL::Namespaces::hasSoap11
bool hasSoap11()
returns True if using SOAP 1.1, False if not
WSDL::any_type_map
const any_type_map
mapping from Qore types to xsd types for xsd type "anyType"
Definition: WSDL.qm.dox.h:145
WSDL::Namespaces::hasSoap12
bool hasSoap12()
returns True if using SOAP 1.2, False if not
WSDL::XsdData
base class for XSD data classes
Definition: WSDL.qm.dox.h:261
WSDL::MIME_NS
const MIME_NS
MIME namespace URI.
Definition: WSDL.qm.dox.h:117
WSDL::Namespaces::isSchema
*bool isSchema(string ns)
returns True if if the input namespace prefix refers to the XSD namespace URI
WSDL::RANGE_SHORT
const RANGE_SHORT
range of "short" values (16 bits)
Definition: WSDL.qm.dox.h:170
WSDL::WSDLLib
contains helper methods for retrieving WSDLs from a URL
Definition: WSDL.qm.dox.h:177
WSDL::Namespaces::registerNamespaceIntern
private string registerNamespaceIntern(string n_ns)
registers a namespace internally
WSDL::WSOperation::serializeRequest
hash serializeRequest(any h, *hash header, *string enc, *hash nsh, *int xml_opts)
serializes a request to an XML string for the operation
WSDL::WebService::getBinding
WSDL::Binding getBinding(string name)
return a WSDL::Binding object describing the requested binding
WSDL::XsdNamedData::ns
*string ns
input namespace prefix (if any given)
Definition: WSDL.qm.dox.h:276