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

Felipe Soares felipe.soares at traderdata.com.br
Wed Aug 1 11:56:16 PDT 2012


So Grant any ideas of waht is going on here?



*De:* Grant Birchmeier [mailto:gbirchmeier at connamara.com]
*Enviada em:* quarta-feira, 1 de agosto de 2012 15:55
*Para:* Felipe Soares
*Cc:* KAPIL KUMAR LALWANI; Mailing list for QuickFIX/n
*Assunto:* Re: RES: RES: {{Quickfixn}} RES: felipe's custom message problem



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/77ec261e/attachment-0002.htm>


More information about the Quickfixn mailing list