KD SOAP

As part of our commitment to cross-platform solutions, KDAB offers developers KD SOAP, a web service access package for Qt applications. KD SOAP is a tool for creating client applications for web services.

It makes it possible to 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.

The Problem

In today’s market, it is essential for application development to allow for Internet communication between programs. Applications are infinitely more useful when they can access web services to retrieve and exchange information.

Today’s applications communicate using Remote Procedure Calls (RPC) between objects like DCOM and CORBA. But RPC presents compatibility and security problems – for example, to access a remote service, the client computer must provide the program on the server with a certain argument. What if the program providing the service changes? What if that argument client provides becomes obsolete?

We run into another problem when firewalls and proxy servers block this kind of traffic all together (which they normally do). A more universal way for applications to communicate would be over HTTP, since HTTP is supported by all Internet browsers and servers – however, HTTP was not designed for these kinds of services.
SOAP provides us with an elegant solution.

A Better Way to Communicate

SOAP is a simple XML-based protocol that lets applications exchange information over HTTP. SOAP and web service applications provide another layer of abstraction as a way to ease communication between applications running on different operating systems, using different technologies and programming languages. And it lets you get around those firewalls.

A message sent via SOAP is in XML format. It is made up of three parts – an envelope, a header and a body. The envelope encapsulates the message header and body. It contains information needed for processing the message, including a description of the kind of data found inside the envelope. It also contains information about the sender and recipient of the message. Information in the headers can perform functions, such as providing authentication. The body of the message contains the actual data. The data might be a request for information – for example, when a service requestor is searching a service registry for a web service. Or it might be response to a request for information, such as when the registry sends back a service descriptor.

KD SOAP brings Simple Object Access Protocol to Qt

As part of our commitment to cross-platform solutions, KDAB offers developers KD SOAP, a web service access package for Qt applications.

KD SOAP is a tool for creating client applications for web services. It makes it possible to 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. The remote method calls are handled with the SOAP standard, which describes method calls, their parameters and return values as XML documents.

KD SOAP is used by a variety of programs for a variety of different purposes – for example, one application uses KD SOAP to access data from a CRM system such as SugarCRM or Salesforce.

Features

  • The KD SOAP library provides an abstraction layer for both the actual transport, as well as, the construction of data objects and method calls. (The latter relieves application developers from manually writing XML marshalling and demarshalling code, allowing them to build arbitrary complex data structures using simple C++ classes.)
  • The transport abstraction provides both synchronous as well as Qt signal/slot based asynchronous remote method call and response handling.
  • Along side the library, KDSoap ships with the kdwsdl2cpp code generator, providing additional means for increasing developer productivity by generating a proxy API for a target web service based on its formal WSDL service description. Using classes generated by this approach adds build-time type checking and “in process”-like object behavior (i.e. using C++ data types as parameters and return values of each of the web service’s methods).

Everything Included

KD SOAP licenses include:

  • The full source code
  • A reference manual
  • A programmer’s manual
  • Tutorial programs illustrating the techniques explained in the programmer’s manual
  • A 12-month support subscription which contains access to our email-based support (run by the KD SOAP developers). Additionally, you will get all new releases of the product, including minor and major releases.

Evaluation versions of KD Soap and KDAB’s other software products can be downloaded from: customers.kdab.com and documentation for all products at docs.kdab.com.