gSOAP Changelog

What's new in gSOAP 2.8.16

Aug 26, 2013
  • Improved support for Android platform.
  • Improved WCF interop duplex messaging requiring ChannelInstances.
  • Fixed complexType restriction of schema types with redefined attributes in wsdl2h output.
  • Fixed wcf/WS/DualHttp example (wrong use of send_X() replaced by X() for client-side operations X, to allow HTTP keep-alive to be used).
  • Fixed use of sprintf's that trigger Valgrind and Fortify warnings.
  • Fixed parsing character strings from CDATA sections ending in ']'.
  • Fixed DOM output for SOAP_XML_CANONICAL c14n normalization of xmlns namespace bindings.

New in gSOAP 2.8.15 (Aug 26, 2013)

  • Added wsdl2h option -R for auto-generation of REST-based service operations (also added examples/rest example).
  • Change soap_read_X() and soap_write_X() to prevent removal of HTTP headers after calling soap_connect().
  • Fixed automatic detection of DIME/MIME transfers.
  • Fixed HTTP 1.0 chunking issue.
  • Fixed HTTP digest authentication with DIME/MIME transfers.
  • Fixed OpenSSL subject alt name check.
  • Fixed HTTP 100 message handling issue.

New in gSOAP 2.8.14 (Aug 26, 2013)

  • Added explanation of wsdl2h option -Nname which is used to generate a service (and its prefix name) for each service binding (bindings are collected in one service by default).
  • Fixed PRId64 formatting.
  • Fixed broken MIME with doc/lit (when SOAP encodingStyle is not used).

New in gSOAP 2.8.13 (Jan 22, 2013)

  • Improved XML-RPC/JSON API and documentation, with one change: now must use SOAP_C_UTFSTRING to hold UTF8 in 8-bit strings.
  • Improved VxWorks compatibility.
  • Updated soap_read_X and soap_write_X to serialize object graphs with SOAP encoding enabled: use soap_set_version(soap, V) with V=0 (no SOAP), V=1 (SOAP1.1), V=2 (SOAP1.2).
  • Fixed broken WSDL nested schema XSD import.
  • Fixed operation action overriding by input/output SOAP action.
  • Deprecated old-style C++ service proxies and objects (use soapcpp2 -z1 flag to generate).

New in gSOAP 2.8.12 (Dec 20, 2012)

  • Added WSDL 2.0 support to wsdl2h.
  • Added //gsoap method-protocol directive.
  • Improved XML REST support, soapcpp2 -0 option for "no-SOAP" services.
  • Improved class instantiation with soap_new_X, soap_new_set_X, soap_new_req_X.
  • Improved soapcpp2 -b option.
  • Improved WCF WS-Addressing interop (duplex) channel.
  • Changed code to normalize in/out MEP for solicit-response messaging.
  • Fixed client-side OpenSSL host check that is known to crash in OpenSSL.

New in gSOAP 2.8.11 (Dec 20, 2012)

  • Added soapcpp2 -0 option to remove SOAP bindings when applicable.
  • Changed wsdl2h output for the few cases that multiple service bindings are defined, use wsdl2h -Nns for backward compatibility.
  • Improved DOM processing.
  • Fixed C++11 compatibility.
  • Fixed httpda plugin crash.
  • Fixed wsdl2h processing of xs:group maxOccurs=unbounded.
  • Fixed mod_gsoap plugin compilation issues.
  • Fixed literal XML UTF8 (UTF8 is now retained).

New in gSOAP 2.8.10 (Dec 20, 2012)

  • Added soapcpp2 -Q option (C++ namespaces).
  • Added wsdl2h -b option (bi-directional operations for duplex services).
  • Updated WS-Addressing and WS-ReliableMessaging plugins, documentation, and examples.

New in gSOAP 2.8.9 (Dec 20, 2012)

  • Added examples to interoperate with WCF basicHttp, basicTransportSecurity, basicMessageSecurity, and wsDualHttp.
  • Added soapcpp2 option -A for service dispatching based on Action values only.
  • Added wsdl2h option -z3.
  • Added wsse support for WS-SecureConversation.
  • Added wsrm5 WS-ReliableMessaging 1.0 2005.
  • Added iOS plugin with examples.
  • Improved WS-Policy analysis and reporting.
  • Fixed and improved wsse plugin for WS-Security interoperability with WCF and other implementations (required a small API change).
  • Fixed HTTP headers for NTLM.
  • Fixed httpda plugin OpenSSL init crash in md5evp.c.

New in gSOAP 2.8.8 (Dec 20, 2012)

  • REST plugin (httppost.c) enhancements and examples.
  • Additional static version checks to prevent linkage to old incompatible libraries that could lead to runtime failures.