1

I have a C# QuickFix application which require to set (Tag 128)DeliverToCompID, but the class QuickFix.SessionSettings does not contain this field, this means I cannot load DeliverToCompID from the header...I understand DeliverToCompID should be set before message send.

Below 3 lines are incorrect because DeliverToCompID should be set in header.

if (message.IsSetField(Tags.DeliverToCompID)) 
   message.SetField(new DeliverToCompID("COMP_C"));
Session.Send(message);

Do I need to recompile the library? or Anyone know how to set DeliverToCompID?

QuickFix version: 1.7.0.0

Error message:

Initiated logon request
Message 1 Rejected: Required tag missing (Field=128)
Session FIX.4.2:COMP_A->COMP_B disconnecting: QuickFix.QuickFIXException:

Part of the FIX xml:

<header>
<field name="DeliverToCompID" required="Y"/>

Part of the config file:

[DEFAULT]
UseDataDictionary=Y
[SESSION]
BeginString=FIX.4.2
SenderCompID=COMP_A
TargetCompID=COMP_B
DeliverToCompID=COMP_C
littlecodefarmer758
  • 968
  • 2
  • 10
  • 23

1 Answers1

1

The session header Tag 128 is talking about the session configuration.

<header>
<field name="DeliverToCompID" required="N"/>

Since I have only one session logon but multiple execution Brokers, I need to set Tag 128 per message as shown below:

message.Header.SetField(new DeliverToCompID("COMP_C"));
littlecodefarmer758
  • 968
  • 2
  • 10
  • 23