question

Upvotes
Accepted

What is the right "service name" to use with the Elektron API?

What is the right "service name" to use with the Elektron API? We are building a streaming service using the Elektron Java SDK. We have used the "example100__MarketPrice__Streaming" example code, provided as part of the SDK download, to get started. This code sets up a request for a RIC code using a service name of "DIRECT_FEED", as in the code snippet below: consumer.registerClient(reqMsg.serviceName("DIRECT_FEED").name("IBM.N"), appClient); The above uses a service name of "DIRECT_FEED". However, the tutorial on the Developer Community website has similar code, but uses a service name of "ELEKTRON_AD": https://developers.refinitiv.com/elektron/elektron-sdk-java/learning?content=42995&type=learning_material_item The API concepts guide says "A consumer subscribes to a service or service ID that in turn maps to a service name in the Source Directory". Searching the reference documentation for EMA only says things like "ServiceName: Required. Specifies the name of the service from which the consumer wishes to request the item". It appears that none of the tutorials or documentation explain what a service name actually is, nor provides a list of them. As such, we have no idea what service name to use in order to get streaming prices. Please do tell us what the appropriate service name is that we should be using for our requirements, which are to stream prices for various futures contracts.

elektronrefinitiv-realtimeelektron-sdkema-apirrtelektron-message-api
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.

Hello @Laarni Evelyn Acierto.Santiago,

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?

If so please can you click the 'Accept' text next to the appropriate reply. This will guide all community members who have a similar question.

Thanks,

AHS

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,

AHS

Upvotes
Accepted
25.3k 87 12 25

Hi @Laarni Evelyn Acierto.Santiago

The servicename is determined by the server they are connecting to.

The example 100 would typically connect to a deployed ADS server - in which case the developer will need to contact their local Market Data team to confirm which service name to use. Typically it would be something like 'ELEKTRON_DD' or 'ELEKTRON_AD' and some clients may still be using legacy names for elektron realtime such as 'IDN_RDF' or 'IDN_SELECTEED'

The example uses 'DIRECT_FEED' by default so that the developer can also run a Provider example locally (e.g. iprovider.series100.example100__MarketPrice__Streaming) and consume dummy data from the Provider which publishes the dummy data - they would use this 'direct connect' setup in the absence of a realtime feed or when just testing the consumer locally.

If, however, they are trying to connect Elektron Realtime in Cloud, then they would need to use example consumer 'example113__MarketPrice__SessionManagement' - which defaults to 'ELEKTRON_DD' which is a service name currently used by ERT in Cloud.

NOTE: if they are connecting to ERT in Cloud, then they should also refer to the ERT in Cloud Quick Start for EMA Java

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
9.6k 10 7 7

Hello @Laarni Evelyn Acierto.Santiago

You should ask the team who give you the server ip/name e.g. Refinitiv Account team or local Market Data team. The team should have the service name which your application can get data from.

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.

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.