Overview

Development toolkit for Web Services and XML data bindings for C & C++

Read More

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++ (and C++11/C++14). Serializes native application data in XML. Includes WSDL/XSD schema binding and auto-coding tools, stub/skeleton compiler, Web servers (with SSL), integrated XML processing with schema validation, fast MIME/MTOM streaming, SOAP and REST (.NET WCF compatible), WS-* protocols (WS-Security, WS-Policy, WS-ReliableMessaging, etc), XML-RPC and JSON. Licensed under GPLv2. Commercial licensing options available starting under 1K.

Features

  • Web services development tools, interoperates with .NET WCF, J2EE, Apache Axis, etc.
  • Fast, compact, and portable (runs on small & embedded devices)
  • XML data binding tools for C and C++ (and C++11)
  • XML schema to C/C++ type binding means XML and C/C++ data is always type safe
  • XML serialization of C/C++ data (true serialization, including data graphs!)
  • QT types serialization in XML (QT primitive types and containers)
  • WSDL 1.1/2.0, XSD 1.0/1.1 SOAP 1.1/1.2 compliant
  • WADL (REST XML apps) for C and C++
  • WS-Security XML authentication, signatures, encryption (also in streaming mode)
  • WS-Trust with SAML 1.0/2.0 tokens
  • WS-Policy 1.2, 1.5 and WS-SecurityPolicy 1.2 compliant
  • WS-Addressing 2003/03, 2004/03, 2005/03 compliant
  • WS-ReliableMessaging 1.0 and 1.1 compliant
  • WS-Discovery 1.0/1.1
  • jsoncpp tool: generates C or C++ for JSON & JSONPath queries
  • domcpp tool: generates C or C++ DOM code for XML & XPath queries
  • REST JSON and JSON RPC for C and C++
  • JSON conversion to/from XML-RPC for C and C++
  • REST HTTP(S) 1.0/1.1 operations (GET,PUT,POST etc) for XML, JSON, etc
  • Flexible IO: send and receive XML over sockets, file FD, and C++ streams
  • WS-I Basic Profile 1.0a, 1.1, and 1.2 compliant
  • W3C schema patterns for data binding full test pattern coverage
  • MIME and MTOM attachment support (also in streaming mode)
  • UDDI v2 API
  • NTLM authentication
  • HTTP basic and digest authentication
  • SSL/TLS with SSL session caching (OpenSSL, GNUTLS, SystemSSL)
  • Proxy and proxy authentication support
  • Compression (HTTP compression and zlib)
  • IPv4 and IPv6, including direct TCP and UDP data transfer
  • SOAP-over-UDP
  • RSS 0.91, 0.92, 2.0 XML support
  • Apache 1.x and 2.0 modules
  • IIS (ISAPI) and WinInet modules
  • CGI and FastCGI support
  • Stand-alone Web server included (multithreaded, SSL, compression)
  • Integrated memory management with deallocation and leak detection
  • Plug-ins for additional capabilities
  • Internationalization/localization support (UTF8, UCS4, MB encodings, etc)
  • WSDL/XSD conversion to C or C++ and vice versa
  • Auto-test server code generation for (dummy) server testing
  • Automatic XML document and message generation from WSDL and XSD
  • C/C++ (cyclic) object graph auto-serialization (with id-ref)
  • STL container auto-serialization and custom C++ container auto-serialization
  • Over 40 example client and server applications included
  • 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)

KEEP ME UPDATED

Reviews (37)

Write a Review

Highest Rated

1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

Nice! Strongly recommend it for all XML Web Services related projects.

vs

Lowest Rated

1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

I am not able to see the video of these tutorials. If I could it is really a good job

1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

Good project, good product overall. Shitty documentation. I have to say, first, that I'm using GSoap on a C project, not a C++ one. So I can't talk about the C++ aspects. It's not very intuitive working with GSoap at first (at least when taking the WSDL files, without knowing how that works - I had to find the RIGHT wsdl to use, and the like). However, I ended up with nice sources and headers, generated from the WSDL, so that's nice. The "namespace binding" file could be named as a header, which would make it more obvious that it MUST be included, too. But, there again, it's not that hard to figure out. However, right now, I'm struggling to send custom Faults, using the built-in fault mechanism. The documentation is happy to tell you which functions to call to send DEFAULT faults ("sender" and "receiver" faults). However, I need to send faults described in the WSDL file, and NOWHERE IN THE DOC am I able to find the right information about how to do that. Which means that I'm now downloading the SOURCE CODE for the project, in the hope of being able to find how they do it for the "standard" faults, and replicate the procedure for the custom faults. ALL BECAUSE OF A LACK OF (GOOD) DOCUMENTATION. More generally, I find the documentation to be made more of a collection of examples on how to do something or something else, but without a "basic" documentation describing the underlying logic, for instance, or which function does what. It's basically an incomplete tutorial, and it is infuriating. So, maybe I've missed obvious things, maybe I'm a moron, but... when the only places where a mechanism is mentioned discuss problems unrelated to the one I'm having, I can't help but feel lost. To sum it up, this project would deserve 4 or 5 stars with a good documentation. But, in its current state, with the documentation found on the Genivia website (www.genivia.com/doc/soapdoc2.html), I won't give more than 3 stars. Hope this helps.

Posted 04/19/2017
1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

good project, used it long ago.

Posted 03/19/2015
1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

very good

Posted 11/12/2014
1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

Works fast. Can manage pretty massive data volume. Highly recommended.

Posted 05/14/2013
1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

It saves my time. highly recommended

Posted 05/13/2013
All Reviews

Thanks for helping keep SourceForge clean.

Screenshot instructions:
Windows
Mac
Red Hat Linux   Ubuntu

Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies
X

Briefly describe the problem (required):

Upload screenshot of ad (required):
Select a file, or drag & drop file here.

Please provide the ad click URL, if possible:

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks