Reference Data Request Rejected: Request message payload not supported on non-private streams

Hi,
I am requesting Reference data with ServiceName = TRFX_MDFD_Symbols and Asset FX_SPOT. I got a reference data message with below ERROR flag.
Reference data status: StreamState: RSSL_STREAM_CLOSED, DataState: RSSL_DATA_SUSPECT, Code: RSSL_SC_USAGE_ERROR, Text: Request Rejected: Request message payload not supported on non-private streams
I have tried running my application using RFA 8.1.0.L1 (latest version).
Any pointers on how to fix this error inorder to get Reference Data Refresh Message.
Thanks & Regards
Aditya Garg
Best Answer
-
Thank you for the tracing. The request message indicates that it contains opaque data.
<dataBody>
<opaque data="" />
</dataBody>The valid request with empty payload looks like:
<requestMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="6" containerType="RSSL_DT_NO_DATA" flags="0x46 (RSSL_RQMF_HAS_PRIORITY|RSSL_RQMF_STREAMING|RSSL_RQMF_HAS_QOS)" qosDynamic="0" qosRate="1" qosTimeliness="1" priorityClass="1" priorityCount="1" dataSize="0">
<key flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)" serviceId="2115" name="IBM.N" nameType="1"/>
<dataBody>
</dataBody>
</requestMsg>Please verify the application to remove opaque data from the payload and set the container type of the request message to RSSL_DT_NO_DATA.
0
Answers
-
I got the same error if I sent the request message which contains the payload.
<requestMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="5" containerType="RSSL_DT_ELEMENT_LIST" flags="0x46 (RSSL_RQMF_HAS_PRIORITY|RSSL_RQMF_STREAMING|RSSL_RQMF_HAS_QOS)" qosDynamic="0" qosRate="1" qosTimeliness="1" priorityClass="1" priorityCount="1" dataSize="33">
<key flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)" serviceId="4515" name="IBM.N" nameType="1"/>
<dataBody>
<elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
<elementEntry name=":ItemList" dataType="RSSL_DT_ARRAY">
<array itemLength="0" primitiveType="RSSL_DT_ASCII_STRING">
<arrayEntry data="IBM.N"/>
<arrayEntry data="TRI.N"/>
</array>
</elementEntry>
</elementList>
</dataBody>
</requestMsg>
<!-- End Message (Channel IPC descriptor = 388) -->
<!-- Incoming Message (Channel IPC descriptor = 388) -->
<!-- Time: 10:27:53:215 -->
<!-- rwfMajorVer="14" rwfMinorVer="1" -->
<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_USAGE_ERROR" text="Request Rejected: Request message payload not supported on non-private streams." dataSize="0">
<key flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)" serviceId="4515" name="IBM.N" nameType="1"/>
<dataBody>
</dataBody>
</statusMsg>Typically, the payload in the request message is used by batch or dynamic view requests.
For now, you need to verify the application code to make sure that the request and re-reissue messages (which are not batch or dynamic view) doesn't contain any payload.
Moreover, to verify the problem, you may need to enable RSSL tracing in RFA by using the following configurations.
\Connections\<ConnectionName>\traceMsgToFile = true
\Connections\<ConnectionName>\traceMsgDomains = "all"
\Connections\<ConnectionName>\traceMsgMaxMsgSize = 5000000
\Connections\<ConnectionName>\traceMsgMultipleFiles = true
\Connections\<ConnectionName>\tracePing = truePlease change <ConnectionName> to the name of your connection, such as Connection_RSSL. The RSSL tracing log would be created with the connection name, a process ID and a ".xml" extension, such as <ConnectionName>_7648.xml in the same directory of the application.
0 -
Below are the outgoing and incoming messages, the dataBody section seems to be empty for the outgoing message. Is this the same as payload?
<!-- End Message (Channel IPC descriptor = 9) -->
<!-- Outgoing Message (Channel IPC descriptor = 9) -->
<!-- Time: 12:45:17:549 -->
<!-- rwfMajorVer="14" rwfMinorVer="0" -->
<requestMsg domainType="147" streamId="5" containerType="RSSL_DT_UNKNOWN" flags="0x44 (RSSL_RQMF_STREAMING|RSSL_RQMF_HAS_QOS)" qosDynamic="0" qosRate="1" qosTimeliness
="1" dataSize="0">
<key flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)" serviceId="107" name="FX_SPOT" nameType="1"/>
<dataBody>
<opaque data="" />
</dataBody>
</requestMsg>
<!-- End Message (Channel IPC descriptor = 9) -->
<!-- Incoming Message (Channel IPC descriptor = 9) -->
<!-- Time: 12:45:17:624 -->
<!-- rwfMajorVer="14" rwfMinorVer="0" -->
<statusMsg domainType="147" 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_USAGE_ERROR" text="Request Rejected: Request message payload not supported on non-private streams." dataSize="0">
<key flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)" serviceId="107" name="FX_SPOT" nameType="1"/>
<dataBody>
</dataBody>
</statusMsg>
<!-- End Message (Channel IPC descriptor = 9) -->
0 -
changing containerType from Unknown to RSSL_DT_NO_DATA worked for me. Thanks a lot for helping out.
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
- 685 Datastream
- 1.4K DSS
- 616 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
- 252 ETA
- 556 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
- 275 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
- 652 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
- 228 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 中文论坛