FIX协议:指定的标签顺序不正确

问题描述 投票:0回答:1

我收到35 = D(NewOrderSingle)请求的拒绝响应。想知道可能是什么问题。我正在关注此document

FIX.4.4:Paragxxxx_FIX->CfhDemoPrices:Trade------client toApp-----------8=FIX.4.4 9=163 35=D 34=2 49=Paragxxxx_FIX 52=20200227-04:30:02.863 56=CfhDemoPrices 11=FGQ_MLM_01_20200225-08:48:28 21=1 38=10000 40=1 54=1 55=EURUSD 60=20200227-04:30:02.861 10=182

FIX.4.4:Paragxxxx_FIX->CfhDemoPrices:Trade------client else fromAdmin--------8=FIX.4.4 9=136 35=3 34=2 49=CfhDemoPrices 52=20200227-04:30:05.925 56=Paragxxxxx_FIX 45=2 58=Tag specified out of required order 371=50 372=D 373=14 10=042

添加SenderSubid(50)之后,下面是请求和响应

8=FIX.4.4 9=183 35=D 34=2 49=Paragxxxxxx_FIX 50=L6UtbRZvhwEFuZft 52=20200301-23:20:52.088 56=CfhDemoPrices 11=FGQ_MLM_01_20200225-08:48:28 21=1 38=10000 40=1 54=1 55=EURUSD 60=20200301-23:20:52.087 10=056

8=FIX.4.49=136 35=3 34=2 49=CfhDemoPrices 52=20200301-23:20:52.172 56=Paragxxxxxx_FIX 45=2 58=Tag specified out of required order 371=50 372=D 373=14  10=031
fix-protocol quickfixj
1个回答
3
投票

Reject消息告诉您以下内容:

45=2表示RefSeqNum=2-Reject与您通过MsgSeqNum=2发送的消息有关371=50表示RefTagID=50-您邮件中的标签50/SenderSubID受到影响372=D表示RefMsgType=D-消息NewOrderSingle受到影响373=14表示原因是Tag specified out of required order

您没有在原始请求中发送标签50,因此您的交易对手可能意味着标签丢失。但是,他们确实应该以1表示Required tag missing的理由拒绝此请求。最好的办法可能是与您的交易对手联系。

作为旁注,您确实应该尝试自己理解这些基本错误。您可以使用例如官方的FIX规范浏览器https://fiximate.fixtrading.org/您可以在那里查询标签的各种枚举值,例如对于标签371、372、373。

当然,您的交易对手的FIX实现可能有所不同,但是对于大多数基本方案而言已经足够了。

© www.soinside.com 2019 - 2024. All rights reserved.