具有重复组的Quickfixj 1.5.x / 1.6.x自定义消息 - 编译问题

时间:2017-04-13 12:13:28

标签: quickfixj

我正在尝试添加自定义消息并编译quickfixj,并且我遇到了一个问题,即我所添加的最后几个字段没有被提取(如果重要的话,它们都有字段数> 93000)< / p>

代码生成没问题,但编译失败,我确信我遗漏了一些显而易见的东西,搜索了其他人报告的类似问题,但没有找到,有人可以帮忙

公共静态类NoAccounts扩展了Group {

    static final long serialVersionUID = 20050617;
    private static final int[] ORDER = {1, 51006, 90002, 90003, 51005, 90001, 93000, , , , , , , 0};

以下是我添加的内容

<message name="GetAccountsRsp" msgtype="UsE" msgcat="app">
  <field name="RequestId" required="Y"/>
  <field name="ResponseStatus" required="N"/>
  <field name="ErrorMessage" required="N"/>
  <component name="AccountGrp" required="N"/>
  <field name="Bookmark" required="N"/>
  <field name="LastFragment" required="Y"/>
</message>

<component name="AccountGrp">
  <group name="NoAccounts" required="N">
    <field name="Account" required="N"/>
    <field name="RiskNodeID" required="N"/>
    <field name="Name" required="N"/>
    <field name="AutomaticMoveAccountId" required="N"/>
    <field name="Owner" required="N"/>
    <field name="JSCCAccountType" required="N"/>
    <component name="AccountExtension" required="N"/>
  </group>    
</component>
<component name="AccountExtension">
  <field name="JpxAccountType" required="N"/>
  <field name="IsOmnibus" required="N"/>
  <field name="IsGross" required="N"/>
  <field name="ClientId" required="N"/>
  <field name="TradingMemberId" required="N"/>
  <field name="ClearingMemberId" required="N"/>
  <field name="IsConcentration" required="N"/>
</component>

<field number="50007" name="Bookmark" type="STRING"/>
<field number="50025" name="RequestId" type="STRING"/>
<field number="51005" name="Owner" type="STRING"/>
<field number="51006" name="RiskNodeID" type="STRING"/>
<field number="51009" description="ClearingMemberId" type="STRING" />
<field number="51011" description="TradingMemberId" type="STRING" />
<field number="51015" name="ResponseStatus" type="STRING">
  <value enum="0" description="ACCEPTED" />
  <value enum="1" description="REJECTED" />
</field>
<field number="51016" name="ErrorMessage" type="STRING"/>
<field number="51019" name="NoAccounts" type="NUMINGROUP"/>
<field number="90001" name="JSCCAccountType" type="STRING">
  <value enum="1" description="DEFAULT_CLEARING_HOUSE" />
  <value enum="2" description="CLEARING_HOUSE" />
  <value enum="3" description="NORMAL" />
  <value enum="4" description="CONCENTRATION" />
</field>
<field number="90002" name="Name" type="STRING"/>
<field number="90003" name="AutomaticMoveAccountId" type="STRING"/>
<field number="93000" name="JpxAccountType" type="STRING">
  <value enum="1" description="HOUSE_ACCOUNT_TYPE" />
  <value enum="2" description="AFFILIATE_ACCOUNT_TYPE" />
  <value enum="3" description="CLIENT_ACCOUNT_TYPE" />
</field>
<field number="93001" description="IsOmnibus" type="BOOLEAN">
  <value enum="N" description="FALSE"/>
  <value enum="Y" description="TRUE"/>
</field>
<field number="93002" description="IsGross" type="BOOLEAN">
  <value enum="N" description="FALSE"/>
  <value enum="Y" description="TRUE"/>
</field>
<field number="93003" description="ClientId" type="STRING" />
<field number="93015" description="IsConcentration" type="BOOLEAN">
  <value enum="N" description="FALSE"/>
  <value enum="Y" description="TRUE"/>  
</field>
<field number="96005" name="ContractPeriod" type="INT"/>    

1 个答案:

答案 0 :(得分:0)

请忽略,愚蠢的错误,我已经添加'description'属性而不是'name'属性到我添加的新字段,当我在组/组件源中包含时没有这些导致编译时出现问题。经验教训 - 仔细检查字典以避免重新编译时出现问题