[QFJ-805] Set GBK charset will silently drop message Created: 07/Aug/14  Updated: 08/Aug/14  Resolved: 08/Aug/14

Status: Closed
Project: QuickFIX/J
Component/s: Engine
Affects Version/s: 1.5.3
Fix Version/s: None

Type: Bug Priority: Default
Reporter: Jiang Hailong Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Duplicate
duplicates QFJ-38 FIX Message support double-byte charset. Closed

 Comments   
Comment by Christoph John [ 07/Aug/14 ]

Hi, I think this is due to checksum errors. This should be the same issue as QFJ-38, correct? This is fixed with 1.6.0.

Comment by Jiang Hailong [ 07/Aug/14 ]

When I set the charset as GBK, QuickFIX will log "MsgSeqNum too high, expecting 3 but received 4" into event.log and similar for each following message. But these logs will not appear when I set the charset as ISO-8859-1 or UTF-8.

So I check the message.log for more detail, and I found that the message with MsgSeqNum=3 exists, and the "fromApp" method never get called for this message. The message contains a Text field with a GBK encoded string.

Here is the MsgSeqNum=3 message:

8=FIX.4.2|9=257|35=8|34=3|49=SERVER|52=20140807-15:08:43.359|56=FIXTest140|6=0|11=1407424160744|14=0|17=290490401|20=0|37=1407424160744|38=0|39=8|54=1|55=600035|58=error_business: Broker return: Code:-420411065 Msg:-420411065[-150906020]ÊäÈëίÍÐÊýÁ¿ÓÐÎó|103=99|150=8|151=0|10=114|

So why the message is droped? And how can I set the charset as GBK?

Comment by Christoph John [ 07/Aug/14 ]

Please see my comment above. It is due to checksum error when using a non-standard encoding. Please check with current 1.6.0-SNAPSHOT version if the problem disappears. You might have to recompile your code against 1.6.0.
http://www.quickfixj.org:8085/browse/QFJ-GIT/latest/artifact/shared/qfj-zip/

Comment by Jiang Hailong [ 08/Aug/14 ]

I build from 1.6.0 and this problem is fixed. Thank you very much.

Generated at Sat Nov 23 01:00:05 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.