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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
1 0 0 0

Websocket API Transport Stream Closed

Hi Team,

I have a customer trying to use Websocket API to retrieve real time data.

The application is being developed in Windows operating system, and the connection should be done to a local RTDS infrastructure.

According customer they have a successful telnet to RTDS machines in port 15000, but the connection from application to RTDS machines is always refused with below error message:

The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Authentication failed because the remote party has closed the transport stream.

Could you please help to understand what could be the reason to this behavior?

Thanks in advance.

Best Regards

Alfredo

#technology#productwebsocketsrefinitiv-real-timestreaming-data
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
22.6k 59 14 21

Hello @alfredo.brito01,

Can you please have the customer try one of the Websocket samples. If they are still having issues, please provide the complete logs. The error message seems to indicate that it is an Authentication issue - i.e. DACS ID is incorrect. For a local RTDS, their administrator can provide them with a valid DACS ID, which should be passed into the user parameter.

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 0

Hi Gurpreet,

There was a problem in the way the request was send out from machine because the request was sent through proxy and because that never reach RTDS machine.

Now that connection is established, they are receiving an error related with what seems a license need, but I never seen this license in RTDS infrastructure.

Do they really need a license like that to retrieve real time data from RTDS infrastructure when using websocket connection?

"Request Rejected: Cannot request snapshot batch or dynamic view due to unavailable SNAP_AND_DYNAMIC_VIEW license."

Best Regards,

Alfredo

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.

Yes, both snapshots and views features require an ADS license which allows it. They can however do a streaming request and not use views - a.k.a field filtering when sending the request. That request would work with any ADS license.
Upvotes
1 0 0 0

Hi Gurpreet,

Do you have a sample of a streaming request that could be shared with customer?

Best Regards,

Alfredo

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.

The websocket example linked in the first answer will issue a streaming request by default.

Upvotes
1 0 0 0

Hi Gurpreet,

Apparently, samples are not so "plug&play"... customer is trying to use batch sample and now they got a new error:

SENT:

{

"ID": 2,

"Key": {

"Name": [

"TRI.N",

"IBM.N",

"T.N"

]

},

"View": [

"BID",

"ASK",

"BIDSIZE"

]

}

RECEIVED:

[

{

"ID": 2,

"Type": "Status",

"State": {

"Stream": "Closed",

"Data": "Suspect",

"Code": "NotFound",

"Text": "Request Rejected: Key on Batch ItemList Request did not contain service Id."

}

}

]

In sample apparently there is no service ID defined in Key parameter:

requestJsonString = "{\"ID\":2,\"Key\":{\"Name\":[\"TRI.N\",\"IBM.N\",\"T.N\"]},\"View\":[\"BID\",\"ASK\",\"BIDSIZE\"]}";

Which service ID is expected to have included in the request?

Thanks & Regards,

Alfredo

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
22.6k 59 14 21

Hi @alfredo.brito01,

Its better to ask client to directly ask the question and engage with us. The samples are indeed plug and play - the user's RTMDS doesn't define a *ads*defaultJsonServiceId parameter in the ADS. So the user will have to explicitly specify which service they intend to request.

The request message should look like -

{
  "ID": 2,
  "Key": {
    "Name": ["TRI.N", "IBM.N", "T.N"],
    "Service": *****
  },
  "View": ["BID", "ASK", "BIDSIZE"]
}


I see that user is also requesting the view - and they don't have the license for it.

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 0

Hi Gurpreet,

They already have license FEATURE_34_SNAP_AND_DYNAMIC_VIEW activated in their RTDS-ADS system.

Regarding "Service", not clear if this is the name of real time service defined in RTDS (i.e. IDN_RDF) or something aleatory they can choose (a name or a number). Could you please clarify?

(I will ask them to start using Developers Portal Forum to raise their questions, but they are developers that are not aware about RTDS specifications and they need also some guidance when RTDS parameters are needed.)

Best Regards,

Alfredo

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.

Service parameter should be the name of defined service within ADS like "IDN_RDF", "ELEKTRON_DD" etc.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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