The gSOAP toolkit is an extensive suite of portable C and C++ software to develop XML Web services with powerful type-safe XML data bindings. Easy-to-use code-generator tools allow you to directly integrate XML data in C and C++. Serializes native application data in XML. Includes WSDL/XSD schema binding and auto-coding tools, stub/skeleton compiler, Web server integration with Apache module and IIS extension, high-performance XML processing with schema validation, fast MIME/MTOM streaming, SOAP and REST Web API development, WS-* protocols (WS-Security, WS-Policy, WS-ReliableMessaging, etc), XML-RPC and JSON. Licensed under GPLv2.

Visit the developer center with guides, tutorials, and examples at www.genivia.com/dev.html

The documentation of the toolkit, libraries, plugins and more is available at www.genivia.com/docs.html

Commercial-use licenses and expert technical support services are available at competitive pricing levels, please visit www.genivia.com/products.html

Features

  • Powerful Web services and Web API development tools for XML, SOAP/REST and JSON
  • Fast, compact, and portable (runs on small & embedded devices)
  • Offers C/C++ XML/SOAP Web services developments tools (client and server)
  • Offers C/C++ JSON libraries to develop JSON REST and JSON-RPC Web APIs (client and server)
  • Offers type-safe C/C++ XML serialization with XML data binding tools for C and C++
  • Includes over 40 example Web API client and server applications
  • Includes integrated memory management with leak detection
  • Includes new testmsgr tool: test messenger for (randomized) testing of services and clients
  • Includes new domcpp tool: generates C/C++ DOM code for XML & XPath queries
  • Includes new jsoncpp tool: generates C/C++ for JSON & JSONPath queries
  • Includes automatic XML document and message generation from WSDL and XSD
  • Includes auto-test server code generation for (dummy) server testing
  • Includes many plug-ins for additional capabilities such as message logging and stats
  • Includes cURL plugin to integrate gSOAP with cURL
  • Includes Apache 1.x and 2.0 modules to deploy Web APIs
  • Includes IIS (ISAPI) and WinInet modules to deploy Web APIs
  • Includes stand-alone Web server (multithreaded, SSL, compression)
  • Supports Qt type serialization in XML (e.g. Qt primitive types and containers)
  • Supports code generation for large and complex WSDLs and XSDs, such as ONVIF, AWS-S3, EWS, and more
  • Supports WS-Security XML authentication, signatures, encryption (also in streaming mode)
  • Supports WS-Trust with SAML 1.0/2.0 tokens
  • Supports WS-Policy 1.2, 1.5 and WS-SecurityPolicy 1.2 compliant
  • Supports WS-Addressing 2003/03, 2004/03, 2005/03 compliant
  • Supports WS-ReliableMessaging 1.0 and 1.1 compliant
  • Supports WS-Discovery 1.0/1.1
  • Supports JSON conversion to/from XML-RPC for C and C++
  • Supports REST HTTP(S) 1.0/1.1 operations (GET,PUT,POST etc) for XML, JSON, etc
  • Supports flexible IO: send and receive XML over sockets, file FD, and C++ streams
  • Supports MIME and MTOM attachments (also in streaming mode)
  • Supports UDDI v2 API
  • Supports NTLM authentication
  • Supports HTTP basic and digest authentication
  • Supports HTTP cookies RFC 6265
  • Supports SSL/TLS with SSL session caching (OpenSSL, GNUTLS, SystemSSL)
  • Supports proxy and proxy authentication support
  • Supports compression (HTTP compression and zlib)
  • Supports IPv4 and IPv6, including direct TCP and UDP data transfer
  • Supports SOAP-over-UDP
  • Supports CGI and FastCGI
  • Supports internationalization/localization (UTF8, UCS4, MB encodings, etc)
  • Supports WSDL/XSD conversion to C/C++ and vice versa
  • Supports C/C++ (cyclic) object graph auto-serialization (with id-ref)
  • Supports custom C/C++ type serialization functions
  • Compliant with W3C schema patterns for data binding full test pattern coverage
  • Compliant with WS-I Basic Profile 1.0a, 1.1, and 1.2
  • Compliant with WSDL 1.1/2.0, XSD 1.0/1.1 SOAP 1.1/1.2 compliant
  • Compliant with WADL (REST XML apps) for C and C++
  • Compliant with JSON standard RFC 7159
  • Licenses: GPLv2, gSOAP public license (for engine and plugins), commercial non-GPL license available upon request (software is 100% in-house developed, no third-party GPL contributions included)

