Error occurred while running RTO consumer - Failed to request service discovery information.
Hi,
I am using RTSDK for streaming real time prices but I get below error when I run my consumer. I am using Authentication version v2. I am able to successfully login using the curl command. I have required licenses also in place under my service account. Can you help why the failure. Is it something related to license where license does not have all the scope assigned. Adding code snippets for more details. TIA
com.refinitiv.ema.access.OmmInvalidUsageExceptionImpl: loggerMsg
ClientName: ChannelCallbackClient
Severity: Error
Text: Failed to add RsslChannel(s) to RsslReactor. Channel name(s) Channel_1
Instance Name Consumer_1_1
RsslReactor @17ffd08b
RsslChannel null
Error Id -1
Internal sysError 0
Error Location RestReactor.submitServiceDiscoveryRequestBlocking
Error Text Failed to request service discovery information. Text: {"error":{"id":"04319d5b-e04e-4a0c-8c57-8389bbb7c9bd","code":"insufficient_scope","message":"access denied. Scopes required to access the resource: [trapi.streaming.pricing.read]. Missing scopes: [trapi.streaming.pricing.read]","status":"Forbidden"}}
loggerMsgEnd
Map elementMap = EmaFactory.createMap();
ElementList elementList = EmaFactory.createElementList();
ElementList innerElementList = EmaFactory.createElementList();
innerElementList.add(EmaFactory.createElementEntry().ascii("Channel", "Channel_1"));
innerElementList.add(EmaFactory.createElementEntry().ascii("Dictionary", "Dictionary_1"));
elementMap.add(EmaFactory.createMapEntry().keyAscii("Consumer_1", MapEntry.MapAction.ADD, innerElementList));
innerElementList.clear();
elementList.add(EmaFactory.createElementEntry().map("ConsumerList", elementMap));
elementMap.clear();
configDb.add(EmaFactory.createMapEntry().keyAscii("ConsumerGroup", MapEntry.MapAction.ADD, elementList));
elementList.clear();
innerElementList.add(EmaFactory.createElementEntry().ascii("ChannelType", "ChannelType::RSSL_ENCRYPTED"));
innerElementList.add(EmaFactory.createElementEntry().intValue("EnableSessionManagement", 1));
elementMap.add(EmaFactory.createMapEntry().keyAscii("Channel_1", MapEntry.MapAction.ADD, innerElementList));
innerElementList.clear();
elementList.add(EmaFactory.createElementEntry().map("ChannelList", elementMap));
elementMap.clear();
configDb.add(EmaFactory.createMapEntry().keyAscii("ChannelGroup", MapEntry.MapAction.ADD, elementList));
elementList.clear();
consumer = EmaFactory.createOmmConsumer(
config.consumerName("Consumer_1")
.clientId(RtoConsumerConfig.clientId)
.clientSecret(RtoConsumerConfig.clientSecret)
.config(configDb)
Best Answer
-
Hello @anna.h
Does your machine network policy/firewall block a connection to the RTO server?
You can try with the telnet command from the same machine that encountered the issue as follow:
telnet ap-southeast-1-aws-3-sm.optimized-pricing-api.refinitiv.net 14002
If the connect success, it should show the following empty prompt like this.
0
Answers
-
Hi @anna.h ,
Based on your description and the error message, it would appear that the licences attached to your MachineID have been changed or expired.
Are you on a trial account or full production account?
If this is for a full Production account, I recommend you raise a ticket with MyAccount for the RTO service
If, however, you are on a Trial account, then please speak to your Refinitiv account representative to discuss extending the trial or other options.
0 -
Thanks for the quick response. I am on a trial account. I checked the license details and it's start date is today and it ends one month from now.
0 -
The account is valid but it doesn't have the trapi.streaming.pricing.read scope which is required when requesint the real-time streaming data.
{"error":{"id":"04319d5b-e04e-4a0c-8c57-8389bbb7c9bd","code":"insufficient_scope","message":"access denied. Scopes required to access the resource: [trapi.streaming.pricing.read]. Missing scopes: [trapi.streaming.pricing.read]","status":"Forbidden"}}
Please contact your LSEG account team or sales team to verify the permission.
0 -
The previous error seems to have got resolved. I am able to get all the locations using curl (https://api.refinitiv.com/streaming/pricing/v1/) but only via cmd.
When I run my code I get below error. Can you help here please.
Oct 03, 2024 2:18:13 PM com.refinitiv.ema.access.OmmBaseImpl handleLoginReqTimeout
SEVERE: loggerMsg
ClientName: Consumer_1_1
Severity: Error
Text: login failed (timed out after waiting 45000 milliseconds) for
loggerMsgEnd
Oct 03, 2024 2:18:13 PM com.refinitiv.ema.access.ChannelCallbackClient reactorChannelEventCallback
SEVERE: loggerMsg
ClientName: ChannelCallbackClient
Severity: Error
Text: Received ChannelDown event on channel Channel_1
Instance Name Consumer_1_1
RsslReactor Channel is null
Error Id 0
Internal sysError 0
Error Location Reactor.processWorkerEvent
Error text Error initializing channel: errorId=-1 text=Connection refused
loggerMsgEnd0 -
To scope down the issue, please run the ex113_MP_SessionMgmt or ex450_MP_QueryServiceDiscovery example in the package. Please also confirm the version of RTSDK or EMA that you are using.
Moreover, we need trace log to verify what the problem is. Please check this Learn how to direct EMA Java log to Java Logging API article.
0 -
I am using version: '3.8.0.0'.
I can discover all the Url’s using my code, but I am not able to connect to any of the discovered AWS url’s as I keep getting timeout error for all locations.
Do I need something to be able to connect to the aws url’s. Is it something related to certificates or some other access that I need.
TIA
Oct 03, 2024 3:59:04 PM com.refinitiv.ema.access.OmmBaseImpl handleLoginReqTimeout
SEVERE: loggerMsg
ClientName: Consumer_1_1
Severity: Error
Text: login failed (timed out after waiting 45000 milliseconds) for ap-southeast-1-aws-3-sm.optimized-pricing-api.refinitiv.net:14002)
loggerMsgEnd
Oct 03, 2024 3:59:04 PM com.refinitiv.ema.access.ChannelCallbackClient reactorChannelEventCallback
SEVERE: loggerMsg
ClientName: ChannelCallbackClient
Severity: Error
Text: Received ChannelDown event on channel Channel_1
Instance Name Consumer_1_1
RsslReactor Channel is null
Error Id 0
Internal sysError 0
Error Location Reactor.processWorkerEvent
Error text Error initializing channel: errorId=-1 text=Connection refused
loggerMsgEnd0 -
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 684 Datastream
- 1.4K DSS
- 615 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 249 ETA
- 554 WebSocket API
- 37 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 643 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 26 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 192 TREP Infrastructure
- 228 TRKD
- 915 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