Migrating from sfc to EMA, NoDictionary errorcode.
We have a provider and consumer app developed with SFC. We are migrating to EMA.
I'm working on the EMA provider to replace the SFC provider.
When I send in an update request from the old SFC consumer, via the TREP servers, to the new EMA provider, I get the following postMsg with a NoDictionary error.
PostMsg
streamId="1"
domain="MarketPrice Domain"
Complete
Ack Requested
postId="65"
publisherIdUserId="0"
publisherIdUserAddress="0"
name="Record1"
serviceId="1"
Payload dataType="UpdateMsg"
UpdateMsg
streamId="0"
domain="MarketPrice Domain"
updateTypeNum="0"
name="Record1"
serviceId="9010"
Payload dataType="Error"
OmmError
ErrorCode="NoDictionary"
OmmErrorEnd
PayloadEnd
UpdateMsgEnd
PayloadEnd
PostMsgEnd
However, when I send an update via the sample EMA consumer app cons340, to my new EMA provider via the TREP servers, I do not get a NoDictionary error. I get the following postMsg with a correct field list.
PostMsg
streamId="3283"
domain="MarketPrice Domain"
Complete
Ack Requested
postId="66"
publisherIdUserId="0"
publisherIdUserAddress="0"
name="Record1"
serviceId="1"
Payload dataType="UpdateMsg"
UpdateMsg
streamId="0"
domain="MarketPrice Domain"
updateTypeNum="0"
name="Record1"
Payload dataType="FieldList"
FieldList
FieldEntry fid="25" name="ASK" dataType="Real" value="800"
FieldEntry fid="22" name="BID" dataType="Real" value="700"
FieldListEnd
PayloadEnd
UpdateMsgEnd
PayloadEnd
PostMsgEnd
Any ideas on how to fix this.
I'd like the old consumer to still work, is that possible?
Best Answer
-
Hi @gproctor
My understanding from the above is that you are contributing data (Insert) from an SFC app to an EMA Provider via TREP.
SFC uses the legacy MarketFeed (MF) format and EMA uses the newer OMM/RWF data format.
The conversion should be handled by your TREP ADS+ADH components - so my first thought would be that there is something not right with the TREP config in terms of converting the MF Insert to an OMM PostMsg.
I am not a TREP expert so not familiar with the exact TREP config that would affect this behaviour. Therefore, I recommend that you speak to your Market Data team and ask them to confirm the related config. If they are unsure, they can create a ticket with the TREP support team for further guidance.
In the meantime, I will also check internally to see if there are any known issues with sending an Insert from an MF based app to an OMM based Provider and report back with any findings.
Also, I just noticed that the StreamID for the first post is StreamID 1 - which is usually reserved for a Login stream - which may be worth mentioning to the MarketData team / in the TREP Support ticket if they end up raising one.
0
Answers
-
There is a known issue regarding "NoDictionary" error on EMA OmmProvider which could be related to the scenario you found. The issue occurs when EMA OmmProvider tries to decode payload of Off-Stream Posting (Posting on Login Stream). With On-Stream Posting, the provider works properly.
The issue has been fixed in the Refinitiv Real-Time SDK C/C++ 2.0.0.L1 version. Please try the 2.0.0.L1 version. You can download the version from https://developers.refinitiv.com/en/api-catalog/elektron/elektron-sdk-cc/downloads.
Below is the reference of the fix.
- [Case Number: 09179092] - [ESDK-4397] - EMA C++ offstream posting payload decode issue
0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