PostMsg has not have container type of RSSL_DT_MSG Error when contributing using RFA to a TREP TR...

...CC service
Using RFA Java.
Here is an except from the code;
----
ConsumerEncoder requestEncoder = new ConsumerEncoder();
OMMEncoder _postOMMEncoder = requestEncoder.pool.acquireEncoder();
OMMMsg _postOMMMsg = requestEncoder.pool.acquireMsg();
----
_postOMMMsg.setMsgModelType(RDMMsgTypes.MARKET_PRICE);
_postOMMMsg.setMsgType(OMMMsg.MsgType.POST);
_postOMMMsg.setId(ID_COUNTER.incrementAndGet());
_postOMMMsg.setSeqNum(SEQ_NUMBER_COUNTER.incrementAndGet());
_postOMMMsg.setIndicationFlags(OMMMsg.Indication.POST_INIT | OMMMsg.Indication.POST_COMPLETE | OMMMsg.Indication.NEED_ACK);
_postOMMMsg.setAttribInfo(module, ric, RDMInstrument.NameType.RIC);
_postOMMEncoder.initialize(OMMTypes.MSG, 10000);
_postOMMEncoder.encodeMsgInit(_postOMMMsg, OMMTypes.NO_DATA, OMMTypes.FIELD_LIST);
----
Here we populate fields and value, for example
FidDef fiddef = dictionary.getFidDef("FIELD");
_postOMMEncoder.encodeFieldEntryInit(fid, fiddef.getOMMType());
_postOMMEncoder.encodeString("VALUE", fiddef.getOMMType());
----
Handle handle = getRDMLoginHandle();
OMMMsg sendMessage = (OMMMsg) _postOMMEncoder.getEncodedObject();
int submitStatus = submitMsg(handle, sendMessage, null);
requestEncoder.pool.releaseMsg(_postOMMMsg);
requestEncoder.pool.releaseEncoder(_postOMMEncoder);
----
Message Sent:
Msg Type: MsgType.POST
Msg Model Type: MARKET_PRICE
Indication Flags: POST_INIT | POST_COMPLETE | NEED_ACK
Hint Flags: HAS_ATTRIB_INFO | HAS_SEQ_NUM | HAS_ID
SeqNum: 1
Id: 1
Publisher Address: 0x0
Publisher Id: 0
AttribInfo
ServiceName: TRCC
Name: FABTEST123=FABU
NameType: 1 (RIC)
Payload: 8 bytes
FIELD_LIST
FIELD_ENTRY 393/PRIMACT_1: 0.85
Error Received;
State: UNSPECIFIED, NO_CHANGE, NACK_DENIED_BY_SRC, "PostMsg has not have container type of RSSL_DT_MSG"
Best Answer
-
We have been working on this offline so I just wanted to confirm the changes required to resolve this issue - for the benefit of others.
The code the client was using was originally for posting to an ATS and therefore a few changes had to be made in order to work with TRCC
- The nested payload message contained inside the outer Post Msg was changed from a Refresh Msg to an Update Msg
- The X_RIC_NAME field required for ATS was removed
- The RIC code for the instrument was added to an AttribInfo for the nested Update message (as well as the outer Post Msg)
- The Sequence number used with ATS had to be removed for TRCC
0
Answers
-
It would appear the developer is only encoding a FieldList into the PostMsg.
For TRCC my understanding is that you need to encode a nested msg i.e. a Refresh, Update or Status Msg in the outer PostMsg .
If you refer to the RFA Java example in the Examples\com\reuters\rfa\example\omm\postingConsumer folder of the RFA Java SDK - you will note that it can operate different modes - based on the payload type specified in the config.
If you specify update_msg, refresh_msg or status_msg in the config, then in the
PostItemManager.doPost() method it calls the createPayloadOMMMsg() method and then encodes the resultant message as the payload for the outer PostMsg.
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
- 688 Datastream
- 1.4K DSS
- 620 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
- 254 ETA
- 557 WebSocket API
- 38 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
- 276 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
- 663 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
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 193 TREP Infrastructure
- 229 TRKD
- 917 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 中文论坛