[QFJ-984] The order of the tags constructing a message is mixed Created: 21/Aug/19  Updated: 21/Aug/19  Resolved: 21/Aug/19

Status: Closed
Project: QuickFIX/J
Component/s: Message Generation
Affects Version/s: 2.1.1
Fix Version/s: None

Type: Other Priority: Minor
Reporter: Pavel Assignee: Unassigned
Resolution: Not a bug Votes: 0
Labels: None


 Description   

I construct a message in the following way:

quickfix.fix44.MarketDataRequest message = new quickfix.fix44.MarketDataRequest();
        
        char zero = '0';
        char one = '1';
        message.setField(new quickfix.field.MDReqID("EURUSD")); // 262
        message.setField(new quickfix.field.SubscriptionRequestType(one)); // 263
        message.setField(new quickfix.field.MarketDepth(1)); // 264
        message.setField(new quickfix.field.MDUpdateType(0)); // 265            

        message.setField(new quickfix.field.NoMDEntryTypes(2)); // 267
        message.setField(new quickfix.field.MDEntryType(zero)); // 269        
        message.setField(new quickfix.field.MDEntryType(one)); // 269

        message.setField(new quickfix.field.NoRelatedSym(1)); // 146
        message.setField(new quickfix.field.SecurityID("4001")); // 48
        message.setField(new quickfix.field.SecurityIDSource("8")); // 22
        
        Session.sendToTarget(message, senderCompID, marketTargetCompID); 

I also load a dictionary in which tags 146, 48 and 22 are after tag 269. But the message sent to the trader looks like this:

8=FIX.4.4^A9=121^A35=V^A34=2^A49=USERNAME^A52=20190821-11:11:42.045^A56=TRADER^A22=8^A48=4001^A146=1^A262=EURUSD^A263=1^A264=1^A265=0^A267=2^A269=1^A10=191^A

The confusing thing is that tags 146, 48 and 22 are mixed and moved before tag 262 even though the dictionary doesn't allow that.

I have two suggestion why this may happen:

  • Quickfix/J mixes the tags because of an issue or because I miss some configuration.
  • The dictionary provided by the trader is not loaded and I use some defaultdictionary which brings me to this issue.

I don't know if that would help but here is the cfg file:

[DEFAULT]
ConnectionType=initiator
BeginString=FIX.4.4

StartTime=08:30:00
EndTime=21:30:00
ReconnectInterval=5
HeartBtInt=5
LogonTimeout=60

FileStorePath=target/data/sessions/
FileLogPath=target/data/logs/

SenderCompID=USERNAME
UseDataDictionary=Y
SocketUseSSL=Y


[SESSION]
TargetCompID=TRADER
SocketConnectHost=URL_OF_THE_TRADER
SocketConnectPort=443
DataDictionary=/var/quickfixj/automated/DICTIONARY.xml


 Comments   
Comment by Christoph John [ 21/Aug/19 ]

Please do not post to mailing list and open a bug. Mailing list is the correct place to ask.

Thank you

Comment by Pavel [ 21/Aug/19 ]

Ok, I didn't know which is the right place because I was't sure if this is a bug or a general question.

Comment by Christoph John [ 21/Aug/19 ]

No problem

Generated at Sat May 11 07:04:32 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.