Details
-
Type: Other
-
Status: Closed
-
Priority: Default
-
Resolution: Fixed
-
Affects Version/s: 1.0.3
-
Fix Version/s: None
-
Component/s: Engine
-
Labels:None
-
Environment:linux netbeans
Description
We have established a connection to HotSpot to receive market data.
After session start and login, but before we receive tick data, we get a message with the buffered market data.
In the Session-Log there is a message:
SCHWERWIEGEND: Invalid message: Actual body length=120, Expected body length=680
"SCHWERWIEGEND" is german and means crucial.
After some debugging we found the reason. The following incomming message from hotspot:
8=FIX.4.29=68035=X49=HOTSPOT56=OUR-SIDE34=117252=20061018-11:13:55268=25279=0
55=CAD/JPY5071=3279=055=AUD/JPY5071=3279=055=GBP/CHF5071=5279=055=EUR/SEK50
71=5279=055=NZD/USD5071=5279=055=AUD/USD5071=5279=055=EUR/NOK5071=5279=0
55=EUR/AUD5071=5279=055=EUR/CHF5071=5279=055=GBP/JPY5071=3279=055=EUR/USD50
71=5279=055=USD/NOK5071=5279=055=CHF/JPY5071=3279=055=AUD/NZD5071=5279=0
55=USD/JPY5071=3279=055=GBP/AUD5071=5279=055=USD/SGD5071=5279=055=USD/CHF50
71=5279=055=USD/SEK5071=5279=055=USD/CAD5071=5279=055=USD/MXN5071=5279=0
55=GBP/USD5071=5279=055=EUR/GBP5071=5279=055=EUR/JPY5071=3279=055=EUR/DKK5071=510=029
is supposed to have a body length of 680 but quickfix says it has only 120.
We found the reason within the methodes Message.bodyLength and FieldMap.calculateLength.
As you can see the message contains multiple fields with the ID 055, when calculating the length within the method FieldMap.calculateLength only the last quote EUR/DKK is added to the bodylength.
We are not sure if the message from hotspot does not comply the the FIX-spec or quickfix.
It seems that the multiple fields are getting lost like when you add multiple fields into a hashmap.
Best regards, Welf
**************************************************************************************************
SESSION-LOG:
18.10.2006 13:13:54 quickfix.mina.initiator.InitiatorIoHandler sessionCreated
INFO: MINA session created: /172.16.130.130:32820
OUTGOING[13]toAdmin(), SessionID: FIX.4.2:OUR-SIDE->HOTSPOT
LOGON
8=FIX.4.29=11135=A34=1349=OUR-SIDE52=20061018-11:13:55.18856=HOTSPOT98=0108=60553=USER
554=PASSWD10=144
INCOMING[1171]fromAdmin(), SessionID: FIX.4.2:OUR-SIDE->HOTSPOT
LOGON
8=FIX.4.29=8535=A34=117149=HOTSPOT52=20061018-11:13:4956=OUR-SIDE98=0108=6010=073
OUTGOING[14]toAdmin(), SessionID: FIX.4.2:OUR-SIDE->HOTSPOT
RESEND_REQUEST
8=FIX.4.29=8435=234=1449=OUR-SIDE52=20061018-11:13:59.18956=HOTSPOT7=416=010=007
onLogon(): LOGON SUCCESSFUL, SessionID is FIX.4.2:OUR-SIDE->HOTSPOT
INCOMING[4]fromAdmin(), SessionID: FIX.4.2:OUR-SIDE->HOTSPOT
SEQUENCE_RESET
8=FIX.4.29=8935=434=443=Y49=HOTSPOT52=20061018-11:13:4956=OUR-SIDE36=1172123=Y10=043
18.10.2006 13:14:05 quickfix.mina.AbstractIoHandler messageReceived
SCHWERWIEGEND: Invalid message: Actual body length=120, Expected body length=680
OUTGOING[15]toAdmin(), SessionID: FIX.4.2:OUR-SIDE->HOTSPOT
HEARTBEAT
8=FIX.4.29=7535=034=1549=OUR-SIDE52=20061018-11:15:00.18956=HOTSPOT10=124