|  | Home | Documentation | XML Data Binding updated by Robert van Engelen |

XML Data Binding

SOAP/XML services use data bindings contractually bound by WSDL and auto- generated by wsdl2h and soapcpp2 (see Service Bindings). Plain data bindings are adopted from XML schemas as part of the WSDL types section or when running wsdl2h on a set of schemas to produce non-SOAP-based XML data bindings.

The following readers and writers are C/C++ data type (de)serializers auto- generated by wsdl2h and soapcpp2. Run soapcpp2 on this file to generate the (de)serialization code, which is stored in soapC.c[pp]. Include "soapH.h" in your code to import these data type and function declarations. Only use the soapcpp2-generated files in your project build. Do not include the wsdl2h- generated .h file in your code.

Data can be read and deserialized from:

- an int file descriptor, using soap->recvfd = fd
- a socket, using soap->socket = (int)...
- a C++ stream (istream, stringstream), using soap->is = (istream*)...
- a C string, using soap->is = (const char*)...
- any input, using the soap->frecv() callback

Data can be serialized and written to:

- an int file descriptor, using soap->sendfd = (int)...
- a socket, using soap->socket = (int)...
- a C++ stream (ostream, stringstream), using soap->os = (ostream*)...
- a C string, using soap->os = (const char**)...
- any output, using the soap->fsend() callback

The following options are available for (de)serialization control:

- soap->encodingStyle = NULL; to remove SOAP 1.1/1.2 encodingStyle
- soap_mode(soap, SOAP_XML_TREE); XML without id-ref (no cycles!)
- soap_mode(soap, SOAP_XML_GRAPH); XML with id-ref (including cycles)
- soap_set_namespaces(soap, struct Namespace *nsmap); to set xmlns bindings

# Top-level root elements of schema "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01"

- <wsdd:Hello> _wsdd__Hello
  // Reader (returns SOAP_OK on success):
  soap_read__wsdd__Hello(struct soap*, _wsdd__Hello*);
  // Writer (returns SOAP_OK on success):
  soap_write__wsdd__Hello(struct soap*, _wsdd__Hello*);
  // REST GET (returns SOAP_OK on success):
  soap_GET__wsdd__Hello(struct soap*, const char *URL, _wsdd__Hello*);
  // REST PUT (returns SOAP_OK on success):
  soap_PUT__wsdd__Hello(struct soap*, const char *URL, _wsdd__Hello*);
  // REST POST (returns SOAP_OK on success):
  soap_POST_send__wsdd__Hello(struct soap*, const char *URL, _wsdd__Hello*);
  soap_POST_recv__wsdd__Hello(struct soap*, _wsdd__Hello*);
  _wsdd__Hello
  struct wsdd__HelloType _wsdd__Hello
  Top-level root element "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01":Hello of XSD type "htt...
  Definition wsdd.h:471
- <wsdd:Bye> _wsdd__Bye
  // Reader (returns SOAP_OK on success):
  soap_read__wsdd__Bye(struct soap*, _wsdd__Bye*);
  // Writer (returns SOAP_OK on success):
  soap_write__wsdd__Bye(struct soap*, _wsdd__Bye*);
  // REST GET (returns SOAP_OK on success):
  soap_GET__wsdd__Bye(struct soap*, const char *URL, _wsdd__Bye*);
  // REST PUT (returns SOAP_OK on success):
  soap_PUT__wsdd__Bye(struct soap*, const char *URL, _wsdd__Bye*);
  // REST POST (returns SOAP_OK on success):
  soap_POST_send__wsdd__Bye(struct soap*, const char *URL, _wsdd__Bye*);
  soap_POST_recv__wsdd__Bye(struct soap*, _wsdd__Bye*);
  _wsdd__Bye
  struct wsdd__ByeType _wsdd__Bye
  Top-level root element "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01":Bye of XSD type "http:...
  Definition wsdd.h:474
