TRCC postMsg NAK when using containerType RSSL_DT_OPAQUE
We have an application team who are unable to publish via an ads on the TRCC TREP service with their RFA 6 C++ application
We see the following in adh.dbg:
[Thu Aug 05 12:50:14 2021] RSSL Message Of Length 160 Sent on Socket 44
<!-- rwfMajorVer="14" rwfMinorVer="1" -->
<genericMsg domainType="RSSL_DMT_SYSTEM" streamId="3" containerType="RSSL_DT_MSG" flags="0x19 (RSSL_GNMF_HAS_EXTENDED_HEADER|RSSL_GNMF_HAS_SEQ_NUM|RSSL_GNMF_MESSAGE_COMPLETE)" seqNum="7" dataSize="143">
<extendedHeader data="0100"/>
<dataBody>
<!-- rwfMajorVer="14" rwfMinorVer="1" -->
<postMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="1" containerType="RSSL_DT_OPAQUE" flags="0x66 (RSSL_PSMF_HAS_POST_ID|RSSL_PSMF_HAS_MSG_KEY|RSSL_PSMF_POST_COMPLETE|RSSL_PSMF_ACK)" .....
and later the NAK message....
<ackMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="1" containerType="RSSL_DT_NO_DATA" flags="0x22 (RSSL_AKMF_HAS_TEXT|RSSL_AKMF_HAS_NAK_CODE)" ackId="55" nakCode="RSSL_NAKC_DENIED_BY_SRC" text="PostMsg has not have container type of RSSL_DT_MSG"
How easy is it for them to change their postMsg containerType from RSSL_DT_OPAQUE to RSSL_DT_MSG? As mentioned their application is coded using RFA6 C++
Best Answer
-
Ok - so this is looking more like an issue with the ADS conversion from SSL Insert to RSSL Post.
I can't think of anything they can do differently in their RFA 6.0 code to affect that.
Most likely there is an issue with the ADS or ADH configuration or compatibility issue between RFA6 and whichever version of ADS you are using.
I recommend you raise a My.Refinitiv ticket for Refinitiv Real-Time Advanced Distribution Server product - to discuss your issue with one of our RTDS specialists.
I will do some more digging here and if I get anything useful I will post back here.
0
Answers
-
I cannot understand how it is being set to OPAQUE in the first place.
Are they setting the payload of the PostMsg as a FieldList or some other data structure?
If they have not already done so, they should download a recent version of RFA and study the StarterConsumerPost example which demonstrates how to submit a Post using RFA.
Downloads | Refinitiv Developers
The other key thing to note here is that we stopped supporting RFA 6.0 a long time ago. The oldest version of RFA C++ we support is RFA 7.7. So, it could well be an incompatibility between RFA 6 and the ADS.
If they are writing a new Posting application then they should ideally be using EMA (C++ or Java) - much simpler to code. It takes just a few lines of code to connect to the server and create + submit a Post Msg compared to several hundred lines for the RFA C++ equivalent.
Contributing your data to Refinitiv | Refinitiv Developers
0 -
The other thing I should add is that EMA supports direct contribution to RCC - so future-proofing if they ever decide to bypass the ADS.0
-
Thanks Umer
If it helps their application can contribute via mlip connection (dataType 2) on TREP but not via TRCC. They are trying to meet the mlip EOL deadline by end of Sep 2021 and are attempting to migrate to TRCC before then. Is there a way for them to meet the migration deadline using their current RFA 6 code or must they move to a later version do you think?
0 -
Is the RFA 6 app using MarketFeed SSL connectivity or RSSL/RWF connectivity?
I assumed from your above post that it was RSSL - but as you mentioned it works with MLIP, I am now wondering if the ADS is doing the conversion from SSL Insert to RSSL Post and something is going wrong in the conversion?
0 -
Yes, they are using a MarketFeed SSL connection.
Protocol 6, ssl4.0be
From ads.dbg:
Sipc message Received: Len: 128 HdrLen: 6 Flags: 0 ProtId: 0 FD: 32
Thu Aug 05 12:52:56 2021
MsgLen 128 Flags 0 Opcode 24 HdrLen 5
SSL Insert Request. srvcId: 2 ReqId: 215386792
and later...
Sipc message Sent: Len: 83 HdrLen: 6 Flags: 0 ProtId: 2 FD: 32
Thu Aug 05 12:52:56 2021
MsgLen 83 Flags 0 Opcode 23 HdrLen 5
SSL Insert Nak: srvcId: 2 ReqId: 215386792 Code: 2
0 -
Many thanks Umer! I've raised the ticket with MyRefinitiv
Do you know what rmds.cnf service parameters are needed at a minimum to ensure correct ADS conversion from SSL Insert to RSSL Post?
0 -
The moderators on this forum are APIs specialists and whilst some of us have some understanding of the RTDS system, you will need to ask the RTDS team for the required parameters.
0 -
Additional - we received the following from Refinitiv:
"When converting SSL insert to RSSL post message, we have to scan the payload to determine if Marketfeed (or not) as SSL inserts do not contain a container type.
To determine if Marketfeed (or not), we look at the first byte and last byte of the payload for the <FS> start and terminator (that’s it) and if <FS> is not in the first and last byte, we assume it’s not Marketfeed and set the container type on the RSSL post message to RSSL_DT_OPAQUE and of course we will not be convert to RWF.
As the last byte is not 0x1c, ADS assumes it is not Marketfeed and sends RSSL_DT_OPAQUE to TRCC which of course it rejects.
So it seems the consumer application is adding an extra byte onto the end of the Marketfeed which is causing this.
Remove the 0x00 and have a try again"
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 中文论坛