question

Upvotes
Accepted
1 3 3 3

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++

treprfarfa-apicontributionspostingrcc
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hello @paul.cockerham

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?


If so please can you click the 'Accept' text next to the appropriate reply? This will guide all community members who have a similar question.

Thanks,


AHS

@paul.cockerham

Hi,

Please be informed that a reply has been verified as correct in answering the question, and marked as such.

Thanks,

AHS

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"



Upvotes
Accepted
25.3k 87 12 25

Hi @paul.cockerham

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.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

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?

Upvotes
25.3k 87 12 25

Hi @paul.cockerham

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


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

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.
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?

Upvotes
25.3k 87 12 25

Hi @paul.cockerham

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?



icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

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



Upvotes
25.3k 87 12 25

Hi @paul.cockerham

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.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.