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?