Working with DQC Web Services

Reported for version 10

When working on a plan in DQC, you may come to a point when you need to publish a plan or a component as an online web service. This may occur e.g. when using real-time validation, doing searching and processing tasks or accomplishing comparable performances. The communication through an online web service is done via requests sent over a protocol. There is a variety of services and their protocols which may be used in DQC. 

What types of web services are supported in DQC?

There is a range of web services which DQC supports. They are as follows: 

  • SOAP over HTTP
  • JSON HTTP service
  • CSV HTTP service
  • XML HTTP service
  • SOAP over JMS

DQC supports REST API as well (which is done via JSON over HTTP). However, as REST includes CRUD philosophy, its usage may occur too extensive to be used with tools provided by DQC. 

What does service style field mean?

Service style describes how many records can be sent to or received from an online service.

  • Single record service means that only one record can be sent and received in a response.
  • Single record in, multiple records out means that only one record can be sent although multiple records received.
  • Multi-record service means that many records can be sent and received in one request. 

When working with Multi-record service in the online service, there is no parameter which would restrict the maximum number of records. Therefore you need to keep an eye on the number of queries by yourself.

Debugging DQC online service using JSON service type 

When working specifically with JSON service over HTTP after creating a DQC online service, you need to manually define proper JSON request string that you can send to the service in order to use or test it.

For example, you have 2 input parameters for your online service:

  • first_name
  • last_name

In this case, the proper JSON request will look like this: 

{ in :
      {
        first_name: "your_value",
        last_name: "your_value",
      }
}

If you use Multi-record service style the JSON request should be built in the way where you send an array of JSON requests:

{ in : [ 
         {
           first_name: "your_value",
           last_name: "your_value",
         } ,
         {
           first_name: "your_value",
           last_name: "your_value",
         }
       ]
}

Please note that the square brackets must be a part of every query since for Multiple records service you need to provide an array of JSON objects. To actually test a component in DQC IDE, open your online component in the IDE:  

Then use Web Service Test Editor which you are able to open after starting your online component. In the editor, you can send requests and debug the performance of the online service you use.