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?