Page tree
Skip to end of metadata
Go to start of metadata

New format of Version property is available since FIXEdge 5.9.

1. Prepare custom dictionary

1.1. As standalone dictionary

  • Choose required FIX version (FIX.4.4, FIXT.1.1, FIX.5.0.SP2, etc)
  • Get corresponded common dictionary file (fixdic44.xml, fixdict11.xml, fixdic50sp2.xml) and save with new name e.g. fixdic44Custom.xml
  • Change dictionary id:
    before:

     

    fixdict44.xml
    <fixdic xmlns="http://www.b2bits.com/FIXProtocol" 
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.b2bits.com/FIXProtocol fixdic.xsd"
            id="FIX44" 
            fixversion="4.4" 
            title="FIX 4.4 (with errata 20030618)" 
            version="1.5.19" 
            date="2013-03-14">


    after:

    fixdict44.xml
    <fixdic xmlns="http://www.b2bits.com/FIXProtocol" 
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.b2bits.com/FIXProtocol fixdic.xsd"
            id="FIX44Custom" 
            fixversion="4.4" 
            title="FIX 4.4 (with errata 20030618)" 
            version="1.5.19" 
            date="2013-03-14">
  • add other modifications if it is needed

1.2. As additional dictionary

  • Prepare common additional dictionary:

    additional.xml
    <fixdics>
        <update>
            <fixdic 
                id="FIX44" 
                fixversion="4.4" 
                title="Custom fields FIX 4.4" 
                date="2015/01/25">
                <fielddic>
                    <fielddef tag="1003" name="TradeID" type="String"/>
                </fielddic>
                  <msgdic>
                    <msgdef msgtype="AE" name="Trade Capture Report">
                        <field tag="1003" name="TradeID" req="Y"/>
                    </msgdef>
                </msgdic>
            </fixdic>
        </update>
    </fixdics>



  • configure it to register modified dictionary as new dictionary:

    additional.xml
    <fixdics>
        <update>
            <fixdic 
                id="FIX44Custom" 
                parent_id="FIX44"
                fixversion="4.4" 
                title="Custom FIX 4.4" 
                date="2015/01/25">
                <fielddic>
                    <fielddef tag="1003" name="TradeID" type="String"/>
                </fielddic>
                  <msgdic>
                    <msgdef msgtype="AE" name="Trade Capture Report">
                        <field tag="1003" name="TradeID" req="Y"/>
                    </msgdef>
                </msgdic>
            </fixdic>
        </update>
    </fixdics>

2.Register custom dictionaries to loading by FIX Antenna

Add paths to custom dictionary files to DictionariesFilesList property in engine.properties file

e.g.

# This parameter contains semicolon separated list of names of the XML files with definitions and extensions of the FIX protocols.
DictionariesFilesList = fixdic44.xml;fixdic44Custom.xml

Make sure that common dictionary is included both in case 1.1 and in case 1.2

3. Define parsers based on custom dictionaries

Add definitions of parsers to AdditionalParsersList property in engine.properties file

e.g.

# List of additional protocols id's that require to register parsers
# Format of each value divided by semicolon: [UNIQUE_PARSER_NAME@][FIXT_PROTOCOL1:]APP_PROTCOL1[,APP_PROTCOL2...]

# Example if you have FIX44Custom dictionary:
AdditionalParsersList = FIX44Custom

# Example if you have FIX50Custom dictionary:
# AdditionalParsersList = CustomParserName1@FIXT11:FIX50Custom

# Example if you have all combinations:
# AdditionalParsersList = FIX44Custom;FIXT11Custom:FIX50Custom;CustomParserName1@FIXT11:FIX50Custom

4. Configure FIX session to use custom dictionary

Modify Version property of session in FIXEdge.properties file

FixEdge.properties
FixLayer.FixEngine.Session.<SessionName>.Version = [<TransportDictionaryID>:]<ApplicationDictionaryID>
e.g.:
FixLayer.FixEngine.Session.TestFIXAcceptor1.Version = FIX44Custom
FixLayer.FixEngine.Session.TestFIXAcceptor2.Version = FIXT11Custom:FIX50Custom


Please be aware that if you change the dictionary on-fly, FIXEdge must be restarted in order to apply the changes.

 

  • No labels