Linux example based on 110, cannot find RDMFieldDictionary
The current situation that i am trying to test:
Windows sink+ windows client works. (compiled by me) on same machine using ip
Windows sink + Linux client (in eclipse project based on 110 with minor modifications - same code as on windows )
OmmConsumer consumer(OmmConsumerConfig("/root/eclipse-workspace/test/conf/EmaConfig.xml").consumerName("Consumer_13").username("ANYUSER")); // uses configuration from EmaConfig.xml
consumer.registerClient( ReqMsg().serviceName( "ELEKTRON_EDGE" ).name( "JPY=" ), client );
gives me the error::
Exception Type='OmmInvalidUsageException', Text='DictionaryCallbackClient::loadDictionaryFromFile() failed.
Unable to load RDMFieldDictionary from file named ./RDMFieldDictionary
or load enumtype.def from file named ./enumtype.def', ErrorCode='-1'
i have put in the directory of EmaConfig.xml enumtype.def and RDMFieldDirectory
Best Answer
-
i turned on logs and found out that:
Error text Acronym mismatch "PRE_2ET291" and "INS_P_CCY" between Field Dictionary and Enum Type Dictionary
i copied latest files for client the servers and now it works
1
Answers
-
Hello @iliak,
You can optionally include the complete path to dictionary in EmaConfig.xml, in DictionaryList section, something like:
<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_3"/>
...
<Dictionary>
<Name value="Dictionary_3"/>
<!-- providers always assume DictionaryType = DictionaryType::FileDictionary -->
<DictionaryType value="DictionaryType::FileDictionary"/>
<!-- dictionary file names are optional: defaulted to ./RDMFieldDictionary and ./enumtype.def -->
<RdmFieldDictionaryFileName value="/opt/user/dicts/RDMFieldDictionary"/>
<EnumTypeDefFileName value="/opt/user/dicts/enumtype.def"/>
...0 -
Hi @iliak
Based on the information you have provided, the most likely cause is that the RDMFieldDictionary and enumtype.def files are not in the expected location.
Typically the application would try to find them in the current working directory - which may not be the same as the application folder perhaps?
The other alternative approach would be to specify the full directory path and file location in the config, so there is no ambiguity to the location.
0 -
the path is now correct but same error:
Exception Type='OmmInvalidUsageException', Text='DictionaryCallbackClient::loadDictionaryFromFile() failed.
Unable to load RDMFieldDictionary from file named /root/eclipse-workspace/test/conf/RDMFieldDictionary
or load enumtype.def from file named /root/eclipse-workspace/test/conf/enumtype.def', ErrorCode='-1'0 -
Hello @iliak,
I would check that the dictionaries are
- Indeed in the location that you specify
- Are permissioned to user
- Are not corrupted
If this does not help,
I just tested EMA110 on my testbed with the default location within ESDK (ESDK is installed in /opt/ESDK/Real-Time-SDK-master) and there was no issue specifying this original location for dictionaries in EmaConfig.xml:
<Dictionary>
<Name value="Dictionary_2"/>
<DictionaryType value="DictionaryType::FileDictionary"/>
<!-- dictionary names are optional: defaulted to RDMFieldDictionary and enumtype.def -->
<RdmFieldDictionaryFileName value="/opt/ESDK/Real-Time-SDK-master/Cpp-C/etc/RDMFieldDictionary"/>
<EnumTypeDefFileName value="/opt/ESDK/Real-Time-SDK-master/Cpp-C/etc/enumtype.def"/>
</Dictionary>Try specifying the original location within SDK?
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 中文论坛