{{Quickfixn}} RES: RES: RES: felipe's custom message problem

Grant Birchmeier gbirchmeier at connamara.com
Wed Aug 1 11:54:57 PDT 2012


QF/n should be logging all received messages before parsing and validating,
assuming at least the session data can be decoded.

On Wed, Aug 1, 2012 at 12:46 PM, Felipe Soares <
felipe.soares at traderdata.com.br> wrote:

> Grant,
> Do you think the problem is withn BX message (this one I received from
> Exchange) and immediately after I receive I get that parsing error... or is
> a problem with a message that hasn´t even been logged?
>
> Thanks
>
>
> -----Mensagem original-----
> De: Grant Birchmeier [mailto:gbirchmeier at connamara.com]
> Enviada em: quarta-feira, 1 de agosto de 2012 11:38
> Para: Felipe Soares
> Cc: KAPIL KUMAR LALWANI; Mailing list for QuickFIX/n
> Assunto: Re: RES: RES: {{Quickfixn}} RES: felipe's custom message problem
>
> Oh.
>
> The error you are seeing is because an incoming message is malformed.
> I don't know what that message is, but it should be in your log.
>
> The message may be truly malformed, or it may be that your DD has it
> incorrectly defined.
>
> Are you connecting to a real counterparty, or a test app that you wrote?
>
>
> On Wed, Aug 1, 2012 at 9:34 AM, Felipe Soares
> <felipe.soares at traderdata.com.br> wrote:
> > Application Raw Data Reporting (tag 35 =URDR) In order to resend the
> > messages requested with Application Message Request (tag
> > 35-MsgType=BW), BM&FBovespa sends a set of Raw Data Reporting messages
> > (tag 35-MsgType=URDR) each containing one or more FAST encoded
> > messages appended in the RawData (tag 96) field.
> >
> > -----Mensagem original-----
> > De: Grant Birchmeier [mailto:gbirchmeier at connamara.com]
> > Enviada em: quarta-feira, 1 de agosto de 2012 11:15
> > Para: KAPIL KUMAR LALWANI
> > Cc: Felipe Soares; Mailing list for QuickFIX/n
> > Assunto: Re: RES: RES: {{Quickfixn}} RES: felipe's custom message
> > problem
> >
> > What is a URDR message?
> >
> > On Wed, Aug 1, 2012 at 9:08 AM, KAPIL KUMAR LALWANI
> > <kaplalwani at yahoo.co.in>
> > wrote:
> >>
> >> Hi,
> >> " Invalid body length", simply means that your message expected to
> >> have some field, but u didn't set that field. I guess something wrong
> >> with your implementation of 'BX'
> >>
> >>
> >> Kapil Kumar Lalwani
> >>
> >> “Enjoy the WORK you do, Do the BEST you can.”
> >>
> >> ________________________________
> >> From: Felipe Soares <felipe.soares at traderdata.com.br>
> >> To: KAPIL KUMAR LALWANI <kaplalwani at yahoo.co.in>; Grant Birchmeier
> >> <gbirchmeier at connamara.com>
> >> Cc: Mailing list for QuickFIX/n <quickfixn at lists.quickfixn.com>
> >> Sent: Wednesday, 1 August 2012 7:34 PM
> >> Subject: RES: RES: {{Quickfixn}} RES: felipe's custom message problem
> >>
> >> Grant/Kapil,
> >>
> >> We changed our DD and now the BX message was parsed correctly. But
> >> after that I should start receving URDR messages containing data. In
> >> my log file I can´t find anything about URDR message beng sent and in
> >> the event file I
> >> foud:
> >>
> >> 20120801-14:00:29.113 : Session FIX.4.4:TTDD0001->BOVUMDF050
> >> disconnecting: QuickFix.MessageParseError: Could not parse message:
> >> Invalid body length
> >>    at QuickFix.Parser.ReadFixMessage(String& msg)
> >>    at QuickFix.SocketInitiatorThread.ProcessStream()
> >>    at QuickFix.SocketInitiatorThread.Read()
> >>
> >> after that quickfix reconnects to the counterparty, but doens´t
> >> receive the final message…
> >>
> >> any ideas?
> >>
> >> Regards
> >>
> >>
> >> De: KAPIL KUMAR LALWANI [mailto:kaplalwani at yahoo.co.in] Enviada em:
> >> quarta-feira, 1 de agosto de 2012 10:52
> >> Para: Grant Birchmeier; Felipe Soares
> >> Cc: Mailing list for QuickFIX/n
> >> Assunto: Re: RES: {{Quickfixn}} RES: felipe's custom message problem
> >>
> >> Yeah I guess Grant is right.
> >> You don't have the 'BX' message in your data dictionary. So add the 'BX'
> >> message in your DD. exactly like you done for 'BW'.
> >>
> >>
> >>
> >> Kapil Kumar Lalwani
> >> “Enjoy the WORK you do, Do the BEST you can.”
> >>
> >> ________________________________
> >> From: Grant Birchmeier <gbirchmeier at connamara.com>
> >> To: Felipe Soares <felipe.soares at traderdata.com.br>
> >> Cc: KAPIL KUMAR LALWANI <kaplalwani at yahoo.co.in>; Mailing list for
> >> QuickFIX/n <quickfixn at lists.quickfixn.com>
> >> Sent: Wednesday, 1 August 2012 7:14 PM
> >> Subject: Re: RES: {{Quickfixn}} RES: felipe's custom message problem
> >>
> >> Sounds like you don't have BX in your DataDictionary.
> >>
> >> When your app receives the message, QF tries to parse it according to
> >> your DD, and fails out because it can't find a definition for BX.
> >>
> >> On Wed, Aug 1, 2012 at 8:43 AM, Felipe Soares
> >> <felipe.soares at traderdata.com.br> wrote:
> >> Kapil,
> >>
> >> We followed Grant recomendation  and rebuilt QuickFixn with our FIX44
> >> specification.
> >> By doing that we could manage to send a BW message, but now I am
> >> having a problem when the message comes back from the server (message
> >> BX). Exactly what you are saying bellow unsuporterd message type… So
> >> I shouldn´t use messagecracker?
> >>
> >> Regards
> >>
> >>
> >> De: KAPIL KUMAR LALWANI [mailto:kaplalwani at yahoo.co.in] Enviada em:
> >> quarta-feira, 1 de agosto de 2012 10:40
> >> Para: Felipe Soares
> >> Cc: Mailing list for QuickFIX/n; Grant Birchmeier
> >> Assunto: Re: RES: {{Quickfixn}} RES: felipe's custom message problem
> >>
> >> Hi Felipe,
> >>         I came up with one solution. I don't know this is what you
> >> are looking for or not, but one possible solution for that is to edit
> >> your
> >> FIX4.2 specification XML. I mean to say, add the message type
> >> ApplicationMessageRequest, with related fields. By doing so, you are
> >> able to send the message through. But for the same you have to handle
> >> your message at the server end because fix MessageCracker wont handle
> >> it and return you "Unsupported Message Type" exception.
> >>
> >>
> >>
> >> Kapil Kumar Lalwani
> >> “Enjoy the WORK you do, Do the BEST you can.”
> >>
> >> ________________________________
> >> From: Felipe Soares <felipe.soares at traderdata.com.br>
> >> To: Grant Birchmeier <gbirchmeier at connamara.com>; KAPIL KUMAR LALWANI
> >> <kaplalwani at yahoo.co.in>
> >> Cc: Mailing list for QuickFIX/n <quickfixn at lists.quickfixn.com>
> >> Sent: Wednesday, 1 August 2012 4:59 PM
> >> Subject: RES: {{Quickfixn}} RES: felipe's custom message problem
> >>
> >> Grant BMF&Bovespa is full of Weird things J
> >>
> >> De: Grant Birchmeier [mailto:gbirchmeier at connamara.com]
> >> Enviada em: quarta-feira, 1 de agosto de 2012 08:28
> >> Para: KAPIL KUMAR LALWANI
> >> Cc: felipe.soares at traderdata.com.br; Mailing list for QuickFIX/n
> >> Assunto: Re: {{Quickfixn}} RES: felipe's custom message problem
> >>
> >> If Felipe's counterparty says he must use FIX4.4 with customizations
> >> taken from FIX5, then that's what he must do.
> >>
> >> Some counterparties do weird things.
> >>
> >> On Tue, Jul 31, 2012 at 11:50 PM, KAPIL KUMAR LALWANI
> >> <kaplalwani at yahoo.co.in> wrote:
> >> Hi Felipe,
> >>
> >> This is because the message type 'ApplicationMessageRequest' ('BW')
> >> is not available with FIX4.4. Its was introduce from FIX5.0SP1 and
> >> and available only with FIX5.0SP1 and FIX5.0SP2
> >> (http://fixprotocol.org/FIXimate3.0/). So that's why I recommended
> >> you to use FIX5.0SP1 if you want to use this message type.
> >>
> >> m.Header.SetField(new BeginString("FIX.5.0SP1"));
> >>
> >>
> >>
> >> Your Sincerely,
> >> Kapil Kumar Lalwani
> >>
> >> “Enjoy the WORK you do, Do the BEST you can.”
> >>
> >> ________________________________
> >> From: Felipe Soares <felipe.soares at traderdata.com.br>
> >> To: Grant Birchmeier <gbirchmeier at connamara.com>; Mailing list for
> >> QuickFIX/n <quickfixn at lists.quickfixn.com>
> >> Sent: Tuesday, 31 July 2012 11:18 PM
> >> Subject: {{Quickfixn}} RES: felipe's custom message problem
> >>
> >> Hi Grant,
> >>
> >> I am not sure I made any progress L
> >>
> >> Here is the output I am receving from your code:
> >>
> >>
> >> 8=FIX.4.4☺9=82☺35=BW☺1346=TRADER☺1347=0☺1351=2☺1355=foo☺1182=10☺1183=
> >> 2
> >> 0☺1355=bar
> >> ☺1182=11☺1183=22☺10=202☺
> >>
> >> Unhandled Exception: QuickFix.FieldNotFoundException: field not found
> >> for
> >> tag: 3
> >> 5
> >>    at QuickFix.FieldMap.GetField(Int32 tag)
> >>    at QuickFix.Session.SendRaw(Message message, Int32 seqNum)
> >>    at QuickFix.Session.Send(Message message)
> >>    at QuickFix.Session.SendToTarget(Message message, SessionID
> sessionID)
> >>    at ConsoleApplication21.TCPReplayApp.RequestSeqNum(Int32 seqnum)
> >>    at ConsoleApplication21.Program.Main(String[] args)
> >>
> >> The error happens when I try Session.SendToTarget(m, sessionId);
> >>
> >> Please help I don´t know where I should get information…
> >>
> >> De: Grant Birchmeier [mailto:gbirchmeier at connamara.com]
> >> Enviada em: terça-feira, 31 de julho de 2012 12:53
> >> Para: Mailing list for QuickFIX/n; Felipe Soares
> >> Assunto: felipe's custom message problem
> >>
> >> Felipe,
> >>
> >> In this an future discussions, I highly recommend that you turn off
> >> digest mode.  It's making it difficult to follow the discussion when
> >> the subject lines are constantly changing.
> >>
> >> Problem 1: In your cfg file, you need to add UseDataDictionary=Y
> >>
> >> Problem 2: You are not constructing your repeating group correctly.
> >>
> >> Problem 3: You were not using the correct message constructor.  (The
> >> first parameter to Message(string,bool) is an entire FIX message
> >> string, not just the 35 field.) To construct your message with
> >> generic methods, it should look like this:
> >>
> >>             QuickFix.Message m = new Message();
> >>             m.Header.SetField(new BeginString("FIX.4.4"));
> >>             m.SetField(new QuickFix.Fields.StringField(35, "BW"));
> >>
> >>             m.SetField(new QuickFix.Fields.StringField(1346,
> >> "TRADER")); //AppReqId
> >>             m.SetField(new QuickFix.Fields.IntField(1347, 0));
> >> //ApplReqType
> >>
> >>             int[] ordering = {1355,1182,1183};
> >>             Group g = new Group(1351, 1355, ordering);
> >>
> >>             // first group element
> >>             g.SetField(new
> >> QuickFix.Fields.StringField(1355,("foo")));
> >> //RefApplID
> >>             g.SetField(new QuickFix.Fields.IntField(1182, 10));
> >> //ApplBegSeqNum
> >>             g.SetField(new QuickFix.Fields.IntField(1183, 20));
> >> //ApplEndSeqNum
> >>             m.AddGroup(g);
> >>
> >>             // second group element
> >>             g.SetField(new QuickFix.Fields.StringField(1355,
> >> ("bar"))); //RefApplID
> >>             g.SetField(new QuickFix.Fields.IntField(1182, 11));
> >> //ApplBegSeqNum
> >>             g.SetField(new QuickFix.Fields.IntField(1183, 22));
> >> //ApplEndSeqNum
> >>             m.AddGroup(g);
> >>             Console.WriteLine(m.ToString());
> >>             // prints
> >> 8=FIX.4.4|9=82|35=BW|1346=TRADER|1347=0|1351=2|1355=foo|1182=10|1183=
> >> 2
> >> 0|1355=bar|1182=11|1183=22|10=202|
> >>
> >>
> >>
> >>
> >> --
> >> Grant Birchmeier
> >> Connamara Systems, LLC
> >> Made-To-Measure Trading Solutions.
> >> Exactly what you need. No more. No less.
> >> http://connamara.com
> >>
> >> _______________________________________________
> >> 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
> >>
> >>
> >>
> >>
> >>
> >> --
> >> Grant Birchmeier
> >> Connamara Systems, LLC
> >> Made-To-Measure Trading Solutions.
> >> Exactly what you need. No more. No less.
> >> http://connamara.com
> >>
> >>
> >>
> >>
> >
> >
> >
> > --
> > Grant Birchmeier
> > Connamara Systems, LLC
> > Made-To-Measure Trading Solutions.
> > Exactly what you need. No more. No less.
> > http://connamara.com
>
>
>
> --
> Grant Birchmeier
> Connamara Systems, LLC
> Made-To-Measure Trading Solutions.
> Exactly what you need. No more. No less.
> http://connamara.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/20120801/18c9f575/attachment-0002.htm>


More information about the Quickfixn mailing list