169 const SOAP_12_NS =
"http://schemas.xmlsoap.org/wsdl/soap12/";
172 const XSD_NS =
"http://www.w3.org/2001/XMLSchema";
174 const XSI_NS =
"http://www.w3.org/2001/XMLSchema-instance";
177 const HTTP_NS =
"http://schemas.xmlsoap.org/wsdl/http/";
179 const MIME_NS =
"http://schemas.xmlsoap.org/wsdl/mime/";
205 const SOAP_SERIALIZATION_ERROR =
"SOAP-SERIALIZATION-ERROR";
206 const SOAP_DESERIALIZATION_ERROR =
"SOAP-DESERIALIZATION-ERROR";
207 const WSDL_ERROR =
"WSDL-ERROR";
223 extern bool global_compat_empty_string_is_nothing;
224 extern bool global_compat_allow_any_header;
242 static string getSoapMimeType12(
bool soap12);
247 static data
getFile(
string fn,
bool as_string = True);
252 static string getHTTP(
string url, *
string path, *HTTPClient hc, *hash<auto> headers,
bool as_string = True);
257 static data
getFTP(
string url,
string path,
bool as_string = True);
267 static data
getFileFromURL(
string url,
string def_protocol =
'file', *HTTPClient http_client, *hash<auto> http_headers,
bool as_string = True, *
string def_path, *reference new_def_path);
277 static data
getFileFromURL(
string url, hash<auto> u,
string def_protocol =
'file', *HTTPClient http_client, *hash<auto> http_headers,
bool as_string = False, *
string def_path, *reference new_def_path);
286 static string getWSDL(
string wsdl, *HTTPClient http_client, *hash<auto> http_headers, *reference new_def_path);
308 static processHref(reference xmldata,
string hr, hash<auto> parts);
313 static substHref(reference xmldata, hash<auto> parts);
322 static bool isContentType(
string ct, list<auto> MimeTypes);
324 static checkContentType(
string ct, list<auto> MimeTypes);
331 static removeNS(reference v);
333 static removeNS2(reference v);
340 auto getValue(*hash<auto> mrh,
auto val);
355 constructor(
string n_name,
string n_ns);
358 constructor(reference e, *
string desc_name);
364 *
string getInputNamespacePrefix();
380 constructor(reference e,
Namespaces nsc, *
string desc_name) ;
383 constructor(
string name,
string ns,
Namespaces nsc) ;
391 checkExtends(XsdAbstractType t,
string ename);
394 string getNameWithNS();
403 bool requiresValue();
406 string getOutputNamespacePrefix();
409 abstract auto serialize(
Namespaces nsc,
auto val, *softbool omitType);
410 abstract auto deserialize(
string en, hash<string, XsdAbstractType> tmap, *hash<auto> mrh,
auto val);
411 abstract AbstractDataProviderType getDataProviderType();
419 constructor(
string t,
Namespaces nsc,
string ns =
'xsd') ;
422 auto serialize(
Namespaces nsc,
auto val, *softbool omitType);
425 auto deserialize(
string en, hash<string, XsdAbstractType> tmap, *hash<auto> mrh,
auto val);
428 AbstractDataProviderType getDataProviderType();
431 Type getDataProviderBaseType();
444 *hash<auto> typeinfo;
445 XsdAbstractType elementType;
447 constructor(
string t,
string ns,
string arrayType,
Namespaces nsc, XsdLateResolverHelper unresolved) ;
450 AbstractDataProviderType getDataProviderType();
453 finalize(hash<string, XsdAbstractType> tmap,
Namespaces nsc);
456 auto serialize(
Namespaces nsc,
auto val, *softbool omitType);
459 auto deserialize(
string en, hash<string, XsdAbstractType> tmap, *hash<auto> mrh,
auto val);
467 *hash<auto> typeinfo;
468 XsdAbstractType type;
470 constructor(reference e) ;
478 string use =
"optional";
480 const AllowedUseValues = ...;
483 constructor(hash<auto> attr,
Namespaces nsc, *XsdAbstractType n_type, XsdLateResolverHelper unresolved) ;
486 auto getValue(
string val);
496 bool nillable = False;
503 constructor(hash<auto> e,
Namespaces nsc, *XsdAbstractType n_type, XsdLateResolverHelper unresolved,
bool n_usedocns) ;
506 AbstractDataProviderType getDataProviderType();
518 auto serialize(
Namespaces nsc,
auto h, *softbool omitType,
string key,
string typename);
522 auto serializeAsIntern(
Namespaces nsc, XsdAbstractType type,
auto h, *softbool omitType,
string key,
string typename);
526 auto deserialize(hash<string, XsdAbstractType> tmap, *hash<auto> mrh,
auto val,
bool present);
536 list<hash<auto>>
union;
537 list<XsdAbstractType> unionTypes;
539 XsdAbstractType type;
542 constructor(hash<auto> st,
Namespaces nsc, XsdLateResolverHelper unresolved,
bool n_usedocns, *
string desc_name) ;
545 AbstractDataProviderType getDataProviderType();
548 auto serialize(
Namespaces nsc,
auto val, *softbool omitType);
551 auto deserialize(
string en, hash<string, XsdAbstractType> tmap, *hash<auto> mrh,
auto val);
557 hash<string, XsdElement> elementmap;
572 hash<string, XsdElement> elementmap();
573 bool anyAttribute = False;
575 bool nillable = False;
576 bool required = False;
577 bool requires_value = False;
580 hash<string, XsdAttribute> attrs();
583 *
string documentation;
586 *hash<auto> simpleTypeInfo;
588 XsdAbstractType simpleType;
591 bool finalized = False;
594 list<hash<ChoiceInfo>> choices();
600 const XET_ALL =
"ALL";
601 const XET_CHOICE =
"CHOICE";
602 const XET_SEQUENCE =
"SEQUENCE";
603 const XET_SIMPLE =
"SIMPLE";
604 const XET_NONE =
"NONE";
609 constructor(*hash<auto> ct,
Namespaces nsc, XsdLateResolverHelper unresolved,
bool n_usedocns, *
string desc_name) ;
612 finalize(hash<string, XsdAbstractType> tmap,
Namespaces nsc);
620 parseData(hash<auto> d, XsdLateResolverHelper unresolved,
Namespaces nsc);
625 parseAttributes(reference d, XsdLateResolverHelper unresolved,
Namespaces nsc);
635 bool requiresValue();
642 hash<string, XsdElement> parseElements(softlist<auto> el, XsdLateResolverHelper unresolved,
Namespaces nsc,
bool for_object = True);
646 AbstractDataProviderType getDataProviderType();
650 *hash<auto> serializeElement(
Namespaces nsc,
string key,
XsdElement element,
auto h, *softbool omitType);
654 *hash<auto> serialize(
Namespaces nsc,
auto h, *softbool omitType);
658 hash<auto> serializeChoice(
Namespaces nsc, hash<string, XsdElement> emap, hash<auto> h, *softbool omitType,
bool all_members);
662 *hash<auto> deserialize(
string en, hash<string, XsdAbstractType> tmap, *hash<auto> mrh,
auto oval);
666 *hash<auto> parseChoice(hash<auto> val, hash<string, XsdElement> emap,
string en, hash<string, XsdAbstractType> tmap, *hash<auto> mrh, *
bool required);
770 hash<auto>
serializeFault(*
string fault,
string faultmsg,
auto h, *hash<auto> header, *
string enc, *hash<auto> nsh, *
int xml_opts, *
string req_soapaction, *
string bname);
795 hash<auto>
serializeRequest(
auto h, *hash<auto> header, *
string enc, *hash<auto> nsh, *
int xml_opts, *
string req_soapaction, *
string bname, *hash<auto> http_headers);
819 hash<auto>
serializeResponse(
auto h, *hash<auto> header, *
string enc, *hash<auto> nsh, *
bool soap12, *
int xml_opts, *
string bname, *hash<auto> http_headers);
892 hash<string, hash<WSDL::ArgInfo>>
args;
898 hash<string, XsdAbstractType>
tmap;
903 constructor(hash<auto> m, hash<
string, hash<string, XsdElement>> emap, hash<string, XsdAbstractType>
tmap,
Namespaces nsc) ;
914 auto serializeRpcValue(
string part,
bool encoded, reference<hash<auto>> h, reference<string> ons);
950 *hash<auto> deserializeDocument(*hash<auto> mrh,
auto val, *
string parts);
1003 string getSerializedKey(
string part);
1014 class WSDL::XsdLateResolverHelper {
1028 list<auto> getList();
1042 static bool isResolved(
auto t);
1057 hash<auto> serializeMessage(
WSOperation op, *
WSMessage msg,
bool request,
bool soap12,
auto h, *hash<auto> header,
string enc =
'UTF-8', *hash<auto> nsh, *
int xml_opts, *
string req_soapaction, *
string faultmsg, *hash<auto> http_headers);
1060 auto deserializeMessage(
WSOperation op, hash<auto> o,
bool request);
1063 auto deserializeRequestPath(
WSOperation op,
string path);
1066 abstract hash<auto> serializeMessageImpl(
WSOperation op, *
WSMessage msg,
bool request,
bool soap12,
auto h, *hash<auto> header,
string enc, *hash<auto> nsh, *
int xml_opts, *
string req_soapaction, *
string faultmsg, *hash<auto> http_headers);
1068 abstract auto deserializeMessageImpl(
WSOperation op, hash<auto> o,
bool request);
1070 abstract auto deserializeRequestPathImpl(
WSOperation op,
string path);
1076 string soapTransport;
1081 hash<auto> serializeMessageImpl(
WSOperation op, *
WSMessage msg,
bool request,
bool soap12,
auto h, *hash<auto> header,
string enc, *hash<auto> nsh, *
int xml_opts, *
string req_soapaction, *
string faultmsg, *hash<auto> http_headers);
1085 hash<auto> serializeSoapMessage(
WSOperation op, *
WSMessage msg,
auto val, *hash<auto> header, *hash<auto> nsh,
bool request,
bool soap12, reference mpm, *
string faultmsg);
1089 auto deserializeMessageImpl(
WSOperation op, hash<auto> orig_msg,
bool request);
1094 static list<auto> processMultiRef(hash<auto> body);
1098 hash<auto> deserializeRequestPathImpl(
WSOperation op,
string path);
1111 hash<auto> serializeMessageImpl(WSOperation op, *WSMessage msg,
bool request,
bool soap12,
auto h, *hash<auto> header,
string enc, *hash<auto> nsh, *
int xml_opts, *
string req_soapaction, *
string faultmsg, *hash<auto> http_headers);
1116 string serializeRequestPath(WSOperation op,
auto h);
1120 auto deserializeMessageImpl(WSOperation op, hash<auto> v,
bool request);
1123 hash<auto> deserializeRequestPathImpl(WSOperation op,
string path);
1191 list<auto> acceptedContentTypes = ();
1194 list<auto> acceptedContentTypeSubtypes = ();
1202 addContentType(
string type);
1217 constructor(
string part);
1255 list<BindingMessageHeaderDescription>
headers = cast<list<BindingMessageHeaderDescription>>(());
1270 setUrlReplacement(
string loc);
1288 *
string soapTransport;
1292 constructor(hash<auto> data,
Namespaces nsc, reference portTypes, reference idocmap, *hash<auto> messages) ;
1304 bool isSoapBinding();
1307 bool isHttpBinding();
1312 class WSDL::NamespacePrefixHelper {
1331 constructor(
Namespaces nsc, *hash<auto> nsattr);
1337 save(
string k,
string v);
1346 bool opt_empty_string_is_nothing = False;
1347 bool opt_allow_any_header = False;
1351 hash<string, string>
ns = {
1406 *
string getDefaultNs();
1409 addNamespaces(hash<auto> nsh, *NamespacePrefixHelper nph);
1412 restorePrefixes(hash<auto> h);
1416 addNamespaceIntern(
string ns,
string val, *
bool override);
1498 bool doType(
string t, reference<hash> typeinfo, reference<XsdAbstractType> rtype, *hash<string, XsdAbstractType> tmap);
1501 hash<auto> getTypeHash(
string t);
1513 XsdAbstractType tmap_get(hash<string, XsdAbstractType> tmap,
string name);
1516 *XsdAbstractType tmap_try_get(hash<string, XsdAbstractType> tmap,
string name);
1520 XsdElement emap_get(hash<
string, hash<string, XsdElement>> emap,
string ns,
string name);
1523 *
XsdElement emap_try_get(hash<
string, hash<string, XsdElement>> emap,
string ns,
string name);
1528 hash<string, WSOperation> operations;
1586 transient hash<string, hash<string, XsdElement>>
emap();
1592 transient hash<string, XsdAbstractType>
tmap();
1607 hash<string, hash<WSDL::ServiceInfo>> services();
1610 hash<string, Binding> binding();
1738 XsdAbstractType resolveType(hash<auto> v);
1744 parseTypes(*hash<auto> data,
auto http_client,
auto http_headers);
1749 parseMessages(*softlist<auto> message);
1754 parseService(*softlist<auto> svcs);
1759 parsePortType(*softlist<auto> data);
1764 parseBinding(*softlist<auto> bindings);
1796 string getOperationParams(
WSMessage msg);
1846 const DefaultOpts = ...;
1874 hash<auto> getMessage(
XsdElement elem, *softlist<auto> comments);
describes MIME content information for SOAP operational binding message descriptions
Definition: WSDL.qm.dox.h:1184
string part
specifies the name of the message part
Definition: WSDL.qm.dox.h:1188
bool acceptAllContentTypes
are all content-types accepted?
Definition: WSDL.qm.dox.h:1200
bool formUrlEncoded
are all content-types form URL encoded?
Definition: WSDL.qm.dox.h:1197
class for WSDL bindings
Definition: WSDL.qm.dox.h:1275
bool docstyle
use RPC or document style
Definition: WSDL.qm.dox.h:1285
string checkMessagePart(WSMessage msg, *string partname, string errs)
check if part exists in massage, if part is empty and message contains single part then return it oth...
describes the message body for a SOAP operational binding message description
Definition: WSDL.qm.dox.h:1130
bool encoded
required attribute
Definition: WSDL.qm.dox.h:1137
*string ns
namespace; "only applies to content not explicitly defined by the abstract types"
Definition: WSDL.qm.dox.h:1143
*string encodingStyle
when encoded True, this is used to produce a concrete message by applying the specified encoding
Definition: WSDL.qm.dox.h:1140
*list< auto > parts
indicates which parts appear somewhere within the SOAP Body portion of the message
Definition: WSDL.qm.dox.h:1146
describes an input or output message in a SOAP operational binding
Definition: WSDL.qm.dox.h:1222
bool urlEncoded
indicates that all the message parts are encoded into the HTTP request URI using the standard URI-enc...
Definition: WSDL.qm.dox.h:1245
*WSDL::MimeXmlMessageDescription mimeXml
optional mimeXml message scription
Definition: WSDL.qm.dox.h:1251
list< BindingMessageHeaderDescription > getHeaders()
returns a list of WSDL::BindingMessageHeaderDescription objects
*WSDL::BindingContentDescription content
optional content-type descriptions
Definition: WSDL.qm.dox.h:1248
list< BindingMessageHeaderDescription > headers
a list of WSDL::BindingMessageHeaderDescription objects
Definition: WSDL.qm.dox.h:1255
*hash< auto > urlReplacement
a hash of URL replacement values keyed by part name, values are URI paths
Definition: WSDL.qm.dox.h:1231
*WSDL::BindingMessageBodyDescription body
the description of the message body
Definition: WSDL.qm.dox.h:1226
bool hasHeaders()
returns True if the header descriptions are available
describes a mimeXml payload for a SOAP operational binding message description
Definition: WSDL.qm.dox.h:1209
string part
refers to a message part defining the concrete schema of the root XML element
Definition: WSDL.qm.dox.h:1215
namespace container class
Definition: WSDL.qm.dox.h:1342
string getOutputNamespaceUri(string nsp)
returns the namespace URI for the given output namespace prefix
*string getTargetNamespaceUri()
returns the primary target namespace Uri
merge(Namespaces nsc)
merges namespaces when parsing imported schemas
string getTargetNamespaceInputPrefix()
returns the input namespace prefix for the target namespace, if any
popDefaultNamespace()
restores any previous default namespace URI from the stack to the current default namespace URI
bool hasSoap12()
returns True if using SOAP 1.2, False if not
string getUniquePrefix(string uri, *string default_prefix)
returns a unique namespace prefix from a URI path string
*bool isSchema(string ns)
returns True if if the input namespace prefix refers to the XSD namespace URI
*string getNamespaceUri(*string nsp)
returns the namespace URI for the given prefix or the target namespace Uri
*hash< auto > getReferencedNamespaceMap()
returns a hash of namespace prefixes to namespaces URIs actually used
*hash< auto > getOutputNamespaceHash(*hash< auto > nsh)
returns a hash of namespace attributes for outgoing SOAP messages
hash< string, string > imapr
hash mapping input namespace URIs to input namespace prefixes
Definition: WSDL.qm.dox.h:1371
string translateOutputNamespacePrefix(*string nsa)
returns the output namespace prefix for the given input namespace prefix
hash< string, bool > xsd_schema
hash for valid XSD namespaces, maps input namespace prefixes -> True if it refers to an XSD schema
Definition: WSDL.qm.dox.h:1361
hash< string, string > nsr
maps namespace URIs to output namespace prefixes
Definition: WSDL.qm.dox.h:1356
pushDefaultNamespace(string ns)
pushes the current default namespace URI on the stack when parsing schemas and sets the current defau...
list< auto > dss
default namespace stack;
Definition: WSDL.qm.dox.h:1391
pushTargetNamespace(string ns)
pushes the current target namespace URI on the stack when parsing schemas and sets the current target...
const DefaultPrefixes
maps namespaces to default prefixes
Definition: WSDL.qm.dox.h:1397
*string target_ns
current target namespace
Definition: WSDL.qm.dox.h:1382
hash< string, string > ns
maps output namespace prefixes to namespace URIs
Definition: WSDL.qm.dox.h:1351
string getOutputNamespacePrefix(string ns)
looks up and registers a namespace if necessary, returns the namespace's prefix
constructor(hash< auto > nsh, *Namespaces nsc, *string targetNamespace)
creates the object with the WSDL definitions attribute hash
bool hassoap11
if True then has SOAP 1.1
Definition: WSDL.qm.dox.h:1376
list< auto > nss
target namespace stack;
Definition: WSDL.qm.dox.h:1385
string registerNamespaceIntern(string uri, *string default_pfx)
registers a namespace internally
*string default_ns
default namespace for unprefixed definitions
Definition: WSDL.qm.dox.h:1388
hash< string, string > imap
hash mapping input namespace prefixes to namespaces URIs
Definition: WSDL.qm.dox.h:1366
bool hasSoap11()
returns True if using SOAP 1.1, False if not
popTargetNamespace()
restores any previous target namespace URI from the stack to the current target namespace URI
hash< string, XsdBaseType > base_types
base type map
Definition: WSDL.qm.dox.h:1394
string getInputNamespaceUri(string nsa)
returns the input namespace URI from the input namespace prefix
bool hassoap12
if True then has SOAP 1.2
Definition: WSDL.qm.dox.h:1379
string getTargetNamespaceOutputPrefix()
returns the output namespace prefix for the target namespace, if any
class for WSDL bindings associated with a SOAP operation
Definition: WSDL.qm.dox.h:1046
contains helper methods for retrieving WSDLs from a URL
Definition: WSDL.qm.dox.h:236
static *hash< auto > parseSOAPMessage(hash< auto > msg)
const SoapMimeTypes
Mime types recognized as SOAP messages.
Definition: WSDL.qm.dox.h:240
static WebService getWebServiceFromUrl(string url, *HTTPClient http_client, *hash< auto > http_headers)
returns a WebService object from a URL and other optional arguments
static data getFileFromURL(string url, string def_protocol='file', *HTTPClient http_client, *hash< auto > http_headers, bool as_string=True, *string def_path, *reference new_def_path)
retrieves a file from a URL
static data getFile(string fn, bool as_string=True)
retrieves a local file and returns the file's contents as a string
static bool isSOAPMessage(hash< auto > msg)
returns True is the message has a SOAP mime type
static data getFileFromURL(string url, hash< auto > u, string def_protocol='file', *HTTPClient http_client, *hash< auto > http_headers, bool as_string=False, *string def_path, *reference new_def_path)
retrieves a file from an already-parsed URL
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...
static WebService getWSDL(WebService wsdl)
returns the argument
static string getHTTP(string url, *string path, *HTTPClient hc, *hash< auto > headers, bool as_string=True)
retrieves a file from a URL with HTTP and returns the file's contents as a string
static string getWSDL(string wsdl, *HTTPClient http_client, *hash< auto > http_headers, *reference new_def_path)
returns a WSDL string from a file name, optional HTTPClient object and optional header hash
static hash< auto > parseMultiPartSOAPMessage(hash< auto > msg)
takes a hash representation of a SOAP message and handles multipart messages, checks the content-type...
helper class implementing sample message generation
Definition: WSDL.qm.dox.h:1837
auto getMessage(WSMessage msg)
prepare sample message
constructor(WebService ws, *hash< auto > opts)
creates the WebService object
hash< auto > getMessage(string name)
prepare sample message
web service message class
Definition: WSDL.qm.dox.h:888
auto getValueFromHash(*WSDL::XsdElement element, reference< auto > v, bool removeFound)
when only one arg then try to get values based on element keys
auto getValueFromHash(string ename, reference< auto > v, bool removeFound)
find part in value, remove that value from the hash
hash< string, XsdAbstractType > tmap
type map
Definition: WSDL.qm.dox.h:898
auto serializeRpcValue(string part, bool encoded, reference< hash< auto >> h, reference< string > ons)
*hash< auto > serializeDocument(*softlist< auto > parts, *WSDL::BindingMessageDescription msginfo, *MultiPartRelatedMessage mpm, bool encoded, reference< auto > h, bool fault)
serializes data into a hash with SOAP namespaces etc. with document-style messages
hash< auto > serializeAllPartData(*hash< auto > val)
serialize all values as string or binary
hash< auto > deserializeAllPartData(hash< auto > val)
deserialize all values in string or binary form
hash< auto > serializeData(Namespaces nsc, string key, *hash< auto > val)
serialized value of particular type value as string or binary
*hash< auto > serializeRpc(*softlist< auto > parts, *WSDL::BindingMessageDescription msginfo, *MultiPartRelatedMessage mpm, string n_name, bool encoded, reference< auto > h, bool fault)
serializes data into a hash with SOAP namespaces etc. with RPC-style messages
*hash< auto > deserializeRpc(*hash< auto > mrh, hash< auto > val, *string part)
deserialize RPC message
AbstractDataProviderType getDataProviderType()
Returns the data provider type for this message.
string checkPart(string pname)
check if pname is defined as message part
hash< string, hash< WSDL::ArgInfo > > args
args keys are part names for types reps. element names for element. Definition must provide unique va...
Definition: WSDL.qm.dox.h:892
hash< string, string > pmap
maps part names to args key, all parts are in hash
Definition: WSDL.qm.dox.h:895
hash< auto > deserializeData(string part, hash< auto > val)
deserialize value in string or binary form
web service operation class
Definition: WSDL.qm.dox.h:672
*string soapAction
the SOAPAction header value to send with this operation
Definition: WSDL.qm.dox.h:688
hash< string, bool > reqh
a hash of top-level request names for this operation (depends on bindings)
Definition: WSDL.qm.dox.h:691
*string input_name
request message name
Definition: WSDL.qm.dox.h:680
OperationalBinding getBinding(*string bname)
returns a hash representing the given binding
hash< auto > serializeResponse(auto h, *hash< auto > header, *string enc, *hash< auto > nsh, *bool soap12, *int xml_opts, *string bname, *hash< auto > http_headers)
serializes a SOAP response to an XML string for the operation
*hash< string, WSMessage > getFaultMessages()
returns a hash of fault messages keyed by fault name
Namespaces nsc
namespace container
Definition: WSDL.qm.dox.h:685
WSMessage input
request message
Definition: WSDL.qm.dox.h:676
auto deserializeRequest(hash< auto > o, *string bname)
parses a hash representing a parsed XML request (parsed with parse_xml(XPF_PRESERVE_ORDER)) for the o...
hash< auto > serializeFault(*string fault, string faultmsg, auto h, *hash< auto > header, *string enc, *hash< auto > nsh, *int xml_opts, *string req_soapaction, *string bname)
serializes a fault response to an XML string or HTTP payload for the operation.
static hash< auto > processNSValue(hash< auto > h)
processes a hash of raw deserialized XML data and removes any namespace prefix from keys (saved to a ...
hash< string, OperationalBinding > bindings
params per associated binding; key = binding name; value = OperationalBinding object
Definition: WSDL.qm.dox.h:694
auto deserializeResponse(hash< auto > o, *string bname)
parses a hash representing a parsed XML response (parsed with parse_xml(XPF_PRESERVE_ORDER)) for the ...
list< auto > getTopLevelRequestNames()
returns all top-level request names for this operation
WSMessage output
response message
Definition: WSDL.qm.dox.h:678
setDocStyleBinding(reference idocmap)
this method is called if this operation supports at least one binding with document style
hash< auto > serializeRequest(auto h, *hash< auto > header, *string enc, *hash< auto > nsh, *int xml_opts, *string req_soapaction, *string bname, *hash< auto > http_headers)
serializes a request to an XML string or HTTP payload for the operation.
bool hasFault(string fault)
returns True if the given string is a valid fault message for the operation
constructor(hash< auto > p, Namespaces nsc, *hash< auto > messages)
creates the WSOperation object from the arguments supplied
*string output_name
response message name
Definition: WSDL.qm.dox.h:682
*hash< auto > deserializeRequestPath(string path, *string bname)
bool isSoap12()
returns True if the operation is a SOAP 1.2 operation
markRpcStyleBinding()
this method is called if this operation supports at least one binding with RPC style
addBinding(WSDL::OperationalBinding b)
adds the given binding
string getTargetNS()
returns the target namespace for the operation
hash< string, WSMessage > faults
fault messages keyed by fault name
Definition: WSDL.qm.dox.h:698
main class representing a parsed WSDL file
Definition: WSDL.qm.dox.h:1551
list< hash< WSDL::ServiceInfo > > listServices()
returns a list of services defined in the WSDL
transient hash< string, XsdElement > idocmap()
a hash of element names to XsdElement objects for top-level document-style bindings
getReport(StringOutputStream stream, *string wsdl_name)
prepare a WebService report enumerating the services and operations of the WSDL, outputs to the outpu...
string name
the name of the WebService
Definition: WSDL.qm.dox.h:1569
WSDL::WSOperation getBindingOperation(*string bname, string opname)
returns the given operation for particular binding or throws an exception if it cannot be found
WSDL::Binding getBinding(string name)
return a WSDL::Binding object describing the requested binding
transient hash< string, hash< PortTypeInfo > > portType()
hash of port names to port type information hashes
transient Namespaces nsc
namespace container
Definition: WSDL.qm.dox.h:1577
transient hash< string, hash< string, XsdElement > > emap()
map of elements
transient *code try_import
optional closure/call reference to try to resolve import declarations
Definition: WSDL.qm.dox.h:1598
hash< auto > getType(string name, auto v)
return a hash value that can be used to serialize a value as a particular type
transient hash< string, XsdAbstractType > tmap()
map of types
WSDL::WSOperation getOperation(string opname)
returns the given operation or throws an exception if it cannot be found; operations are searched in ...
transient list< string > wsdl_services()
list of services in this WSDL
synchronized string getHash()
returns a unique hash for the WSDL that can be used to compare schemas for equality
bool isSoap12()
returns True if the WSDL describes a SOAP 1.2 service
doInit(string str, *hash< auto > opts)
supports the constructor and deserialization
*hash< auto > opts
options used in the constructor
Definition: WSDL.qm.dox.h:1561
string getName()
returns the name of the service
constructor(string str, *hash< auto > opts)
creates the WebService object
string getWSDLHash()
returns a cryptographic hash for the WSDL source
string hash_str
the digest of the WSDL source
Definition: WSDL.qm.dox.h:1574
string getWSDL(string base_url)
returns the XML string for the WSDL, adjusting the URLs for binding locations depending on the caller
string wsdl
the WSDL string
Definition: WSDL.qm.dox.h:1555
WSDL::WSOperation getPortTypeOperation(string ptname, string opname)
returns the given operation for particular porttype or throws an exception if it cannot be found
transient *string def_path
default path for retrieving XSD references
Definition: WSDL.qm.dox.h:1603
bool has_try_import
flag if the object has a "try_import" closure or call reference
Definition: WSDL.qm.dox.h:1564
transient hash< string, WSMessage > messages()
hash of messages names to messages
list< hash< OperationInfo > > listOperations()
returns a list of hashes giving supported operation names for each port in the WSDL
hash< WSDL::ServiceInfo > getService(string name)
returns a hash describing the requested service
deserializeMembers(hash< auto > members)
can be used to create a WebService object from a hash created with serialize()
string getWSDL()
returns the XML string for the WSDL
string wsdl_hash
a cryptographic hash for the WSDL source
Definition: WSDL.qm.dox.h:1558
softlist< string > getOperationNames()
returns a list of known operation names
string getReport(*string wsdl_name)
prepare a WebService report enumerating the services and operations of the WSDL
class for XSD array types; currently only supports single dimensional arrays
Definition: WSDL.qm.dox.h:436
XSD attribute class.
Definition: WSDL.qm.dox.h:475
base class with helper methods for XSD data processing
Definition: WSDL.qm.dox.h:328
class for XSD base types
Definition: WSDL.qm.dox.h:415
XSD complex type class.
Definition: WSDL.qm.dox.h:562
string cx_type
type of complexType object
Definition: WSDL.qm.dox.h:598
checkExtends(XsdAbstractType t, string ename)
throws an exception if the types are not compatible
base class for XSD data classes
Definition: WSDL.qm.dox.h:337
XSD element class.
Definition: WSDL.qm.dox.h:491
base class for XSD classes with a "name" attribute
Definition: WSDL.qm.dox.h:345
descriptive_name
descriptive name flag
Definition: WSDL.qm.dox.h:353
*string ns
input namespace prefix (if any given)
Definition: WSDL.qm.dox.h:351
XSD simple type class.
Definition: WSDL.qm.dox.h:531
XSD typed data class.
Definition: WSDL.qm.dox.h:464
main WSDL namespace
Definition: WSDL.qm.dox.h:156
const any_type_map
mapping from Qore types to xsd types for xsd type "anyType"
Definition: WSDL.qm.dox.h:201
const SOAP_11_ENV
SOAP 1.1 envelope URI.
Definition: WSDL.qm.dox.h:161
const SoapStyleMap
SOAP "style" to "document" mappings.
Definition: WSDL.qm.dox.h:194
const SoapUseMap
SOAP "use" to "encoded" mappings.
Definition: WSDL.qm.dox.h:190
const SOAP_TRANSPORT
known/supported transports
Definition: WSDL.qm.dox.h:213
const HTTP_NS
HTTP namespace URI.
Definition: WSDL.qm.dox.h:177
const version
this WSDL implementation version
Definition: WSDL.qm.dox.h:158
const ENVELOPE_12_NS
soap 1.2 envelope namespaces
Definition: WSDL.qm.dox.h:186
wsdl_set_global_compat_allow_any_header(softbool val)
sets the global_compat_allow_any_header variable to the given value to force the WSDL module to allow...
const XSI_NS
XSI namespace URI.
Definition: WSDL.qm.dox.h:174
const XSD_NS
XSD namespace URI.
Definition: WSDL.qm.dox.h:172
const SOAP_12_NS
SOAP 1.2 namespace URI.
Definition: WSDL.qm.dox.h:169
const SOAP_TRANSPORT_HTTP
SOAP HTTP transport URI.
Definition: WSDL.qm.dox.h:210
const SOAP_11_NS
SOAP 1.1 namespace URI.
Definition: WSDL.qm.dox.h:166
wsdl_set_global_compat_empty_string_is_nothing(softbool val)
sets the global_compat_empty_string_is_nothing variable to the given value to force the WSDL module t...
const RANGE_INT
range of "int" values (32 bits)
Definition: WSDL.qm.dox.h:220
const SOAP_12_ENV
SOAP 1.2 envelope URI.
Definition: WSDL.qm.dox.h:163
const MIME_NS
MIME namespace URI.
Definition: WSDL.qm.dox.h:179
const SOAP_ENCODING
soap encoding URI
Definition: WSDL.qm.dox.h:198
const ENVELOPE_11_NS
soap 1.1 envelope namespaces
Definition: WSDL.qm.dox.h:182
const RANGE_SHORT
range of "short" values (16 bits)
Definition: WSDL.qm.dox.h:217
message argument hash description
Definition: WSDL.qm.dox.h:867
XsdAbstractType type
type for the argument
Definition: WSDL.qm.dox.h:875
string part
unique part name
Definition: WSDL.qm.dox.h:872
XsdElement element
element for the argument
Definition: WSDL.qm.dox.h:878
string name
the arg name
Definition: WSDL.qm.dox.h:869
complex type choice hash
Definition: WSDL.qm.dox.h:556
WSDL operation info.
Definition: WSDL.qm.dox.h:1540
string port
the name of the port defining the operation
Definition: WSDL.qm.dox.h:1542
WSDL::WSOperation operation
the operation object
Definition: WSDL.qm.dox.h:1545
WSDL port type hash.
Definition: WSDL.qm.dox.h:1527
WSDL service info hash.
Definition: WSDL.qm.dox.h:1532
hash< string, hash > port
port info
Definition: WSDL.qm.dox.h:1536
string name
service name
Definition: WSDL.qm.dox.h:1534