The gSOAP toolkit started as a research project at the
Florida State University by professor Robert van Engelen in 1999. The project introduced new methods and serialization of C/C++ data directly in
XML and later also in
SOAP. The project succeeded at defining
type-safe data bindings between
XML Schema types and a wide variety of
C/C++ data types. The toolkit uses
automatic programming to simplify the development and invocation of Web services using efficient auto-generated XML serializers to send and receive C/C++ data directly. A domain-specific compiler-based tool generates source code that efficiently converts native C/C++ data structures to XML and back. The toolkit was further developed to support the SOAP web services messaging protocol, introduced at around the same time, therefore the name "
gSOAP" (
generic XML and
SOAP) and to use the approach for scientific data exchange. Further development and maintenance of the software took place under ownership of Genivia Inc. This includes the addition of new
WSDL and
XML Schema processing capabilities as well as the addition of many WS-* web services protocol capabilities such as WS-Security optimizations,
XML-RPC messaging, support for the
JSON data format, plugin modules to integrate gSOAP in Apache and IIS web servers, and third-party plugins such as for Grid Services. The gSOAP toolkit is written in portable C/C++ and uses a form of
bootstrapping by generating its own code to implement a converter to translate WSDL/XSD specifications to C/C++ source code for WSDL/XSD meta-data bindings. The gSOAP software is licensed under the GPLv2 open source license and commercial-use source code licenses. The gSOAP software is widely used in industrial projects and mission-critical infrastructures. == XML web service operations by example ==