Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1. Add new Session to FIXEdge.properties ( FIXEdge1\conf\FIXEdge.properties )
    Add a session TestEchoAcceptor to the list of sessions (multiple sessions should be separated by a comma):

    Code Block
    languagetext
    titleFIXEdge.properties
    FixLayer.FixEngine.Sessions = TestEchoAcceptor

    And configure session parameters:

    Code Block
    languagetext
    titleFIXEdge.properties
    FixLayer.FixEngine.Session.TestEchoAcceptor.Version = FIX44
    FixLayer.FixEngine.Session.TestEchoAcceptor.StorageType = persistentMM
    FixLayer.FixEngine.Session.TestEchoAcceptor.Role = Acceptor
    FixLayer.FixEngine.Session.TestEchoAcceptor.SenderCompID = FIXEDGE
    FixLayer.FixEngine.Session.TestEchoAcceptor.TargetCompID = FIXECHOCLIENT
    FixLayer.FixEngine.Session.TestEchoAcceptor.Description = FIX session for echo testing
    FixLayer.FixEngine.Session.TestEchoAcceptor.StartTime = 08:00
    FixLayer.FixEngine.Session.TestEchoAcceptor.TerminateTime = 23:59
    FixLayer.FixEngine.Session.TestEchoAcceptor.RecreateOnLogout = true
    FixLayer.FixEngine.Session.TestEchoAcceptor.IntradayLogoutTolerance = true
  2. Configure BL rules ( FIXEdge1\conf\BL_Config.xml )

    Code Block
    languagexml
    titleBL_Config.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <FIXEdge>
    	<BusinessLayer> 
    		<!-- Rule messages from Simple Client send back switching SenderCompID and TargetCompID --> 
    		<Rule>
    			<Source> 
    				<FixSession SenderCompID="FIXECHOCLIENT" TargetCompID="FIXEDGE"/>
    			</Source> 
    			<Action>
    				<Send>
    					<FixSession SenderCompID="FIXEDGE" TargetCompID="FIXECHOCLIENT"/>
    				</Send>
    			</Action>
    		</Rule>
    		<DefaultRule>
    			<Action>
    				<DoNothing/>
    			</Action>
    		</DefaultRule> 
    	</BusinessLayer> 
    </FIXEdge>


  3.  Run FIXEdge.
    E.g. via run script:

    • Windows: <FIXEdge installation dir>\FIXEdge\bin\FixEdge1.run.cmd

    • Linux: <FIXEdge installation dir>/FIXEdge/bin/FixEdge1.run.sh


  4.  Open FIX Client Simulator. (It can be found in the FIX Antenna .NET Wrapper package).
    And create a new session (select Session menu -> Create New ...) as Initiator with the following parameters:

    Info
    Session type: Initiator
    SenderCompID = FIXECHOCLIENT
    TargetCompID = FIXEDGE
    FIX Version = 4.4
    Remote Port = 8901ListenPort parameter in FIXEdge's engine.properties )
    Remote Host = localhost (or IP address/hostname of the FIXEdge server)

    Please note that SenderCompID on the FIX Client Simulator side should have the same value as TargetCompId on the FIXEdge side
    And TargetCompId on the FCS side should be the same as SenderCompID on FIXEdge's side.

  5. Send message from FIX Client Simulator ( Pipe character is used to represent SOH character )

    Code Block
    languagetext
    titleNew Order - Echo test.msg
    8=FIX.4.4|9=175|35=D|49=FIXECHOCLIENT|56=FIXEDGE|34=2|52=20131125-09:37:09.680|11=Order#1|21=1|100=1|55=TESTSMBL|54=1|60=20131124-04:11:46.768|38=20000|40=2|44=34.7|10=203|

     The file with FIX message example and SOH delimiters: NewOrderEchoTestMessage.txt

  6. Echo message from FIXEdge is received:

    Code Block
    languagetext
    titleReceive.msg
    Incoming message: 8=FIX.4.49=14935=D49=FIXEDGE56=FIXECHOCLIENT34=352=20140228-14:43:19.01811=Order#121=1100=155=TESTSMBL54=160=20131124-04:11:46.76838=2000040=244=34.710=074

Troubleshooting:

  • FIXEdge should be up and running state after step 4.
  • There are [ERROR] or [FATAL] error records in FIXEdge logs FIXEdge1\log\FIXEdge.log.
  • The FCS and FIXEdge have up-to-date licenses.
  • If a session can't be established due to sequence number issues this can be resolved by cleaning logs on both sides.

...