{{Quickfixn}} custom field in header

Alex Firumiants Alexf at erg.co.il
Tue Nov 11 07:45:05 PST 2014


Hi Grant

Thank you for answer
I asked them again and they said that this tag 6958 is required in message header for All **non-session** messages . Therefore I removed it from DD and set it in code like this:
QuickFix.FIX44.QuoteRequest newQuoteRequest = new QuickFix. FIX44.QuoteRequest(new QuoteReqID(rfq.QuoteReqID));
newQuoteRequest.Header.SetField(new StringField(6958, "DB ABFX OPTION"));

in  the messages.current.log at -15:26:45.048  I see  35=R message with 6958 tag, but at 15:27:46.262 this custom tag is not included. Can you explain this, please ?

20141111-15:26:44.221 : 8=FIX.4.49=7935=A34=149=UAT.ILSFXO.FIX52=20141111-15:26:44.18156=ABFX98=0108=60141=Y10=084
20141111-15:26:44.955 : 8=FIX.4.49=7935=A34=149=ABFX52=20141111-15:26:43.68056=UAT.ILSFXO.FIX98=0108=60141=Y10=087
20141111-15:26:45.048 : 8=FIX.4.49=36035=R34=249=UAT.ILSFXO.FIX52=20141111-15:26:45.04856=ABFX6958=DB ABFX OPTION55=[N/A]131=20141111-1146=19016=0711=1310=OPT311=USD/ILS318=ILS763=VAN5336=33320007=TA20010=USD555=2600=USD/ILS608=OCECPN611=20141112612=15.00624=1685=200000020012=DS20036=333600=USD/ILS608=OCECPN611=20141113612=20.00624=2685=600000020012=DF20036=33310=230
20141111-15:27:45.973 : 8=FIX.4.49=6135=034=349=UAT.ILSFXO.FIX52=20141111-15:27:45.97356=ABFX10=254
20141111-15:27:46.258 : 8=FIX.4.49=6135=034=249=ABFX52=20141111-15:27:44.28656=UAT.ILSFXO.FIX10=249
20141111-15:27:46.258 : 8=FIX.4.49=7035=234=349=ABFX52=20141111-15:27:44.98156=UAT.ILSFXO.FIX7=216=010=122
20141111-15:27:46.262 : 8=FIX.4.49=39135=R34=243=Y49=UAT.ILSFXO.FIX52=20141111-15:27:46.26256=ABFX122=20141111-15:26:45.04855=[N/A]131=20141111-1146=1310=OPT311=USD/ILS318=ILS555=2600=USD/ILS608=OCECPN611=20141112612=15.00624=1685=2000000711=1763=VAN5336=3336958=DB ABFX OPTION9016=020007=TA20010=USD20012=DS20036=33310=232
20141111-15:27:46.263 : 8=FIX.4.49=10335=434=343=Y49=UAT.ILSFXO.FIX52=20141111-15:27:46.26356=ABFX122=20141111-15:27:46.26336=4123=Y10=047
20141111-15:28:15.552 : 8=FIX.4.49=9135=134=449=ABFX52=20141111-15:28:14.28456=UAT.ILSFXO.FIX112=LMID:001x08fa1e3b081ea32310=135
20141111-15:28:15.554 : 8=FIX.4.49=9135=034=449=UAT.ILSFXO.FIX52=20141111-15:28:15.55356=ABFX112=LMID:001x08fa1e3b081ea32310=134




Alex Firumiants, Developer


From: Quickfixn [mailto:quickfixn-bounces at lists.quickfixn.com] On Behalf Of Grant Birchmeier
Sent: Tuesday, November 11, 2014 5:29 PM
To: Mailing list for QuickFIX/n
Subject: Re: {{Quickfixn}} custom field in header

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<mailto: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<mailto:alexf at erg.co.il>


_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto: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/a7eea079/attachment-0001.htm>


More information about the Quickfixn mailing list