2017-04-13 42 views
0

我想添加一個自定義消息並編譯quickfixj和我遇到了一個問題,我添加的最後幾個字段沒有被拿起(如果它們的話,它們都具有> 93000的字段編號)Quickfixj 1.5.x/1.6.x自定義消息與重複組 - 編譯問題

代碼生成是可以的,但是編譯失敗,我相信我錯過了一些明顯的東西,搜索了別人報告的類似問題但是沒有找到任何東西,請有人請幫助

公共靜態類NoAccounts擴展集團{

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"/>  

回答

0

請忽略的,愚蠢的錯誤,我已經添加了「說明」屬性而不是「名稱」屬性添加到新的領域我已經添加,當我包含在組/組件中時,源代碼在編譯期間不會產生問題。經驗教訓 - 雙重檢查字典,以避免在重新編譯期間出現問題