question

Upvotes
Accepted
3 1 0 2

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

treprfarfa-apidata
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.

Upvote
Accepted
45.2k 103 43 60

@aditya.y.garg

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.

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.

Upvotes
45.2k 103 43 60

@aditya.y.garg

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 = true

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


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.

Upvotes
3 1 0 2

@jirapongse.phuriphanvichai

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

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.

Upvotes
3 1 0 2

@jirapongse.phuriphanvichai

changing containerType from Unknown to RSSL_DT_NO_DATA worked for me. Thanks a lot for helping out.

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.