real-logic/fix-integration

Build failure - Cannot have the same field defined more than once on a message; this is against the FIX spec

mjpt777 opened this issue · 3 comments

Task :fix-44-codecs:generateCodecs FAILED

Exception in thread "main" java.lang.IllegalStateException: Cannot have the same field defined more than once on a message; this is against the FIX spec. Details to follow:
Message: AllocationInstruction Field : AccruedInterestAmt (159)
Message: SettlementInstructions Field : SettlInstSource (165)

        at uk.co.real_logic.artio.dictionary.DictionaryParser.identifyDuplicateFieldDefinitionsForMessages(DictionaryParser.java:452)
        at uk.co.real_logic.artio.dictionary.DictionaryParser.sanitizeDictionary(DictionaryParser.java:436)
        at uk.co.real_logic.artio.dictionary.DictionaryParser.parse(DictionaryParser.java:109)
        at uk.co.real_logic.artio.dictionary.CodecGenerationTool.parseDictionary(CodecGenerationTool.java:96)
        at uk.co.real_logic.artio.dictionary.CodecGenerationTool.main(CodecGenerationTool.java:49)

Hi Martin, I've just tried running the build locally and I don't hit this issue. Could it be that your quickfix sources aren't up to date? I think when we added this validation @tom-smalls had to pull request a change to make the quickfix examples valid.

Hi,

Yes I had to raise a pull request with quickfix-j (quickfix-j/quickfixj#197) to fix their invalid FIX44 specs.

Yes it works fine if I pull the latest quickfixj.