{{Quickfixn}} custom field in header

Grant Birchmeier gbirchmeier at connamara.com
Tue Nov 11 07:28:53 PST 2014


This is extremely unusual.  Your counterparty is asking for something
that's very unorthodox.  I don't know why they would want to add such a
field to the header, and it's doubly-weird that they want it in a specific
place in the header.

I've never heard of anything like that before.  Do they want it there for
*all* messages?  Because that would be crazier; you shouldn't put Product
information in Logons or Heartbeats, for instance.

To your actual question: Did you actually add the field into the header?
Your DD change specifies that it should be there, but it doesn't put it
there for you.  You'll need to call msg.Header.SetField(xxx) somewhere.

Note: I don't think QF/n will put 6958 right after 35.  FIX protocol says
field order after 35 is not important, so QF/n will order them in tag
numeric order.  You'll need to hack the engine to force 6958 to be in a
specific place.

Frankly, this requirement (as you've described it) sounds so crazy that I
wonder if your counterparty actually knows what they're doing.

On Tue, Nov 11, 2014 at 6:33 AM, Alex Firumiants <Alexf at erg.co.il> wrote:

> Hi all
>
>
>
> I have a problem with custom field in message header.  As it is written in
> the counterparty spec the custom tag 6958 (ProductType) must be present
> after tag 35 (MsgType) both in Inbound and Outbound messages.
>
> I read http://quickfixn.org/tutorial/custom-fields-groups-and-messages
> article and changed DD file.
>
> This custom tag is a STRING, required Y, description "DB ABFX OPTION" - So
> I've added the following lines into DD FIX44.xml file :
>
> In header section:
>
> <header>
>
>>
>             <field name="MsgType" required="Y" />
>
>             *<field name="ProductType" required="Y" />*
>
>>
> </header>
>
>
>
> And in fields section
>
> <fields>
>
>>
>             *<field number="6958" name="ProductType" type="STRING">*
>
> *                        <value enum="0" description="DB ABFX OPTION" />*
>
> *            </field>*
>
> ...
>
> </fields>
>
>
>
> The connection was established but logon was failed with a message Message
> 1 Rejected: Required tag missing (Field=6958)
>
> event.current.log
>
> 20141111-12:24:22.691 : Created session
>
> 20141111-12:24:22.700 : Connecting to 160.83.33.198 on port 443
>
> 20141111-12:24:22.789 : Connection succeeded
>
> 20141111-12:24:22.825 : Session reset: ResetOnLogon
>
> 20141111-12:24:22.849 : Session reset: ResetSeqNumFlag
>
> 20141111-12:24:22.852 : Initiated logon request
>
> 20141111-12:24:23.748 : Message 1 Rejected: Required tag missing
> (Field=6958)
>
> 20141111-12:24:23.750 : Session FIX.4.4:UAT.ILSFXO.FIX->ABFX
> disconnecting: QuickFix.QuickFIXException: Tried to send a reject while not
> logged on
>
>    at QuickFix.Session.GenerateReject(Message message, SessionRejectReason
> reason, Int32 field)
>
>    at QuickFix.Session.Next(Message message)
>
>    at QuickFix.Session.Next(String msgStr)
>
>    at QuickFix.SocketInitiatorThread.ProcessStream()
>
>    at QuickFix.SocketInitiatorThread.Read()
>
>
>
> messages.current.log – I don’t see tag 6958 was sent
>
> 20141111-12:24:22.852 :
> 8=FIX.4.49=7935=A34=149=UAT.ILSFXO.FIX52=20141111-12:24:22.83156=ABFX98=0108=60141=Y10=077
>
> 20141111-12:24:23.729 :
> 8=FIX.4.49=7935=A34=149=ABFX52=20141111-12:24:21.18656=UAT.ILSFXO.FIX98=0108=60141=Y10=079
>
>
>
> Did I miss something in DD file ?
>
>
>
> Thanks
>
>
> *Alex Firumiants, Developer*
>
> Email:    *alexf at erg.co.il <alexf at erg.co.il>*
>
>
>
> _______________________________________________
> Quickfixn mailing list
> Quickfixn at lists.quickfixn.com
> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>
>


-- 
Grant Birchmeier
*Connamara Systems, LLC*
*Made-To-Measure Trading Solutions.*
Exactly what you need. No more. No less.
http://connamara.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20141111/7ec9cec0/attachment-0001.htm>


More information about the Quickfixn mailing list