Search code examples
quickfixfix-protocol

capturing incoming FIX messages which fail QuickFix validation


A Quickfix client validates incoming messages using XML spec files. If a message fails validation, quickfix automatically sends a rejection response. AFAIK in this case quickfix does not call the standard callback for incoming messages fromApp(), so up till now I was unable to programatically capture these erroneous incoming messages and handle them.

Is there a way to capture incoming FIX messages which fail quickfix validation?

Of course they may appear in the default quickfix log files, but I would rather capture them in my code in realtime.


Solution

  • Validation via XML spec file is in session level processing. So, there is not suitable hook for this.

    On the other hand, there are some configuration parameters;

    • UseDataDictionary : eliminates validation
    • ValidateUserDefinedFields : eliminates user defined field's validation

    look for detailed descriptions

    edit: If your real problem is monitoring rejections, capturing Reject(3) and BusinessReject(j) messages at toAdmin() hook is sufficient.