Message encoding error in IProvider

I’m developing Interactive Publisher using Elektron SDK
v1.2.0.
And I have multiple Services in EmaConfig.xml which are used to
publish data and when the number of services is 5 or less everything works
fine. All services on the list are identical except the Name and ServiceId fields which differ.
But adding 6th Service to the list I’ve got the
following error in emaLog:
loggerMsg
TimeStamp: 09:39:47.658
ClientName: DirectoryHandler
Severity: Error
Text: Internal error: failed to encode RsslRDMDirectoryMsg in DirectoryHandler::handleDirectoryRequest()
Client handle 775567904
Instance Name Provider_1_1Error Id -21
Internal sysError 0
Error Location /local/jenkins/workspace/ESDKCore/OS/RH6-64/esdk/Cpp-C/Eta/Impl/RDM/rsslRDMDirectoryMsg.c:445
Error Text (ret = rsslEncodeArrayEntry(pEncodeIter, 0, &pInfo->dictionariesUsedList[j])) == RSSL_RET_SUCCESS
loggerMsgEnd
Is there a limit for the number of services or what can I do to add more than 5?
Best Answer
-
The error ID (-21) is "buffer too small". Therefore, it means that the buffer reserved by EMA is too small to encode the source directory. EMA is open source so you directly increase the buffer size in the DirectoryHandler::initialize(...) method (Cpp-C\Ema\Src\Access\Impl\DirectoryHandler.cpp), and then rebuild the EMA package. Otherwise, you can contact the RDC or development team to fix this issue by:
- Raise this issue to the development via the Elektron-SDK GitHub to fix the problem
- Or, contact RDC subscribers inside your company to submit a ticket via Contact Premium Support at https://developers.refinitiv.com/elektron/elektron-sdk-cc.
0
Answers
-
Confirm, increasing the buffer size in the DirectoryHandler::initialize fixes the issue. Thank you!
0
Categories
- All Categories
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 33 Data Model Discovery
- 682 Datastream
- 1.4K DSS
- 613 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
- 248 ETA
- 552 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.8K Refinitiv Data Platform
- 622 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
- 191 TREP Infrastructure
- 228 TRKD
- 915 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 84 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