Elektron WebSocket API enables easy integration into a multitude of client technology environments such as scripting and web.  This API runs directly on your TREP infrastructure or the Thomson Reuters platform and presents data in an open (JSON) readable format. The API supports all Thomson Reuters Elektron data models and can be integrated into multiple client technology standards e.g. JavaScript, Python, R, .Net etc.

The rmdstestclient tool is a general purpose Elektron consumer application. Its basic functionality is to load a list of RICs from file and request data of them from Elektron source like the ADS server, EZD server, EMA server and Elektron SDK OMM Provider.

This article shows how to use the ADS 3.2's rmdstestclient tool to verify and testing the Elektron WebSocket connection and subscription.

*Note: The initial release of this API is for deployed TREP customers only (i.e. to use it you will need an installed version of TREP 3.2).

WebSocket Overview

WebSocket specification defines an API that enables web pages to use the WebSockets protocol for two-way communication with a remote host. It introduces the WebSocket interface and defines a full-duplex communication channel that operates through a single socket over the Web. This specification also later applied to other client technology sides like Python, Ruby, Go, Java etc.

Figure-1: WebSocket connection diagram

rmdstestclient tool Overview

The rmdstestclient is a command line tool bundled with ADS server 3.2 package. It supports various ADS connection types (RSSL, WebSocket, etc), various Thomson Reuters Domain data (Market Price, Market By Price, Market By Order, etc). This tool is perfect for verifying the ADS connection and subcsription. This tool is available at <ADS3.2 package>/<platform>/demo folder.

Figure-2: ADS 3.2 demo folder structure

Basic rmdstestclient arguments and how to run the tool

You can run rmdstestclient tool via the following steps:

  1. Goto  <ADS3.2 package>/<platform>/demo  folder via command line (from Linux terminal or any SSH applications)
  2. Export LD_LIBRARY_PATH to <ADS3.2 package>/<platform>/demo location via the following command
    $> export LD_LIBRARY_PATH=<ADS package>/<platform>/demo


  3. Create the item.txt file, then input the RIC name in each line


  4. Run the rmdstestclient tool via the following command
    $> ./rmdstestclient -S <ADS/EZD Service> -h <ADS/EZD IP Address or Hostname> -ct <Connection type> -p <ADS/EZD port> -l stdout -X -f item.txt -v -d 3 –Z –md <domain> –u <username>


You can run it with just ./rmdstestlcient command to get information of all command line argument that you can set with the tool.

Figure-2: rmdstestclient manual

How to connect rmdstestclient with Elektron WebSocket connection

Users can use  -ct ws_json2 -dfile <RDMFieldDictionary file> -p <WebSocket port> parameters to connect rmdstestclient with ADS WebSocket connection.

  • -ct ws_json2 parameter means specify the tool to connect to ADS via Elektron WebSocket connection
  • -dfile <RDMFieldDictionary file> is a required parameter when connecting via WebSocket connection . This parameter specify the Elektron's Dictionary RDMFieldDictionary file for rmdestestclient tool.
  • -p <WebSocket port> specify the ADS WebSocket port (this port can be configured in ADS server configurtions *ads*wsPort parameter)

Example command

$> ./rmdstestclient -h -p 17000 -S ELEKTRON_DD -ct ws_json2  -dfile ./RDMFieldDictionary -l stdout -X -f item.txt -v -d 3 –Z –md 6 –u api


Figure-4: rmdstestclient example


For any question related to this article or Elektron WebSocket API page, please use the Developer Community Q&A Forum.