Can't open request for whole directory with EMA C++ in custom application

Hello,
can somebody tell me how i can open request for MMT_DIRECTORY of all sources in custom application. If I try this, as described in RDM USAGE GUIDE, I got the following Message:
loggerMsg
TimeStamp: 12:47:51.941
ClientName: DirectoryCallbackClient
Severity: Error
Text: Internal error: failed to encode RsslRDMDirectoryMsg in DirectoryCa
llbackClient::processCallback()
RsslChannel 0x0000000000000000
Error Id -21
Internal sysError 0
Error Location rsslRDMDirectoryMsg.c:644
Error Text (ret = rsslEncodeElementEntry(pEncodeIter, &elementEntry, &pL
oad->openLimit)) == RSSL_RET_SUCCESS
loggerMsgEnd
If I request directory for a single source by setting a source name, it works, as expected.
Setting SEVERTITY to VERBOSE I see, that the hole dictionary was downloaded previous by the consumer.
Best Answer
-
hi @umer.nalla
we currently have 11 souces in our TREP and I use v1.1. As I told before the throuble must be in configuration of the ADS. With one of our six ADS it works fine.
Thank you
0
Answers
-
Hi @Reinhold.Blank,
Within the ESDK package contains the 300 Series example: 331_Directory_Streaming which demonstrates basic usage of the EMA Library for accessing and parsing of OMM Directory data.
0 -
Hi @nick.zincone.1,
I used this Sample for testing this pupose. I just remove service name as descriped in USAGE GUID to get a complete source directory with all services existing in our TREP.
But it doesn't work!
0 -
Hi @Reinhold.Blank,
I was able to remove the service name and received a complete source directory, i.e.
This was my output:
I assume you are doing the same. Can you confirm which version of the ESDK you are using and show your output window?
thanks.
0 -
Can you confirm how many services there are on your TREP? And also what version of EMA you are using?
There was a bug in an older version of ESDK - I just tried the 331 example in v.1.1 and it failed with a large source directory.
When I tried the same example in ESDK v1.2 it worked with the same large source directory.
0 -
Hi @nick.zincone.1,
I using EMA SDK 3.3.1. Below you see the result.
But I found out, where the throuble must be. We have 6 ADS. With one off them it works fine. On the other 5 the request fails. So I called our admins, that they check the configuration of this ADS.
Thank you for your assistance
0 -
Thanks @Reinhold.Blank.
Did you mean EMA 3.1.1? The latest version is 3.2.0 which was just recently released. It would be interesting if you get a chance to try the latest version to see if you get an internal error with those specific ADS processes.
0 -
Error Id -21 is RSSL_RET_BUFFER_TOO_SMALL. It looks like the allocated buffer is too small to encode the retrieved directory before sending to the application. I have tested with the ADS that provides a lot of services and found the same error in EMA 3.1.1..
loggerMsg
TimeStamp: 11:41:04.700
ClientName: DirectoryCallbackClient
Severity: Error
Text: Internal error: failed to encode RsslRDMDirectoryMsg in DirectoryCallbackClie
nt::processCallback()
RsslChannel 0x0000000000000000
Error Id -21
Internal sysError 0
Error Location rsslRDMDirectoryMsg.c:375
Error Text (ret = rsslEncodeElementEntry(pEncodeIter, &elementEntry, &pInfo->serviceName)) == RSSL_RET_SUCCESS
loggerMsgEndHowever, after testing with EMA 3.2.0.L1, it works fine.
EMA 3.2.0.L1 has been restructured and it uses CMake to generate build files. Please refer to ESDK_C_Migration_Guide.pdf in the package for more information.
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 中文论坛