What is this state meant by "(409) String Too Big"

I am trying to POST data to reuters using Postconsumer example and I am getting below response message.

Msg Type: MsgType.ACK_RESP

Msg Model Type: MARKET_PRICE

Indication Flags:

Hint Flags: HAS_ATTRIB_INFO | HAS_ID | HAS_STATE

State: UNSPECIFIED, NO_CHANGE, NACK_DENIED_BY_SRC, "(409) String Too Big"

Id: 1

When I try to Post one field entry getting ACK successful, when trying to Post 10 fieldentries is not successful and getting above message.

UPDATE:

Below is the data we want to post and we are receiving “(409) String Too Big”.

With RFA 7 Java we are available to post it but with RFA 8 Java getting above message

FID ACRONYM DATA LENGTH

--------------------------------------------------------------------------------------------------------------

[ 316 ] [ ROW80_2 ] ' ' 80

[ 318 ] [ ROW80_4 ] '|DAYS |RATE |TARGET AMOUNT ||DAYS |RATE |TARGET AMOUNT ' 80

[ 317 ] [ ROW80_3 ] ' PROGRAM FOR xx/xx/xx ' 80

[ 332 ] [ ROW80_18 ] '[ FOR MORE INFORMATION CALL xxx-xxx-xxx SUBJECT TO DISCLAIMER ON PG xxxxx ]' 80

[ 323 ] [ ROW80_9 ] '| | | || | | ' 80

[ 328 ] [ ROW80_14 ] '| | | || | | ' 80

[ 320 ] [ ROW80_6 ] '| | | || | | ' 80

[ 329 ] [ ROW80_15 ] '| | | || | | ' 80

[ 319 ] [ ROW80_5 ] '|x/xx-xx |x.xxx | x.xxx N/A || | | ' 80

[ 330 ] [ ROW80_16 ] '| | | || | | ' 80

[ 322 ] [ ROW80_8 ] '| | | || | | ' 80

[ 331 ] [ ROW80_17 ] '| | | || | | ' 80

[ 321 ] [ ROW80_7 ] '| | | || | | ' 80

[ 325 ] [ ROW80_11 ] '| | | || | | ' 80

[ 324 ] [ ROW80_10 ] '| | | || | | ' 80

[ 327 ] [ ROW80_13 ] '| | | || | | ' 80

[ 326 ] [ ROW80_12 ] '| | | || | | ' 80

From RDMFieldDictionary

!ACRONYM DDE ACRONYM FID RIPPLES TO FIELD TYPE LENGTH RWF TYPE RWF LEN
!------- ----------- --- ---------- ---------- ------ -------- -------

ROW80_2 "IRGROW 2" 316 NULL ALPHANUMERIC 80 RMTES_STRING 80

In dictionary also it is specified to be length of 80 and Data String we trying to POST is also length of 80. We are not trying to POST a Data String of greater than 80.

Best Answer

  • The case 05145983 has been created for this question. The cause is using encodeRmtesString(..) to encode one-byte ASCII. The method adds additional 3 characters while encoding. Since the length of string is 80, the total length of the string after encoding with this method exceeds the maximum(80) defined in the dictionary. That's why the application receives "(409) String Too Big" error from the feed.

    To fix the problem, encodeString(String, OMMTypes.RMTES_STRING) should be used for encoding one-byte ASCII instead. Normally, encodeRmtesString(..) is used when the string includes international data. For more detail of both methods, please refer to Interface OMMEncoder in RFAJ document: <RFAJ
    package>\Docs\refman\rfajava\com\reuters\rfa\omm\OMMEncoder.html

Answers