For a deeper look into our Elektron API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
1 0 0 1

node-js websocket sample market_price.js not working on ads version 3.5.3

We discovered node-js websocket sample market_price.js not working on ads version 3.5.3

Works fine with ads3.2

Also, Python samples work fine with both versions of ads

Thought this may prove useful to help others attempting/struggling with same.

websocketsnode-js
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
Accepted
31.9k 38 11 19

Hello @bhavesh.patel2 ,

I have tested with ADS 3.5. But there may be differences in setup between out testbed and your infrastructure, can not discount this possibility.

Let us try to verify the behavior, perhaps we can pinpoint the issue with code, or config.

I also have several versions of websocket examples on my machine, and may not have looked at the most recent of it.

Is your service named ELEKTRON_AD?

When I run the script without modification, the error I get is

RECEIVED:
[
  {
    "ID": 2,
    "Type": "Status",
    "Key": {
      "Service": 0,
      "Name": "TRI.N"
    },
    "State": {
      "Stream": "Closed",
      "Data": "Suspect",
      "Code": "SourceUnknown",
      "Text": "A18: Unknown service."
    }
  }
]

Is this what you see?

However, with the modification ( this time will include complete function to be certain:

function sendMarketPriceRequest()
{
var msg = '{"ID":2,"Key":{"Name":"TRI.N", "Service": "ELEKTRON_DD"}}';
_websocket.send(msg);
console.log("SENT:");
console.log(JSON.stringify(JSON.parse(msg), null, 2));
}

I get streaming content back. My service is named "ELEKTRON_DD"

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
31.9k 38 11 19

Hello @bhavesh.patel2 ,

Where you see in code node.js example market_price.js :

var msg = '{"ID":2,"Key":{"Name":"TRI.N"},' + '"Streaming":' + (!snapshot).toString() +'}';

You may wish to replace with

 var msg = '{"ID":2,"Key":{"Name":"TRI.N, "Service": "YOUR_VALID_SERVICE"},' + '"Streaming":' + (!snapshot).toString() +'}';

As newer syntax requiring service spec.

Let us know if this works as expected?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
1 0 0 1

Zoya,

Sorry, that did not work - I replaced with:

var msg = '{"ID":2,"Key":{"Name":"TRI.N", "Service":"ELEKTRON_AD"},' + '"Streaming":false}';


again, it works with ADS 3.2 but not 3.5



icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
16.9k 32 9 12

Hello @bhavesh.patel2

Could you please give us more details about the issue? Does the ADS server return an error message or Is the "Streaming: false" property not working?

I did a quick test with the market_price.js demo application and the ADS server version 3.5.3 L1.

function sendMarketPriceRequest()
{
    //var msg = '{"ID":2,"Key":{"Name":"/EUR="}}';
    var msg = `{"ID":2,"Key":{"Name":"/EUR=", "Service":"ELEKTRON_DD"}, "Streaming": ${false}}`;
    _websocket.send(msg);
    console.log("SENT:");
    console.log(JSON.stringify(JSON.parse(msg), null, 2));
}

The demo application gets a snapshot data back as expected.

SENT:
{
  "ID": 2,
  "Key": {
    "Name": "/EUR=",
    "Service": "ELEKTRON_DD"
  },
  "Streaming": false
}
RECEIVED:
[
  {
    "ID": 2,
    "Type": "Refresh",
    "Key": {
      "Service": "ELEKTRON_DD",
      


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvote
16.7k 43 12 19

Corroborating the previous answers; I just tested the latest NodeJS market price sample with ADS 3.5.3 and was able to get data without any modifications to the sample.

What is the error message you get?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.