Null Payload in OmmMsg
Hi Team,
We are migrating from RFA 7.6 to 8.1. We recently found a scenario in which Payload from OmmMsg was null, causing NullPointerException. Below is the snippet that caused the issue. From which we already verify that event and msg are not null.
byte[] data = ommItemEvent.getMsg().getPayload().getBytes()
Also this scenario was never previously observed where payload can be null.
So I want to know that in which scenario we can get null payload like any event, connection issue (which I don't see on logs), or any issue on Reuters side.
Thanks.
Best Answer
-
You can receive message with no payload - e.g. a StatusMsg would have no payload.
Are you trying to extract a Payload from a StatusMsg?
As demonstrated in many of the RFA examples you should always check if a payload is blank before attempting to access the data e.g.
if ( respMsg.getPayload().isBlank() )
0
Answers
-
I am getting this issue after all basic checks like Response MsgType is OMMMsg.MsgType.REFRESH_RESP & RDMMsgTypes is RDMMsgTypes.MARKET_PRICE. I have never seen this issue while getting payload from a REFRESH response.
0 -
I am getting this issue after all basic checks like Response MsgType is OMMMsg.MsgType.REFRESH_RESP & RDMMsgTypes is RDMMsgTypes.MARKET_PRICE. I have never seen this issue while getting payload from a REFRESH response.
0 -
Are you consuming Refinitiv Elektron data or some internally published data?
Please provide a IPCTrace file for when the above occurs so we can investigate further. For RFA Java you will need to set the ipcTrace Flag in your config for the RSSL connection you are using e.g.
<node name="consConnection">
<map>
<entry key="connectionType" value="RSSL"/>
<entry key="serverList" value="<yourServer>"/>
<entry key="portNumber" value="14002"/>
<entry key="mountTrace" value="true"/>
<entry key="ipcTraceFlags" value="7"/>
<entry key="logFileName" value="rfa.log"/>
</map>
</node>If the problem is not easily recreatable and the trace file ends up being very large, please extract the Response message and corresponding Request message which causes the above exception. You can identify the Request message from service + instrument names. Make a note of the streamID for the Request and find the Response Message with the same StreamID.
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 中文论坛