gSOAP Toolkit Features
High-level programmatic interface. gSOAP supports both SOAP-centric and C/C++ language-centric approaches to Web service development by supporting industry-standard WSDL specifications and standard C/C++ header files to define service components. |
Legacy application integration. gSOAP supports the conversion of C/C++ applications into Web services and clients. Existing application functions can be easily turned into Web service methods. |
Platform independence. gSOAP is open source and platform independent. Applications run on Linux, Unix, Irix, MS Windows 98/2000/NT/XP/CE, Palm OS, Mac OS X, and so on. |
Stand-alone services. gSOAP let developers deploy stand-alone, multithreaded, services that communicate directly over TCP/IP. It also supports services based on CGI, Fast-CGI, Apache mod, and Isapi. |
High-performance XML parsing. The toolkit adopts a novel schema-driven streaming XML parsing method that translates XML directly into application data and vice versa. It supports saving and restoring C/C++ data structures in XML format. Streaming XML parsing supports fast Web services and clients. |
ANSI C and C++ language support. The toolkit supports services and clients written in C and C++. It even lets you mix C with C++ code. The encoding supports single class inheritance, dynamic binding, overloading, arbitrary pointer structures such as lists, trees, graphs, cyclic graphs, fixed-size arrays, (multi-dimensional) dynamic arrays, enumerations, bitmasks, base64 encoding, hexBinary encoding, and user-defined types. |
Integrated development environment add-on. You can use the toolkit as a preprocessing or custom-build step within an integrated development environment such as Microsoft Visual Studio or Borland C++. |
Protocols. gSOAP supports HTTP/1.0 fully and 1.1 partially, including HTTP cookies, proxies, authentication (basic), HTTPS/SSL encryption and authentication, and Zlib compression. It also supports WSDL 1.1, SOAP 1.1/1.2, and streaming DIME attachments. |
Proven interoperability. Interoperability testing was performed with numerous SOAP implementations such as .NET, WCF, Apache Axis, GLUE, SOAP::Lite, and so on. |
Flexible transport layer. gSOAP provides callbacks to customize transport layers. |
Automatic memory management. gSOAP supports garbage collection strategies. |
Embedded systems. gSOAP service and client applications include the full TCP/IP, HTTP, and SOAP/XML stacks. Executables have a small memory footprint (150300 Kbytes for small-scale applications). |
Real-time systems. gSOAP is fast and gSOAP's memory allocation and deallocation is easy to control, which is important for timing constraints in real-time systems. |
Consistency of data. gSOAP preserves the structural consistency of data transmitted between clients and services. gSOAP-generated algorithms analyze object graphs at runtime to detect co-referenced objects and graph cycles. The object graph on the receiving side will be an exact copy of the original object graph. |
Plug-in (de)serializers. Support for user-defined SOAP/XML data (de)serializers. |
Examples. Numerous examples are included in the distribution package, such as an SSL secure server and client, a remote object factory, a one-way message event handler, a router, a streaming MIME server and client, WS-Security demo, WS-ReliableMessaging demo, WS-Addressing demo, and so on.
|