2017-02-18 9 views
0

У меня есть приложение C# QuickFix, который требует, чтобы установить (Tag 128) DeliverToCompID, но класс QuickFix.SessionSettings не содержит это поле, это означает, что я не могу загрузить DeliverToCompID из заголовок ... Я понимаю, что DeliverToCompID должен быть установлен до отправки сообщения.QuickFixN: Как установить DeliverToCompID (Tag 128)

Ниже 3 строки неверны, поскольку DeliverToCompID должен быть установлен в заголовке.

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

Нужно ли перекомпилировать библиотеку? или Кто-нибудь знает, как установить DeliverToCompID? версия

QuickFix: сообщение 1.7.0.0

Ошибка:

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

Часть FIX XML:

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

часть конфигурационного файла:

[DEFAULT] 
UseDataDictionary=Y 
[SESSION] 
BeginString=FIX.4.2 
SenderCompID=COMP_A 
TargetCompID=COMP_B 
DeliverToCompID=COMP_C 

ответ

1

Тег заголовка сеанса 128 говорит о конфигурации сеанса.

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

Поскольку у меня есть только один сеанс входа в систему, но несколько брокеров выполнения, мне нужно установить метку 128 за сообщение, как показано ниже:

message.Header.SetField(new DeliverToCompID("COMP_C")); 

 Смежные вопросы

  • Нет связанных вопросов^_^