Ric Not Found vs Permission Denied in API
Best Answer
-
Hello @pawel.c,
I assumed that you are using OMM interface of RFA Java application connecting to the infrastructure (i.e. TREP: ADH, ADS)
Here there are sample messages under different situations:
1. wrong RIC name input
This can be interpreted as non-existing RIC name. When this problem occurs, "The record could not be found" will appear.
ItemManager.processEvent: Received Item Event...
2018-03-05 19:11:27.313+0700
MESSAGE
Msg Type: MsgType.STATUS_RESP
Msg Model Type: MARKET_PRICE
Indication Flags:
Hint Flags: HAS_ATTRIB_INFO | HAS_STATE
State: CLOSED, SUSPECT, NOT_FOUND, "The record could not be found"
AttribInfo
ServiceName: API_ELEKTRON_EPD_RSSL
ServiceId: 2115
Name: ICE.BKK
NameType: 1 (RIC)
Payload: None2. lack of access to RIC data. The related scenarios can be as follows:
(a) unauthorized access
ItemManager.processEvent: Received Item Event...
2018-03-05 19:20:01.061+0700
MESSAGE
Msg Type: MsgType.STATUS_RESP
Msg Model Type: MARKET_PRICE
Indication Flags:
Hint Flags: HAS_ATTRIB_INFO | HAS_STATE
State: CLOSED, SUSPECT, NOT_ENTITLED, "Access Denied: User req to IDN for Exch - HKG"
AttribInfo
ServiceName: RED3_ELEKTRON_EDGE_TOKYO
ServiceId: 1221
Name: 0001.HK
NameType: 1 (RIC)
Payload: NoneRemark: We tried to test a Euro user subscribes to Hong Kong instrument.
(b) Server capacity limited
ItemManager.processEvent: Received Item Event...
2018-03-05 19:31:05.607+0700
MESSAGE
Msg Type: MsgType.STATUS_RESP
Msg Model Type: MARKET_PRICE
Indication Flags:
Hint Flags: HAS_ATTRIB_INFO | HAS_STATE
State: CLOSED, SUSPECT, TOO_MANY_ITEMS, "A20: Item limit per service exceeded."
AttribInfo
ServiceName: API_ELEKTRON_EPD_RSSL
ServiceId: 4012
Name: THB=
NameType: 1 (RIC)
Payload: None3. source Stale
Stale is represented as 'SUSPECT' in OMM.
ItemManager.processEvent: Received Item Event...
2018-03-05 19:35:06.777+0700
MESSAGE
Msg Type: MsgType.STATUS_RESP
Msg Model Type: MARKET_PRICE
Indication Flags:
Hint Flags: HAS_ATTRIB_INFO | HAS_STATE
State: OPEN, SUSPECT, NONE, "A23: Service has gone down. Will recall when service becomes available."
AttribInfo
ServiceName: API_ADH_NI_PUB
ServiceId: 8500
Name: TRI.N
NameType: 1 (RIC)
Payload: NoneThese are examples error messages that can be found under the situations given. An attribute of the messages that conveys details is 'State'. Referring to the examples given above, State contains four sub-attributes as follows:
- Stream State - returns the Stream value such as OPEN, NONSTREAMING, REDIRECT, CLOSED, CLOSED_RECOVER.
- Data State - returns the Stream value such as OPEN, NO_CHANGE, SUSPECT.
- Code - returns the Stream value such as ALREADY_OPEN, ERROR, DACS_DOWN, NOT_FOUND, TOO_MANY_ITEMS, etc..
- Text - returns information as String.
Code and Text sometimes correspond to each other. For example,
- Code: 'NOT_FOUND' and Text: 'The record could not be found'
- Code: 'NOT_ENTITLED' and Text: Access Denied: 'User req to IDN for Exch - <XXX>'
- Code: 'TOO_MANY_ITEMS' and Text: 'A20: Item limit per service exceeded.'
You can find more details of RFA Java's Stream States, Data States, and Codes from RFAJ_DeveloperGuide.pdf which was normally included in <RFA Java Package>/Docs folder.
Furthermore, if you are connecting to TREP infrastructure, you can find information regarding error messages from the installation guide which was also delivered with the package as well
Anyway, please be aware of that these messages as some of them don't appear in the exact phrases/sentences because they depend on a scenario and the connecting server that may customize them too. For instance, if you don't have the authorization to access an instrument from STOCK EXCHANGE OF THAILAND, the text will be 'Access Denied: User req to IDN for Exch - SET' instead of 'Access Denied: User req to IDN for Exch - HKG'.
Hope this helps!
0
Answers
-
Hi @pawel.c
Just to add a small note to Nipat excellent and comprehensive answer.
As Nipat mentioned,the text message can vary somewhat. The key thing here is that you should not rely on parsing the text to control programmatic behaviour. The text should only be used for displaying message / diagnostic logging type stuff. You should use the numeric OMMState.Code attribute instead.
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
- 690 Datastream
- 1.4K DSS
- 629 Eikon COM
- 5.2K Eikon Data APIs
- 11 Electronic Trading
- 1 Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 255 ETA
- 559 WebSocket API
- 39 FX Venues
- 15 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 25 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 280 Open PermID
- 45 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 23 RDMS
- 2K Refinitiv Data Platform
- 716 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
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 106 UPA
- 194 TREP Infrastructure
- 229 TRKD
- 918 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 95 Workspace SDK
- 11 Element Framework
- 5 Grid
- 19 World-Check Data File
- 1 Yield Book Analytics
- 48 中文论坛