- <wsdd:Probe> _wsdd__Probe
  // Reader (returns SOAP_OK on success):
  soap_read__wsdd__Probe(struct soap*, _wsdd__Probe*);
  // Writer (returns SOAP_OK on success):
  soap_write__wsdd__Probe(struct soap*, _wsdd__Probe*);
  // REST GET (returns SOAP_OK on success):
  soap_GET__wsdd__Probe(struct soap*, const char *URL, _wsdd__Probe*);
  // REST PUT (returns SOAP_OK on success):
  soap_PUT__wsdd__Probe(struct soap*, const char *URL, _wsdd__Probe*);
  // REST POST (returns SOAP_OK on success):
  soap_POST_send__wsdd__Probe(struct soap*, const char *URL, _wsdd__Probe*);
  soap_POST_recv__wsdd__Probe(struct soap*, _wsdd__Probe*);
  _wsdd__Probe
  struct wsdd__ProbeType _wsdd__Probe
  Top-level root element "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01":Probe of XSD type "htt...
  Definition wsdd.h:477
- <wsdd:ProbeMatches> _wsdd__ProbeMatches
  // Reader (returns SOAP_OK on success):
  soap_read__wsdd__ProbeMatches(struct soap*, _wsdd__ProbeMatches*);
  // Writer (returns SOAP_OK on success):
  soap_write__wsdd__ProbeMatches(struct soap*, _wsdd__ProbeMatches*);
  // REST GET (returns SOAP_OK on success):
  soap_GET__wsdd__ProbeMatches(struct soap*, const char *URL, _wsdd__ProbeMatches*);
  // REST PUT (returns SOAP_OK on success):
  soap_PUT__wsdd__ProbeMatches(struct soap*, const char *URL, _wsdd__ProbeMatches*);
  // REST POST (returns SOAP_OK on success):
  soap_POST_send__wsdd__ProbeMatches(struct soap*, const char *URL, _wsdd__ProbeMatches*);
  soap_POST_recv__wsdd__ProbeMatches(struct soap*, _wsdd__ProbeMatches*);
  _wsdd__ProbeMatches
  struct wsdd__ProbeMatchesType _wsdd__ProbeMatches
  Top-level root element "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01":ProbeMatches of XSD ty...
  Definition wsdd.h:480
- <wsdd:Resolve> _wsdd__Resolve
  // Reader (returns SOAP_OK on success):
  soap_read__wsdd__Resolve(struct soap*, _wsdd__Resolve*);
  // Writer (returns SOAP_OK on success):
  soap_write__wsdd__Resolve(struct soap*, _wsdd__Resolve*);
  // REST GET (returns SOAP_OK on success):
  soap_GET__wsdd__Resolve(struct soap*, const char *URL, _wsdd__Resolve*);
  // REST PUT (returns SOAP_OK on success):
  soap_PUT__wsdd__Resolve(struct soap*, const char *URL, _wsdd__Resolve*);
  // REST POST (returns SOAP_OK on success):
  soap_POST_send__wsdd__Resolve(struct soap*, const char *URL, _wsdd__Resolve*);
  soap_POST_recv__wsdd__Resolve(struct soap*, _wsdd__Resolve*);
  _wsdd__Resolve
  struct wsdd__ResolveType _wsdd__Resolve
  Top-level root element "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01":Resolve of XSD type "h...
  Definition wsdd.h:483
- <wsdd:ResolveMatches> _wsdd__ResolveMatches
  // Reader (returns SOAP_OK on success):
  soap_read__wsdd__ResolveMatches(struct soap*, _wsdd__ResolveMatches*);
  // Writer (returns SOAP_OK on success):
  soap_write__wsdd__ResolveMatches(struct soap*, _wsdd__ResolveMatches*);
  // REST GET (returns SOAP_OK on success):
  soap_GET__wsdd__ResolveMatches(struct soap*, const char *URL, _wsdd__ResolveMatches*);
  // REST PUT (returns SOAP_OK on success):
  soap_PUT__wsdd__ResolveMatches(struct soap*, const char *URL, _wsdd__ResolveMatches*);
  // REST POST (returns SOAP_OK on success):
  soap_POST_send__wsdd__ResolveMatches(struct soap*, const char *URL, _wsdd__ResolveMatches*);
  soap_POST_recv__wsdd__ResolveMatches(struct soap*, _wsdd__ResolveMatches*);
  _wsdd__ResolveMatches
  struct wsdd__ResolveMatchesType _wsdd__ResolveMatches
  Top-level root element "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01":ResolveMatches of XSD ...
  Definition wsdd.h:486
