Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • Elektron /
  • EMA /
avatar image
Question by hujunhu · Nov 05, 2017 at 10:58 PM · emaservicename

EMA Data Request: Available Services

consumer.registerClient(
	EmaFactory.createReqMsg()
			.serviceName("ELEKTRON_AD")
			.name("BB.TO"), 
			eventHandler
			);

I am trying to streaming data using the example posted at https://developers.thomsonreuters.com/elektron/elektron-sdk-java/learning?content=8738&type=learning_material_item

And I get the following error "Service name of 'ELEKTRON_AD' is not found"

Running tutorial 2...
Nov 06, 2017 11:53:15 AM com.thomsonreuters.ema.access.ChannelCallbackClient rea
ctorChannelEventCallback
INFO: loggerMsg
    ClientName: ChannelCallbackClient
    Severity: Info
    Text:    Received ChannelUp event on channel Channel
        Instance Name EmaConsumer_1
        Component Version ads2.6.12.L1.linux.tis.rrg 64-bit
loggerMsgEnd

StatusMsg
    streamId="0"
    domain="MarketPrice Domain"
    state="Closed / Suspect / None / 'Service name of 'ELEKTRON_AD' is not found
.'"
    name="BB.TO"
    serviceName="ELEKTRON_AD"
StatusMsgEnd

May I know all the available serviceName we can use and their differences? It's not mentioned in the tutorial.

Why does this error occur?

Thanks!

People who like this

0 Show 0
Comment
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

2 Replies

  • Sort: 
avatar image
REFINITIV
Best Answer
Answer by wasin.waeosri · Nov 06, 2017 at 03:00 AM

Hello @hujunhu,

Please be informed that the service name that you can subscribe data is based on your TREP infrastructure and your permission. I recommend you contact your local Market Data team or Thomson Reuters representative regarding the service name for your subscription.

You can get the service names available in your ADS/EZD by checking the EMA trace file. The trace file shows incoming/outgoing messages between the API and TREP infrastructure. Please note that it shows the list of your TREP available service names only, you need to check with your local Market Data team or Thomson Reuters representative to verify which service name that you have a permission to subscribe data.

You can enable the EMA trace file by setting <XmlTraceToStdout value="1"/> in the EmaConfig.xml file.

<DefaultConsumer value="Consumer_1"/>
    <ConsumerList>
        <Consumer>
            <!-- Name is mandatory                                                                        -->
            <Name value="Consumer_1"/>

            <!-- Channel is optional: defaulted to "RSSL_SOCKET + localhost + 14002"                    -->
            <!-- Channel or ChannelSet may be specified                                                    -->
            <Channel value="Channel_1"/>

            <!-- Dictionary is optional: defaulted to "ChannelDictionary"                                -->
            <Dictionary value="Dictionary_1"/>
            <XmlTraceToStdout value="1"/>
        </Consumer>

Then you can configure the application to load EmaConfig.xml file by the following code

String configFile = "<path to config>\\EmaConfig.xml";
consumer  = EmaFactory.createOmmConsumer(EmaFactory.createOmmConsumerConfig(configFile).host("your ADS IP:RSSL Port").username("user"));

The service names are available in SOURCE REFRESH Response message from TREP. You can find the service name in <elementEntry name="Name" dataType="ASCII_STRING" data="[SERVICE Name]"/> messages. Please see example from my TREP below:

