rmdstestclient invalid request
Hi,
We are developing a RSSL provider in RFA 8.
When we subscribe to a valid instrument with the rmdstestclient an connect to this provider we receive all related fields.
When I subscribe to an invalid instrument with the same rmdstestclient we do NOT receive any (status) info in the application itself.
Server: 1.2.3.4
Source: SOURCE1
Prot: rssl
Port: 20406
Number of Connection Count = 1
Creating RSSL connection Host: 1.2.3.4 Port: 20406
UPA server component version: rfa8.1.0.linux.eload 64-bit
Setting rmds connection 0x28e7ec0
Connection list count is 1
SupportBatchRequests Initial Open: Yes
SupportBatchRequests Reissue: Yes
SupportBatchClose: Yes
In the log (I use rmdstestclient with the -l parameter) however I do see the "error" message:
NOT_ENTITLED: Request not allowed. Account is not entitled for namespace 'test', which is good.
Received source directory response. <!-- rwfMajorVer="14" rwfMinorVer="0" --> <requestMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="5" containerType="RSSL_DT_NO_DATA" flags="0x4C (RSSL_RQMF_STREAMING|RSSL_RQMF_MSG_KEY_IN_UPDATES|RSSL_RQMF_HAS_QOS)" qosDynamic="0" qosRate="1" qosTimeliness="1" dataSize="0"> <key flags="0x3 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME)" serviceId="1" name="INVALIDRIC"/> <dataBody> </dataBody> </requestMsg> sendOpenRequest():
Writing open of size 33.
<!-- rwfMajorVer="14" rwfMinorVer="0" -->
<statusMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="5" containerType="RSSL_DT_NO_DATA" flags="0x28 (RSSL_STMF_HAS_MSG_KEY|RSSL_STMF_HAS_STATE)" dataState="RSSL_DATA_SUSPECT" streamState="RSSL_STREAM_CLOSED" code="RSSL_SC_NONE" text="<NOT_ENTITLED: Request not allowed. Account is not entitled for namespace 'test'.>" dataSize="0"> <key flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)" serviceId="1" name="INVALIDRIC" nameType="1"/> <dataBody> </dataBody> </statusMsg>
So the "error" message is sent by the profider but will not show up in rmdstestclient.
I wonder if we do send the correct containerType, dataState, streamState, flag etc.. or am I missing something, or is this a normal behavior of the rmdstestclient.
Thanks in advance.
Bas
Best Answer
-
Hi @bas.hagen
You can get rmdstestclient to output any Status messages to the console by enabling the interval Statistics display - which outputs stats for update rates, images received etc
e.g.
rmdstestclient -S ELEKTRON_DD -f vodrics -h ads1 -p 14002 -ct rssl -u umer.nalla -I 1 -l log.out
The above will log the data and output statistics every 1 second - and this will include any statusmsgs received .
The relevant parameter is '-I 1' - capital letter i and 1 for the interval.
The above gives me the following output:
......
Received Enum Dictionary refresh message (Data Length: 126428).
updr 0.00 updl 0 imgr 0.00 imgl 0
Status Received <1> Status Text: Closed Status for Item VOD.L Text: The record could not be found
updr 0.00 updl 0 imgr 0.00 imgl 0
.......0
Answers
-
Hi @bas.hagen
A Status Msg is an event just like a data event, so it is logged to the file like the other events - it is not an Error message - as technically there is no application level error situation.
You are using the application to connect to a server and establish event streams for various items by requesting them from the server. If the server rejects a particular request it returns a Status event for that particular stream and closes the stream.
In a normal consumer application, the developer would have a Status msg / event handler and act on the Status accordingly .e.g. log to a file or inform the user and so on.
0 -
Hi @Umer Nalla, thank you very much. Very helpful!
0 -
Your welcome. Please consider accepting the relevant answer for the benefit of other users searching the forum.
Thanks!
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 中文论坛