Skip to content
Konstantin Pavlov edited this page Mar 6, 2014 · 3 revisions

Q: How to set FIX protocol version?

A: You should set FIX protocol version in connection initiator's property file "/client.properties":

BeginString = FIX.4.4
....

Q: Is it possible to run several instances of FIX engine with different FIX protocol versions?

A: Fix server gets FIX protocol version from received Logon request when the session is established. See method fixio.netty.pipeline.SessionRepository.createSession(...). So it is possible to have multiple sessions with different FIX version on same instance of fix server. If you need to control which FIX version is accepted by server - implement your own fixio.netty.pipeline.server.FixAuthenticator to accept only Logon requests with specified FIX version. You may also run multiple server instances with different authenticators (example: http://kpavlov.github.io/fixio/#writing-simple-fix-server)

Q: How to get the value of a tag at the exact known position in the incoming message?

A: Field order is defined within FixMessage by their order of appearance in the stream. Fields are stored in List internally. It is possible to get iterate by fields by calling FixMessage.getBody().

Q: How to control the exact order of the individual fields on outgoing messages?

A: Field order is defined by their insertion order in FixMessageBuilder and fields are stored internally as a List. To ensure field order in outgoing message, please add them to FixMessageBuilder in that order.