question

Upvotes
Accepted
3 1 1 2

Encoded data length exceeds RWF length. Price contribution

Hello guys. Need you help, with price contribution. Here is the situation:

<!-- Outgoing Reactor message -->
<!-- java.nio.channels.SocketChannel[connected local=/172.23.0.3:56500 remote=contrib1-emea1.platform.refinitiv.com/52.51.64.48:443] -->
<!-- Thu Nov 19 17:14:00 UTC 2020 -->
<!-- rwfMajorVer="14" rwfMinorVer="1" -->
<GENERIC domainType="SYSTEM" streamId="3" containerType="MSG" flags="0x19 (HAS_EXTENDED_HEADER|HAS_SEQ_NUM|MESSAGE_COMPLETE)" seqNum="80" dataSize="65">
    <extendedHeader data="0100"/>
    <dataBody>
        <POST domainType="MARKET_PRICE" streamId="6" containerType="MSG" flags="0x62 (HAS_POST_ID|POST_COMPLETE|ACK)" postId="79" postUserId="0" postUserAddr="0.0.0.0" dataSize="43">
            <dataBody>
                <UPDATE domainType="MARKET_PRICE" streamId="6" containerType="FIELD_LIST" flags="0x08 (HAS_MSG_KEY)" updateType="0" dataSize="14">
                    <key flags="0x02 (HAS_NAME)" name="IMSF3INAV=LEVL"/>
                    <dataBody>
                        <fieldList flags="0x08 (HAS_STANDARD_DATA)">
                            <fieldEntry fieldId="393" data="4039 6031 26E9 78D5"/>
                        </fieldList>
                    </dataBody>
                </UPDATE>
            </dataBody>
        </POST>
    </dataBody>
</GENERIC>
<!-- Incoming Reactor message -->
<!-- java.nio.channels.SocketChannel[connected local=/172.23.0.3:56500 remote=contrib1-emea1.platform.refinitiv.com/52.51.64.48:443] -->
<!-- Thu Nov 19 17:14:00 UTC 2020 -->
<!-- rwfMajorVer="14" rwfMinorVer="1" -->
<GENERIC domainType="SYSTEM" streamId="3" containerType="MSG" flags="0x19 (HAS_EXTENDED_HEADER|HAS_SEQ_NUM|MESSAGE_COMPLETE)" seqNum="80" dataSize="112">
    <extendedHeader data="0100"/>
    <dataBody>
        <ACK domainType="MARKET_PRICE" streamId="6" containerType="NO_DATA" flags="0x22 (HAS_TEXT|HAS_NAK_CODE)" ackId="79" nakCode="DENIED_BY_SRC" text="Encoded data length exceeds RWF length Fid Id [393] [Failed to apply update. Cache build failed]" dataSize="0">
            <dataBody>
            </dataBody>
        </ACK>
    </dataBody>
</GENERIC>

Here is the code:

FieldList nestedFieldList = EmaFactory.createFieldList();
val inavValue = inav.getTargetNavT1().setScale(INAV_SCALE, HALF_EVEN).doubleValue();
nestedFieldList.add(EmaFactory.createFieldEntry().doubleValue(INAV_FIELD_ID, inavValue));

UpdateMsg nestedUpdateMsg = EmaFactory.createUpdateMsg()
        .streamId(postStreamId)
        .name(inav.getEtp().getRic())
        .payload(nestedFieldList);

val id = ++postId;
final PostMsg payload = EmaFactory.createPostMsg()
        .streamId(postStreamId)
        .postId(id)
        .domainType(EmaRdm.MMT_MARKET_PRICE)
        .solicitAck(true)
        .complete(true)
        .payload(nestedUpdateMsg);

consumer.submit(payload, loginStreamHandle);

That`s the current situation. Previously I was preparing field like that:

nestedFieldList.add(EmaFactory.createFieldEntry()
                .realFromDouble(INAV_FIELD_ID, inav.getTargetNavT1().setScale(INAV_SCALE, HALF_EVEN).doubleValue())
);

With that code no errors happened, but we was told that we are sending zeros.

Someone can please tell the correct way to send price as double?

elektronrefinitiv-realtimeelektron-sdkema-apirrtelektron-message-api
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.

@dkamburov

Hi,

Please let us know if you have any update on this question.

If it is still an issue, please post again to offer further insight into your question.

Regards,

AHS

@dkamburov

Hi,

Please let us know if you have any update on this question. If it is still an issue, please post again to offer further insight into your question.

Regards,

AHS

Upvotes
Accepted
24.7k 54 17 14

Hello @dkamburov

  • What are the version of EMA Java and Java SDK that you are using?
  • Which component (ADH Cache, RCC, ATS, etc.) that the application aims to contribute data to?

The "Encoded data length exceeds RWF length" message is generated from the infra backend. The message means the posted value is exceeded PRIMACT_1 (FID 393) field length specification.

You can find more detail of how to contribute data with the following resources/example:



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 1 2

I will correct my question. I am searching for a correct way of price contribution and the price contains decimal plates.

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.