Addressbook: XML Data Binding

Main Page | Class List | File List | Class Members | File Members | Related Pages
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.

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.

XML content can be retrieved from:

- a FILE* fd, using soap->recvfd = fd
- a socket, using soap->socket = ...
- a C++ stream, using soap->is = ...
- a buffer, using the soap->frecv() callback

XML content can be stored to:

- a FILE* fd, using soap->sendfd = fd
- a socket, using soap->socket = ...
- a C++ stream, using soap->os = ...
- a buffer, using the soap->fsend() callback

## Top-level root elements of schema "urn:address-book-example"

- <a:address-book> _a__address_book

          // Reader (returns SOAP_OK on success):
          soap_read__a__address_book(struct soap*, _a__address_book*);
          // Writer (returns SOAP_OK on success):
          soap_write__a__address_book(struct soap*, _a__address_book*);