Introduction
FMXML handler is a FIXEdge component used in BL configurations. Its primary task to convert any FIX message (except MsgType(35)=n) to XML representation. In case of 35=n messages FMXML handler does the reverted conversation. There is an example of a FIX message and the result of such conversation in the following table:
FIX 4.4 representation | FMXML representation |
---|---|
8=FIX.4.4 | <FIXMessage> <f8>FIX.4.4</f8> <f35>D</f35> <f49>FTRDRETD0</f49> <f56>IDEALRETD0</f56> <f43>N</f43> <f52>20131118-10:21:56</f52> <f97>N</f97> <f115>NFSC</f115> <f2007>e6a85d48-81df-40c3-a54c-23b2aa85191b:RETAILEQUITY</f2007> <f21>2</f21> <f22>1</f22> <f48>0456BC5L1</f48> <f54>1</f54> <f38>1000</f38> <f40>1</f40> <f44>0</f44> <f59>1</f59> <f1>Account10</f1> <f2002>CH1</f2002> <f2005>12345</f2005> <f2000>Act10Name</f2000> <f2001>N</f2001> <f2003>C1TD</f2003> <f11>e6a85d48-81df-40c3-a54c-23b2aa85191b</f11> <f60>20131118-05:21:46</f60> <f2008>G12345</f2008> <f2011>Rep1</f2011> </FIXMessage> |
Typical use case
Here is a sequence diagram for a typical FMXML's use case.
There are three main components in it:
- FIX session. FIXEdge receives FIX messages from it (say FIX messages with 35=D)
- FMXML handler. FIXEdge converts source messages to XML and wrap them into 35=n messages.
- IBM MQ Transport adapter. FIXEdge sends XML data wrapped into 35=n messages to an external messaging system (IBM WebSphere in this case).
FMXML handler specification
FMXML handler does the following steps on FIX massages
- if there is 35=n message in the input of the handler than FMXML to FIX transformation takes place.
- in case of other MsgType messages in the input of the handler FIX to FMXML transformation takes place.
- standard FIX tags like CheckSum (10), BodyLength(9), MsgSeqNum(34) are ignored during transformations
FMXML format specification
<FIXMessage> <!-- FIX tags --> <f[tag1]>value1</f[tag1]> <f[tag2]>value2</f[tag2]> <!-- FIX repeating group --> <g[tag3] v="value3"> <e> <f[tag4]>value4</f[tag4]> </e> <e> <f[tag5]>value5</f[tag5]> </e> </g[tag3]> </FIXMessage>