JSON RSSL Conversion Error. RSSL error code : -21 error

Hello,
I would like to ask you for advice on error message that my client received: “JSON RSSL Conversion Error. RSSL error code : -21”.
Client is using below example:
Basically he is making batch request (approximately 8K RICs) and then error message appear. When he decrease number of RICs He is making batch request (approximately 8K RICs).
Also he notice that when he send smaller number of RIC in his request that usually work but add there View parameter in order to limit number of Fields in response error also appear.
So is there any limit of RICs that you can include in request or maybe it depend on request size?
There is BUFFER_SIZE parameter in example, will this improve situation if client increases this parameter?
I will be grateful for your advice!
Best Answers
-
Hello @Kacper_Piernicki1
Since the user is using the Websockets API, the RSSL to JSON Conversion is happening at the RTMDS infrastructure. They can look at the ADS logs to see where the offending value is. The BUFFER_SIZE parameter allocates the send and receive buffers for Websockets, so increasing it might help with the issue.
In general, in this use case, I would recommend the RTSDK instead of Websockets. In WS, the application has to maintain all the state and handshake requirements in addition to handling the response messages. Using RTSDK .NET (EMA) is considerably easier and it handles all the underlying work for the user. The user app is also working with a large batch of instruments and it might overwhelm the network at peak market activity.
The user can start from this EMA batch sample and add View feature. No RSSL to JSON conversion would be required and there will be efficient transfer of the binary data.
0 -
In RSSL, the -21 error code is BufferTooSmallEnum.
BufferTooSmallEnum = -21, /*!< The buffer provided does not have sufficient space to perform the operation. */
The JSON request may be too large for a buffer reserved by ADS so the client may need to reduce the size of the JSON request message.
I checked and found that in the login response contains the MaxMsgSize property.
{
"ID": 1,
"Type": "Refresh",
"Domain": "Login",
"Key": {
"Name": "<DACS Username>",
"Elements": {
"AllowSuspectData": 1,
"ApplicationId": "256",
"ApplicationName": "ADS",
"Position": "127.0.0.1/net",
"ProvidePermissionExpressions": 1,
"ProvidePermissionProfile": 0,
"SingleOpen": 1,
"SupportEnhancedSymbolList": 1,
"SupportOMMPost": 1,
"SupportPauseResume": 1,
"SupportStandby": 1,
"SupportStandbyMode": 3,
"SupportBatchRequests": 7,
"SupportViewRequests": 1,
"SupportOptimizedPauseResume": 1
}
},
"State": {
"Stream": "Open",
"Data": "Ok",
"Text": "Login accepted by host 86dd62c6c51e."
},
"Elements": {
"PingTimeout": 30,
"MaxMsgSize": 65535
}
}The size of message should not exceed this value.
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 37 Alpha
- 167 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 713 Datastream
- 1.5K DSS
- 639 Eikon COM
- 5.3K Eikon Data APIs
- 20 Electronic Trading
- 1 Generic FIX
- 7 Local Bank Node API
- 12 Trading API
- 3K Elektron
- 1.5K EMA
- 260 ETA
- 574 WebSocket API
- 42 FX Venues
- 16 FX Market Data
- 2 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 26 Messenger Bot
- 5 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 285 Open PermID
- 47 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 25 RDMS
- 2.3K Refinitiv Data Platform
- 20 CFS Bulk File/TM3
- 939 Refinitiv Data Platform Libraries
- 6 LSEG Due Diligence
- 1 LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 12 World-Check Customer Risk Screener
- World-Check On Demand
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 46 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
- 126 Open DACS
- 1.1K RFA
- 108 UPA
- 197 TREP Infrastructure
- 232 TRKD
- 925 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 107 Workspace SDK
- 11 Element Framework
- 5 Grid
- 19 World-Check Data File
- 1 Yield Book Analytics
- 48 中文论坛