[QFJ-389] DataDictionary handling in case of FIX 5.0 Created: 07/Jan/09  Updated: 27/Jul/11  Resolved: 08/Jan/09

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

Type: Bug Priority: Default
Reporter: Baxter Solutions Assignee: Unassigned
Resolution: Not a bug Votes: 0
Labels: None


 Description   

On parsing FIX 5.0 application messages there is an error, thereafter NullPointerExceptions thrown.

{{
java.lang.NullPointerException
at quickfix.DataDictionary.isHeaderField(DataDictionary.java:258)
at quickfix.Message.isHeaderField(Message.java:651)
at quickfix.Message.parseHeader(Message.java:496)
at quickfix.Message.parse(Message.java:459)
at quickfix.MessageUtils.parse(MessageUtils.java:128)
at quickfix.mina.AbstractIoHandler.messageReceived(AbstractIoHandler.java:113)
}}

This might be because FIX 5.0 DataDictionary is used for header validation instead of FIXT 1.1.

Possible solution:
MessageUtils.java, near line 116 of svn rev. 899.
{{
...
public static Message parse(Session session, String messageString) throws InvalidMessage

{ ... DataDictionary sessionDataDictionary = ddProvider .getSessionDataDictionary((FixVersions.FIX50.equals(beginString)) ? FixVersions.BEGINSTRING_FIXT11 : beginString); ... }

}}



 Comments   
Comment by Baxter Solutions [ 07/Jan/09 ]

Well, we just misunderstood the FIX 5.0 and FIXT 1.1 specification. Sorry...

Comment by Cesar Kamoy [ 27/Jul/11 ]

Very interestingly

Generated at Sat Apr 27 23:24:46 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.