<!-- Incoming Reactor message -->
<!-- java.nio.channels.SocketChannel[connected local=/10.42.68.162:64234 remote=/172.20.33.30:14002] -->
<!-- Mon Nov 06 14:29:52 ICT 2017 -->
<!-- rwfMajorVer="14" rwfMinorVer="1" -->
<REFRESH domainType="SOURCE" streamId="2" containerType="MAP" flags="0x168 (HAS_MSG_KEY|SOLICITED|REFRESH_COMPLETE|CLEAR_CACHE)" groupId="0" State: Open/Ok/None - text: "" dataSize="1369">
    <key flags="0x08 (HAS_FILTER)" filter="63"/>
    <dataBody>
        <map flags="0x00" countHint="0" keyPrimitiveType="UINT" containerType="FILTER_LIST" >
            <mapEntry flags="0x00" action="ADD" key="50100" >
                <filterList containerType="ELEMENT_LIST" countHint="0" flags="0x00">
                    <filterEntry id="1" action="SET" flags="0x00" containerType="ELEMENT_LIST">
                        <elementList flags="0x08 (HAS_STANDARD_DATA)">
                            <elementEntry name="Name" dataType="ASCII_STRING" data="ELEKTRON_DD"/>
                            <elementEntry name="SupportsQoSRange" dataType="UINT" data="0"/>
                            <elementEntry name="Capabilities" dataType="ARRAY">
                                <array itemLength="1" primitiveType="UINT">
                                    <arrayEntry data="5"/>
                                    <arrayEntry data="6"/>
                                    <arrayEntry data="7"/>
                                    <arrayEntry data="8"/>
                                    <arrayEntry data="9"/>
                                    ....
                                </array>
                            </elementEntry>
                            <elementEntry name="QoS" dataType="ARRAY">
                                <array itemLength="0" primitiveType="QOS">
                                    <arrayEntry Qos: Realtime/TickByTick/Static - timeInfo: 0 - rateInfo: 0/>
                                </array>
                            </elementEntry>
                            ...
                </filterList>
            </mapEntry>
            <mapEntry flags="0x00" action="ADD" key="2115" >
                <filterList containerType="ELEMENT_LIST" countHint="0" flags="0x00">
                    <filterEntry id="1" action="SET" flags="0x00" containerType="ELEMENT_LIST">
                        <elementList flags="0x08 (HAS_STANDARD_DATA)">
                            <elementEntry name="Name" dataType="ASCII_STRING" data="ELEKTRON_AD"/>
                            <elementEntry name="SupportsQoSRange" dataType="UINT" data="0"/>
                            <elementEntry name="Capabilities" dataType="ARRAY">
                                <array itemLength="1" primitiveType="UINT">
                                    <arrayEntry data="5"/>
                                    <arrayEntry data="6"/>
                                    <arrayEntry data="7"/>
                                    <arrayEntry data="8"/>
                                    <arrayEntry data="9"/>
                                    <arrayEntry data="10"/>
                                   ...
                                </array>
                            </elementEntry>
                            ...
                </filterList>
            </mapEntry>
            ....
            </mapEntry>
        </map>
    </dataBody>
</REFRESH>
Comment
hujunhu

People who like this

1 Show 1 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
hujunhu · Nov 14, 2017 at 04:25 AM 0
Share

Thanks for your answer. @Wasin Waeosri

avatar image
REFINITIV
Answer by Jonathan.Haruni.Refinitiv · Nov 06, 2017 at 04:16 PM

Hi @hujunhu,

For most Elektron services provided directly by Thomson Reuters to your application, the service name is either ELEKTRON_DD, ELEKTRON_EDGE, or hEDD. Speak with your Technical Account Manager if you are unsure.

For larger customers operating their own TREP, developers should check with their Market Data department to ensure they connect to the right service. Not just the right service name but the right infrastructure for non-production work. That said, a lot of customers name their Elektron feed "IDN_SELECTFEED".

The technical method provided in the previous answer is useful to verify what services are available, but if you see more than one service you need to talk to the provider (Thomson Reuters or your Market Data department) to ensure you use the right one.

NOTE: In all cases where you receive sample source code from Thomson Reuters or other places, you must override the connection parameters (service hostname/IP, service port, service name, user name). These depend on the service you are subscribing to and cannot be copied from source code examples.

Comment
hujunhu

People who like this

1 Show 1 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
hujunhu · Nov 14, 2017 at 04:26 AM 0
Share

Thanks for your explanation. @Jonathan Haruni

Watch this question

Add to watch list
Add to your watch list to receive emailed updates for this question. Too many emails? Change your settings >
11 People are following this question.

Related Questions

UpdateMsg.toString() generates coredump

Read EMAconfig.xml from custom path

TREP API connectivity failover issues

Not able to access link in EMA website

EMA Webinar Nov 2: Does EMA provide a replacement for TS1 for historical data?

  • Feedback
  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Careers
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Calais
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • Refinitiv Data Platform
    • Refinitiv Data Platform Libraries
  • Rose's Space
  • Screening
    • Qual-ID API
    • Screening Deployed
    • Screening Online
    • World-Check One
    • World-Check One Zero Footprint
  • Side by Side Integration API
  • TR Knowledge Graph
  • TREP APIs
    • CAT
    • DACS Station
    • Open DACS
    • RFA
    • UPA
  • TREP Infrastructure
  • TRIT
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • World-Check Data File
  • Explore
  • Tags
  • Questions
  • Badges