- <wsdd:Types> _wsdd__Types
  // Reader (returns SOAP_OK on success):
  soap_read__wsdd__Types(struct soap*, _wsdd__Types*);
  // Writer (returns SOAP_OK on success):
  soap_write__wsdd__Types(struct soap*, _wsdd__Types*);
  // REST GET (returns SOAP_OK on success):
  soap_GET__wsdd__Types(struct soap*, const char *URL, _wsdd__Types*);
  // REST PUT (returns SOAP_OK on success):
  soap_PUT__wsdd__Types(struct soap*, const char *URL, _wsdd__Types*);
  // REST POST (returns SOAP_OK on success):
  soap_POST_send__wsdd__Types(struct soap*, const char *URL, _wsdd__Types*);
  soap_POST_recv__wsdd__Types(struct soap*, _wsdd__Types*);
  _wsdd__Types
  wsdd__QNameListType _wsdd__Types
  Top-level root element "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01":Types of XSD type "htt...
  Definition wsdd.h:489
- <wsdd:Scopes> _wsdd__Scopes
  // Reader (returns SOAP_OK on success):
  soap_read__wsdd__Scopes(struct soap*, _wsdd__Scopes*);
  // Writer (returns SOAP_OK on success):
  soap_write__wsdd__Scopes(struct soap*, _wsdd__Scopes*);
  // REST GET (returns SOAP_OK on success):
  soap_GET__wsdd__Scopes(struct soap*, const char *URL, _wsdd__Scopes*);
  // REST PUT (returns SOAP_OK on success):
  soap_PUT__wsdd__Scopes(struct soap*, const char *URL, _wsdd__Scopes*);
  // REST POST (returns SOAP_OK on success):
  soap_POST_send__wsdd__Scopes(struct soap*, const char *URL, _wsdd__Scopes*);
  soap_POST_recv__wsdd__Scopes(struct soap*, _wsdd__Scopes*);
  _wsdd__Scopes
  struct wsdd__ScopesType _wsdd__Scopes
  Top-level root element "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01":Scopes of XSD type "ht...
  Definition wsdd.h:492
- <wsdd:XAddrs> _wsdd__XAddrs
  // Reader (returns SOAP_OK on success):
  soap_read__wsdd__XAddrs(struct soap*, _wsdd__XAddrs*);
  // Writer (returns SOAP_OK on success):
  soap_write__wsdd__XAddrs(struct soap*, _wsdd__XAddrs*);
  // REST GET (returns SOAP_OK on success):
  soap_GET__wsdd__XAddrs(struct soap*, const char *URL, _wsdd__XAddrs*);
  // REST PUT (returns SOAP_OK on success):
  soap_PUT__wsdd__XAddrs(struct soap*, const char *URL, _wsdd__XAddrs*);
  // REST POST (returns SOAP_OK on success):
  soap_POST_send__wsdd__XAddrs(struct soap*, const char *URL, _wsdd__XAddrs*);
  soap_POST_recv__wsdd__XAddrs(struct soap*, _wsdd__XAddrs*);
  _wsdd__XAddrs
  wsdd__UriListType _wsdd__XAddrs
  Top-level root element "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01":XAddrs of XSD type "ht...
  Definition wsdd.h:495
- <wsdd:MetadataVersion> _wsdd__MetadataVersion
  // Reader (returns SOAP_OK on success):
  soap_read__wsdd__MetadataVersion(struct soap*, _wsdd__MetadataVersion*);
  // Writer (returns SOAP_OK on success):
  soap_write__wsdd__MetadataVersion(struct soap*, _wsdd__MetadataVersion*);
  // REST GET (returns SOAP_OK on success):
  soap_GET__wsdd__MetadataVersion(struct soap*, const char *URL, _wsdd__MetadataVersion*);
  // REST PUT (returns SOAP_OK on success):
  soap_PUT__wsdd__MetadataVersion(struct soap*, const char *URL, _wsdd__MetadataVersion*);
  // REST POST (returns SOAP_OK on success):
  soap_POST_send__wsdd__MetadataVersion(struct soap*, const char *URL, _wsdd__MetadataVersion*);
  soap_POST_recv__wsdd__MetadataVersion(struct soap*, _wsdd__MetadataVersion*);
  _wsdd__MetadataVersion
  unsigned int _wsdd__MetadataVersion
  Top-level root element "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01":MetadataVersion of XSD...
  Definition wsdd.h:498