Project Samples

Project Activity

See All Activity >

License

Other License, GNU General Public License version 2.0 (GPLv2)

Follow gSOAP Toolkit

gSOAP Toolkit Web Site

Other Useful Business Software
Innovate faster with enterprise-ready generative AI—enhanced by Gemini Icon
Innovate faster with enterprise-ready generative AI—enhanced by Gemini

Build, deploy, and scale machine learning (ML) models faster, with fully managed ML tools for any use case.

Vertex AI offers everything you need to build and use generative AI—from AI solutions, to Search and Conversation, to 130+ foundation models, to a unified AI platform.
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
35
0
1
1
1
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5

User Reviews

  • Great tool to build web services driven by XML data. A lot of code generation is automated.
  • Thanks developers for this beautiful ToolKit!!!
  • Very powerful toolset that can handle just about anything you throw at it. Has flags for many different options/features. And it was easy to extend -- I wrote a custom plugin (for session management using cookies) without much trouble. I also used gSOAP to connect to AWS S3. The documentation has everything you need in it (and more!), but to get started the only necessity is the examples. If you run into any trouble, Robert (the developer / maintainer) is quick to respond with advice or patches.
    1 user found this review helpful.
  • EDIT: The user guide is updated to a new format! I'm happy to receive honest feedback to make gSOAP better. I do wonder though if the last two reviewers who gave 2-3 stars checked out the new web site's documentation, submitted a support request or otherwise contacted me directly? As far as records show, these folks have never asked questions using the available support channels. The new site www.genivia.com/dev.html has up-to-date documentation, tutorials, and examples. Also, a technical support ticket system is offered at www.genivia.com/contact.html for assistance. The Yahoo gSOAP mailing list is still maintained, but it is not active because most developers have moved on to use StackOverflow to get help with gSOAP or they contact Genivia directly. I do not know why the reviews missed the point that the software is not only for SOAP. In fact, REST with XML and JSON is working fine too. And gSOAP handles XML for HUGE web services. There are lots of resources available for gSOAP these days to get started and resolve issues (if any). Anyway, there is no need to give up that easily. Disclosure: this site has no review feedback system to address concerns, so I'm just adding my comment as a "review".
  • I would steer clear of the Community Version as support does not appear to exist. Some years ago - when the project was newer, ~some~ questions were answered . Now, the Yahoo group is silent with very little activity at all. It seems a message there may be logged once per month. I attempted to use the package to interface with Oracle database functionality written sometime ago. I; myself, had worked with Oracle for about 15 years. The functionalities would require a significant number of rows to be returned to the calling program. When using the package, there was a requirement for memory to be allocated (in the form of malloc) on the server side (in order to support the return of data to the client). Supposedly, memory would be de-allocated by the software but - in reality, this does not appear to be the case and; services that work on the first, second or third calls fail (intermittently) on subsequent calls. As of now, the preference in the market place is for the use of REST. The package was chosen initially because it allowed for the upload of images and mp3 files to a server. Again, the instructions to make such functionality take place were unclear and there were portions of the documentation - required to make things "work" that were missing.You were not made aware of this fact until you opened a message on the Yahoo site and received an answer - 2 weeks later. Even so, it was possible to get it working. Since one can use Google Drive, Amazon, et.al APis, other avenues can be explored and staying with gSOAP is no longer necessary. Perhaps the commercial version would be better; however, a phone call to the GSoap office today forwards one to an answering machine whereby the caller is encouraged to leave a message. I worked at NASA for a bit putting together code that tracked tile manufacturing (in support of shuttle missions) - so - I can say with some certainty that I am not the dullest pencil in the box. If you are using it for simple tasks, then I feel it would fit the bill. The "calc" samples worked really well. If you need to use it for a lot of data, then, based on ~my experience~ I would seek other options.
Read more reviews >

Additional Project Details

Operating Systems

Windows IoT, Palm OS, VxWorks, Symbian OS, QNX, uClinux, Linux, IBM AIX, OpenVMS, HP-UX, BSD, Apple iPhone, Windows

Languages

English

Intended Audience

Information Technology, Developers

Programming Language

C++, C

Related Categories

C++ XML Software, C++ Communications Software, C++ Code Generators, C++ Messaging Platform, C++ JSON Serialization Libraries, C XML Software, C Communications Software, C Code Generators, C Messaging Platform, C JSON Serialization Libraries

Registered

2002-05-03