Imported from previous forum
Hi,
Working on FIXML I have found that there some fields in FIX Specification for Standard Header like, ‘MsgType’, ‘MsgSeqNum’ which are not defined in the DTD for Standard Header in FIXML.
Are these fields not needed in the XML format? Is there any way that I can include them?
Thanks in advance
Harsh Thakar
[ original email was from John Greenan - john.greenan@alignment-systems.com ]
Harsh,
There are a few points to be aware of here. FIX itself specifies three areas
- Message specification ( which tag - value pairs are needed for a particular message)
- Message "flow" logic (what responses are valid to a message)
- Session layer (recoverability, sequencing and so on)
So, as specified at the moment, FIXML only covers the message specification, as the specification is that the FIXML message is sent ‘down-the-wire’ using a FIX message as an ‘envelope’. The same flow logic applies.
If FIXML is used on its own then typically a message transport is used used as MSMQ, IBM MQ Series to give the session layer.
So, at the moment, MsgSeqNum is used for the session layer, so it’s not in FIXML.
Can you include these? Yes - as custom fields, but this is a very non-standard implementation. Typically these fields are specified in the message transport to give a session layer.
Get in touch off-line if you’d like to go further into this.
Regards,
John
> Hi,
>
> Working on FIXML I have found that there some fields in FIX Specification for Standard Header like, ‘MsgType’, ‘MsgSeqNum’ which are not defined in the DTD for Standard Header in FIXML.
>
> Are these fields not needed in the XML format? Is there any way that I can include them?
>
> Thanks in advance
> Harsh Thakar
>
John wrote:
> Can you include these? Yes - as custom fields, but this is a very non-standard implementation.
True but not all messaging is global. I use msg fields all the time to specify local messaging such as use-logs and errorHandlers. When you hook in the messaging interface you can then quickly compare messaging on both sides of the message "pond."
You can do this in your code. But it would be handy to have field size and type standardized to support agile process.
|--------| |-----------| |--------|
| MSG |–>| TRANSPORT |–>| TRADE |
|--------| |-----------| |--------|
| XML | | SeqNum | | LogMsg |
| LogMsg | |-----------| | SeqNum |
| MyNum | |--------|
|--------|
IF (MSG.LogMsg(MyNum)== TRADE.LogMsg(SeqNum))
WE
HAVE
A
PROBLEM in SeqNum