- <wsdd:SupportedMatchingRules> _wsdd__SupportedMatchingRules
  // Reader (returns SOAP_OK on success):
  soap_read__wsdd__SupportedMatchingRules(struct soap*, _wsdd__SupportedMatchingRules*);
  // Writer (returns SOAP_OK on success):
  soap_write__wsdd__SupportedMatchingRules(struct soap*, _wsdd__SupportedMatchingRules*);
  // REST GET (returns SOAP_OK on success):
  soap_GET__wsdd__SupportedMatchingRules(struct soap*, const char *URL, _wsdd__SupportedMatchingRules*);
  // REST PUT (returns SOAP_OK on success):
  soap_PUT__wsdd__SupportedMatchingRules(struct soap*, const char *URL, _wsdd__SupportedMatchingRules*);
  // REST POST (returns SOAP_OK on success):
  soap_POST_send__wsdd__SupportedMatchingRules(struct soap*, const char *URL, _wsdd__SupportedMatchingRules*);
  soap_POST_recv__wsdd__SupportedMatchingRules(struct soap*, _wsdd__SupportedMatchingRules*);
  _wsdd__SupportedMatchingRules
  wsdd__UriListType _wsdd__SupportedMatchingRules
  Top-level root element "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01":SupportedMatchingRules...
  Definition wsdd.h:501
- <wsdd:Security> _wsdd__Security
  // Reader (returns SOAP_OK on success):
  soap_read__wsdd__Security(struct soap*, _wsdd__Security*);
  // Writer (returns SOAP_OK on success):
  soap_write__wsdd__Security(struct soap*, _wsdd__Security*);
  // REST GET (returns SOAP_OK on success):
  soap_GET__wsdd__Security(struct soap*, const char *URL, _wsdd__Security*);
  // REST PUT (returns SOAP_OK on success):
  soap_PUT__wsdd__Security(struct soap*, const char *URL, _wsdd__Security*);
  // REST POST (returns SOAP_OK on success):
  soap_POST_send__wsdd__Security(struct soap*, const char *URL, _wsdd__Security*);
  soap_POST_recv__wsdd__Security(struct soap*, _wsdd__Security*);
  _wsdd__Security
  struct wsdd__SecurityType _wsdd__Security
  Top-level root element "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01":Security of XSD type "...
  Definition wsdd.h:504
- <wsdd:Sig> _wsdd__Sig
  // Reader (returns SOAP_OK on success):
  soap_read__wsdd__Sig(struct soap*, _wsdd__Sig*);
  // Writer (returns SOAP_OK on success):
  soap_write__wsdd__Sig(struct soap*, _wsdd__Sig*);
  // REST GET (returns SOAP_OK on success):
  soap_GET__wsdd__Sig(struct soap*, const char *URL, _wsdd__Sig*);
  // REST PUT (returns SOAP_OK on success):
  soap_PUT__wsdd__Sig(struct soap*, const char *URL, _wsdd__Sig*);
  // REST POST (returns SOAP_OK on success):
  soap_POST_send__wsdd__Sig(struct soap*, const char *URL, _wsdd__Sig*);
  soap_POST_recv__wsdd__Sig(struct soap*, _wsdd__Sig*);
  _wsdd__Sig
  struct wsdd__SigType _wsdd__Sig
  Top-level root element "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01":Sig of XSD type "http:...
  Definition wsdd.h:507
- <wsdd:AppSequence> _wsdd__AppSequence
  // Reader (returns SOAP_OK on success):
  soap_read__wsdd__AppSequence(struct soap*, _wsdd__AppSequence*);
  // Writer (returns SOAP_OK on success):
  soap_write__wsdd__AppSequence(struct soap*, _wsdd__AppSequence*);
  // REST GET (returns SOAP_OK on success):
  soap_GET__wsdd__AppSequence(struct soap*, const char *URL, _wsdd__AppSequence*);
  // REST PUT (returns SOAP_OK on success):
  soap_PUT__wsdd__AppSequence(struct soap*, const char *URL, _wsdd__AppSequence*);
  // REST POST (returns SOAP_OK on success):
  soap_POST_send__wsdd__AppSequence(struct soap*, const char *URL, _wsdd__AppSequence*);
  soap_POST_recv__wsdd__AppSequence(struct soap*, _wsdd__AppSequence*);
  _wsdd__AppSequence
  struct wsdd__AppSequenceType _wsdd__AppSequence
  Top-level root element "http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01":AppSequence of XSD typ...
  Definition wsdd.h:510