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.
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
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.