Skip to content

KDSoap 1.5.0 released - a web service access package for Qt applications

kdsoap128KDSoap is a tool for creating client applications for web services without the need for any further component such as a dedicated web server.

KDSoap lets you interact with applications which have APIs that can be exported as SOAP objects. The web service then provides a machine-accessible interface to its functionality via HTTP.

You can now download KDSoap 1.5.0 with the following updated and new features:

Client-side

  • Added WS Addressing Support

Server-side

  • Added support for requests using chunked transfer encoding in KDSoap Server.
    • The full message is assembled before being passed on for processing.
  • Optimized parsing of large incoming requests so that headers are parsed only once.
  • Provided a new way of treating incoming requests: the server object can receive raw XML incrementally and parse it itself, e.g. to avoid building up the full request in memory, in case of very large requests. See KDSoapServerRawXMLInterface.
  • Renamed request and response to _request and _response in order to avoid clashes with variable names coming from the WSDL.
  • Added missing fwd decls for the args used in server methods.
  • Fixed parsing of Content-Type header to support spaces after ‘;’ and double-quotes around the value (SOAP-112)

WSDL parser / code generator changes

applying to both client and server side

  • Source incompatible change: methods that return an optional polymorphic type will now return a pointer instead of a const reference. Null references lead to crashes and therefore the change was unavoidable.
  • Implemented a more robust search for some namespace prefixes.
    • Important: this can rename some generated classes from __Class to PREFIX__Class. This source incompatible change was necessary to fix clashes between unprefixed classes coming from different namespaces, in some WSDL files.
  • Namespace on portType is parsed correctly
  • Fixed infinite recursion when type A contains a member A with minoccurs=0
  • Improved generated code so that it compiles without warnings when enabling -Wshadow
  • Fixed KDSoapJob return message deserializing in RPC mode.
    • The generated code in the slot wasn’t unwrapping the wrapper element. As a result the return object was all default-constructed, for lack of finding the right elements in the reply.
  • Added missing builtin type xsd:QName.
  • Fixed erroneous “class qint64;” declaration in generated code for wsdl:arrayType=”xsd:integer[]”
  • Fixed elements being incorrectly-marked-as-nil when copying generated classes (issue72).
  • Leading/trailing space in definition of soapAction are ignored.
  • Attributes without a type (default to anySimpleType) are properly handled.
  • Generated correct C++ code in case of special characters like ‘-‘ in operation names.
  • Avoided generating duplicate methods when the complexType uses choice with the same elements in various choices
  • Relative paths to schemas being imported or included are now resolved based on the location of the parent file rather than the location of the toplevel WSDL file.
  • Find out more and how to download KDSoap here.

Categories: KDAB Blogs / News / Tooling