QuickFIX/J 错误值超出此标签的范围

2024-01-18

我已经实现了一个使用 QuickFIX/J(版本 1.6.0)的 Java 程序。它从具有重复组 NoPartyIDs(标签 453)的对方获取 FIX 消息(执行报告),​​并遵循以下值

(Tag 453) NoPartyIDs = 4

(Tag 447) PartyIDSource = D
(Tag 448) Party ID = XXX
(Tag 452) PartyRole = 1

(Tag 447) PartyIDSource = D
(Tag 448) Party ID = XXX
(Tag 452) PartyRole = 66

(Tag 447) PartyIDSource = D
(Tag 448) Party ID = XXX
(Tag 452) PartyRole = 55
(Tag 802) NoPartySubIDs = 1

(Tag 447) PartyIDSource = D
(Tag 448) Party ID = XXX
(Tag 452) PartyRole = 7

Screenshot from this part of the message: enter image description here

我的程序自动发送一条拒绝消息

(Tag 58) Text = "Value is incorrect (out of range) for this tag"
(Tag 371) RefTagID = 452
(Tag 373) SessionRejectReason = 5

Screentshot from the whole response: enter image description here

现在,我问我,为什么我的程序在收到 FIX 消息时会做出这样的反应。因为关于标签 452 的消息值PartyRole没有超出范围(在这里查找文档 http://www.fixtradingcommunity.org/FIXimate/FIXimate3.0/latestEP/en/FIX.5.0SP2_EP194/tag452.html), or?!

QuickFix/J 实现的源文件也应该知道这些值。源代码如下:

/* Generated Java Source File */
/*******************************************************************************
 * Copyright (c) quickfixengine.org  All rights reserved. 
 * 
 * This file is part of the QuickFIX FIX Engine 
 * 
 * This file may be distributed under the terms of the quickfixengine.org 
 * license as defined by quickfixengine.org and appearing in the file 
 * LICENSE included in the packaging of this file. 
 * 
 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING 
 * THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A 
 * PARTICULAR PURPOSE. 
 * 
 * See http://www.quickfixengine.org/LICENSE for licensing information. 
 * 
 * Contact [email protected] /cdn-cgi/l/email-protection if any conditions of this licensing 
 * are not clear to you.
 ******************************************************************************/

package quickfix.field;

import quickfix.IntField;


public class PartyRole extends IntField {

    static final long serialVersionUID = 20050617;

    public static final int FIELD = 452;
    public static final int EXECUTING_FIRM = 1;
    public static final int BROKER_OF_CREDIT = 2;
    public static final int CLIENT_ID = 3;
    public static final int CLEARING_FIRM = 4;
    public static final int INVESTOR_ID = 5;
    public static final int INTRODUCING_FIRM = 6;
    public static final int ENTERING_FIRM = 7;
    public static final int LOCATE_LENDING_FIRM = 8;
    public static final int FUND_MANAGER_CLIENT_ID = 9;
    public static final int SETTLEMENT_LOCATION = 10;
    public static final int ORDER_ORIGINATION_TRADER = 11;
    public static final int EXECUTING_TRADER = 12;
    public static final int ORDER_ORIGINATION_FIRM = 13;
    public static final int GIVEUP_CLEARING_FIRM = 14;
    public static final int CORRESPONDANT_CLEARING_FIRM = 15;
    public static final int EXECUTING_SYSTEM = 16;
    public static final int CONTRA_FIRM = 17;
    public static final int CONTRA_CLEARING_FIRM = 18;
    public static final int SPONSORING_FIRM = 19;
    public static final int UNDERLYING_CONTRA_FIRM = 20;
    public static final int CLEARING_ORGANIZATION = 21;
    public static final int EXCHANGE = 22;
    public static final int CUSTOMER_ACCOUNT = 24;
    public static final int CORRESPONDENT_CLEARING_ORGANIZATION = 25;
    public static final int CORRESPONDENT_BROKER = 26;
    public static final int BUYER_SELLER = 27;
    public static final int CUSTODIAN = 28;
    public static final int INTERMEDIARY = 29;
    public static final int AGENT = 30;
    public static final int SUB_CUSTODIAN = 31;
    public static final int BENEFICIARY = 32;
    public static final int INTERESTED_PARTY = 33;
    public static final int REGULATORY_BODY = 34;
    public static final int LIQUIDITY_PROVIDER = 35;
    public static final int ENTERING_TRADER = 36;
    public static final int CONTRA_TRADER = 37;
    public static final int POSITION_ACCOUNT = 38;
    public static final int CONTRA_INVESTOR_ID = 39;
    public static final int TRANSFER_TO_FIRM = 40;
    public static final int CONTRA_POSITION_ACCOUNT = 41;
    public static final int CONTRA_EXCHANGE = 42;
    public static final int INTERNAL_CARRY_ACCOUNT = 43;
    public static final int ORDER_ENTRY_OPERATOR_ID = 44;
    public static final int SECONDARY_ACCOUNT_NUMBER = 45;
    public static final int FORIEGN_FIRM = 46;
    public static final int THIRD_PARTY_ALLOCATION_FIRM = 47;
    public static final int CLAIMING_ACCOUNT = 48;
    public static final int ASSET_MANAGER = 49;
    public static final int PLEDGOR_ACCOUNT = 50;
    public static final int PLEDGEE_ACCOUNT = 51;
    public static final int LARGE_TRADER_REPORTABLE_ACCOUNT = 52;
    public static final int TRADER_MNEMONIC = 53;
    public static final int SENDER_LOCATION = 54;
    public static final int SESSION_ID = 55;
    public static final int ACCEPTABLE_COUNTERPARTY = 56;
    public static final int UNACCEPTABLE_COUNTERPARTY = 57;
    public static final int ENTERING_UNIT = 58;
    public static final int EXECUTING_UNIT = 59;
    public static final int INTRODUCING_BROKER = 60;
    public static final int QUOTE_ORIGINATOR = 61;
    public static final int REPORT_ORIGINATOR = 62;
    public static final int SYSTEMATIC_INTERNALISER = 63;
    public static final int MULTILATERAL_TRADING_FACILITY = 64;
    public static final int REGULATED_MARKET = 65;
    public static final int MARKET_MAKER = 66;
    public static final int INVESTMENT_FIRM = 67;
    public static final int HOST_COMPETENT_AUTHORITY = 68;
    public static final int HOME_COMPETENT_AUTHORITY = 69;
    public static final int COMPETENT_AUTHORITY_OF_THE_MOST_RELEVANT_MARKET_IN_TERMS_OF_LIQUIDITY = 70;
    public static final int COMPETENT_AUTHORITY_OF_THE_TRANSACTION = 71;
    public static final int REPORTING_INTERMEDIARY = 72;
    public static final int EXECUTION_VENUE = 73;
    public static final int MARKET_DATA_ENTRY_ORIGINATOR = 74;
    public static final int LOCATION_ID = 75;
    public static final int DESK_ID = 76;
    public static final int MARKET_DATA_MARKET = 77;
    public static final int ALLOCATION_ENTITY = 78;

    public PartyRole() {
        super(452);
    }

    public PartyRole(int data) {
        super(452, data);
    }

}

也许你有类似的问题或者你看到了我的谬论..

谢谢各位大佬的帮助!!!


有一个字段PartyRole=66在 ExecutionReport 中,这不是有效的值FIX 4.4 中的当事人角色 http://www.fixtradingcommunity.org/FIXimate/FIXimate3.0/en/FIX.4.4/tag452.html(您的拒绝消息有8=FIX.4.4)。您发布的文档链接适用于 FIX 5.0 SP2。

如果您的交易对手发送 FIX 4.4 中不支持的 PartyRole 值,您可以考虑创建一个单独的数据字典来支持该特定交易对手。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QuickFIX/J 错误值超出此标签的范围 的相关文章

  • 使用 Intellij Idea 和 gradle 在应用程序引擎上调试 localhost

    我正在使用 IntelliJ 社区添加并使用 Gradle 构建应用程序引擎标准环境应用程序 在迁移到 IntelliJ 和端点框架之前 我使用的是 Android Studio 我无法调试我的本地主机 我添加了 jvmFlags 如下所述
  • Netbeans 8.1 Gnome 3 GTK+ UI 字体和选项卡高度

    我刚刚在运行 GNOME 3 桌面的 Ubuntu 16 04 上安装了 NetBeans 8 1 如果可能的话 我想继续使用 IDE 的 GTK 外观和感觉 但 UI 上的字体 尤其是选项卡中的字体 太小且重叠 我尝试添加 fontsiz
  • java.lang.ClassNotFoundException:javax.mail.MessagingException

    我想使用 eclipse 将电子邮件从我的 gmail 帐户发送到另一个邮件帐户 我使用 apache tomcat 7 0 34 作为我的 Web 服务器 并使用端口 8080 作为 apache 服务器 HTTP 1 1 并使用 JRE
  • eclipse行号状态行贡献项是如何实现的?

    我需要更新状态行编辑器特定的信息 我已经有了自己的实现 但我想看看 eclipse 贡献项是如何实现的 它显示状态行中的行号 列位置 谁能指点一下 哪里可以找到源代码 提前致谢 亚历克斯 G 我一直在研究它 它非常复杂 我不确定我是否了解完
  • Java 的支持向量机?

    我想用Java编写一个 智能监视器 它可以随时发出警报detects即将到来的性能问题 我的 Java 应用程序正在以结构化格式将数据写入日志文件
  • Android 无法解析日期异常

    当尝试解析发送到我的 Android 客户端的日期字符串时 我得到一个无法解析的日期 这是例外 java text ParseException 无法解析的日期 2018 09 18T00 00 00Z 位于 偏移量 19 在 java t
  • 如何在java中将日期格式从YYMMDD更改为YYYY-MM-DD? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我从机器可读代码中获取日期格式为 YYMMDD 如何将其更改为 YYYY MM DD 例如我收到 871223 YYMMDD 我想把它改成
  • 如何仅从 Firestore 获取最新更新的数据?

    在 Firestore 上发现任何更改时始终获取整个文档 如何只获取最近更新的数据 这是我的数据 我需要在第一次加载时在聊天中按对象顺序 例如 2018 09 17 30 40 msg和sendby 并且如果数据更新则仅获取新的msg和se
  • Java Applet 中的 Apache FOP - 未找到数据的 ImagePreloader

    我正在研究成熟商业产品中的一个问题 简而言之 我们使用 Apache POI 库的一部分来读取 Word DOC 或 DOCX 文件 并将其转换为 XSL FO 以便我们可以进行标记替换 然后 我们使用嵌入到 Java 程序中的 FOP 将
  • 将人类日期(当地时间 GMT)转​​换为日期

    我正在服务器上工作 服务器正在向我发送 GMT 本地日期的日期 例如Fri Jun 22 09 29 29 NPT 2018在字符串格式上 我将其转换为日期 如下所示 SimpleDateFormat simpleDateFormat ne
  • 如何使用 JMagick 转换色彩空间?

    如何使用 JMagick API 转换色彩空间 例如 CMYK gt RGB 和 RGB gt CMYK None
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • 提高 PostgreSQL 1 亿数据左连接查询性能

    我在用Postgresql 9 2 version Windows 7 64 bit RAM 6GB 这是一个Java企业项目 我必须在我的页面中显示订单相关信息 有三个表通过左连接连接在一起 Tables TV HD 389772 行 T
  • 如何将 HTML 链接放入电子邮件正文中?

    我有一个可以发送邮件的应用程序 用 Java 实现 我想在邮件中放置一个 HTML 链接 但该链接显示为普通字母 而不是 HTML 链接 我怎样才能将 HTML 链接放入字符串中 我需要特殊字符吗 太感谢了 Update 大家好你们好 感谢
  • 使用 HtmlUnit 定位弹出窗口

    我正在构建一个登录网站并抓取一些数据的程序 登录表单是一个弹出窗口 所以我需要访问这个www betexplorer com网站 在页面的右上角有一个登录链接 写着 登录 我单击该链接 然后出现登录弹出表单 我能够找到顶部的登录链接 但找不
  • java XMLSerializer 避免复杂的空元素

    我有这个代码 DocumentBuilderFactory factory DocumentBuilderFactory newInstance DocumentBuilder builder factory newDocumentBuil
  • Android View Canvas onDraw 未执行

    我目前正在开发一个自定义视图 它在画布上绘制一些图块 这些图块是从多个文件加载的 并将在需要时加载 它们将由 AsyncTask 加载 如果它们已经加载 它们只会被绘制在画布上 这工作正常 如果加载了这些图片 AsyncTask 就会触发v
  • Java/Python 中的快速 IPC/Socket 通信

    我的应用程序中需要两个进程 Java 和 Python 进行通信 我注意到套接字通信占用了 93 的运行时间 为什么通讯这么慢 我应该寻找套接字通信的替代方案还是可以使其更快 更新 我发现了一个简单的修复方法 由于某些未知原因 缓冲输出流似
  • Spring RESTful控制器方法改进建议

    我是 Spring REST 和 Hibernate 的新手 也就是说 我尝试组合一个企业级控制器方法 我计划将其用作未来开发的模式 您认为可以通过哪些方法来改进 我确信有很多 RequestMapping value user metho
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁

随机推荐