This directory contains a number of WS-* specs. It serves as a repository for
generating header files stored in the 'import' directory.

The 'WS-typemap.dat' contains bindings for these WS-* specs to C (and C++).
This file is used by wsdl2h to customize the generated bindings.

For example, the 'import/wsa.h' WS-Addressing definitions were generated by:
wsdl2h -cgy -o wsa.h -t WS/WS-typemap.dat WS/WS-Addressing.xsd
which generated the 'import/wsa.h' file that can be #import-ed in a gSOAP
header file to enable WS-Addressing support.

All importable WS-* specs in header format are located in the 'import'
directory of the package.

