我有一个C#QuickFix应用程序需要设置(标签128)DeliverToCompID,但是类 QuickFix.SessionSettings 不包含此字段,这意味着我无法从标头加载DeliverToCompID ...我知道应该在发送消息之前设置DeliverToCompID。
以下3行不正确,因为应在标题中设置DeliverToCompID。
UICollectionViewFlowLayout
我需要重新编译库吗?或者任何人都知道如何设置DeliverToCompID?
QuickFix版本:1.7.0.0
错误讯息:
if (message.IsSetField(Tags.DeliverToCompID))
message.SetField(new DeliverToCompID("COMP_C"));
Session.Send(message);
FIX xml的一部分:
Initiated logon request
Message 1 Rejected: Required tag missing (Field=128)
Session FIX.4.2:COMP_A->COMP_B disconnecting: QuickFix.QuickFIXException:
配置文件的一部分:
<header>
<field name="DeliverToCompID" required="Y"/>
答案 0 :(得分:1)
会话标头Tag 128正在讨论会话配置。
;WITH tree AS
(
SELECT c1.id, c1.name, c1.sub_of, [id_level] = c1.id, [level] = 1
FROM dbo.[btree2] c1
WHERE c1.sub_of = 0
UNION ALL
SELECT c2.id, c2.name, c2.sub_of, [id_level] = tree.[id_level], [level] = tree.[level] + 1
FROM dbo.[btree2] c2 INNER JOIN tree ON c2.sub_of = tree.id
)
SELECT t1.id, t1.sub_of, t1.name, t1.id_level, t1.level
FROM tree t1
INNER JOIN (SELECT id_level, MAX(level) AS level FROM tree GROUP BY id_level) t2
ON t1.id_level = t2.id_level AND t1.level = t2.level
ORDER BY id_level, level
OPTION (MAXRECURSION 0)
;
由于我只有一个会话登录但是有多个执行代理,我需要为每个消息设置Tag 128,如下所示:
+----+--------+----------+----------+-------+
| id | sub_of | name | id_level | level |
+----+--------+----------+----------+-------+
| 5 | 1 | Level 2A | 1 | 2 |
| 11 | 6 | Level 3B | 2 | 3 |
| 10 | 9 | Level 5C | 3 | 5 |
| 4 | 0 | Level 1D | 4 | 1 |
+----+--------+----------+----------+-------+