<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="Generator" content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Texto de balão Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EstiloDeEmail17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.TextodebaloChar
        {mso-style-name:"Texto de balão Char";
        mso-style-priority:99;
        mso-style-link:"Texto de balão";
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:PT-BR;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang="PT-BR" link="blue" vlink="purple"><div class="WordSection1"><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">So Grant any ideas of waht is going on here?</span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">De:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Grant Birchmeier [mailto:<a href="mailto:gbirchmeier@connamara.com">gbirchmeier@connamara.com</a>] <br>
<b>Enviada em:</b> quarta-feira, 1 de agosto de 2012 15:55<br><b>Para:</b> Felipe Soares<br><b>Cc:</b> KAPIL KUMAR LALWANI; Mailing list for QuickFIX/n<br><b>Assunto:</b> Re: RES: RES: {{Quickfixn}} RES: felipe's custom message problem</span></p>
<p class="MsoNormal"> </p><p class="MsoNormal" style="margin-bottom:12.0pt"><span style="color:black">QF/n should be logging all received messages before parsing and validating, assuming at least the session data can be decoded.</span></p>
<div><p class="MsoNormal">On Wed, Aug 1, 2012 at 12:46 PM, Felipe Soares <<a href="mailto:felipe.soares@traderdata.com.br" target="_blank">felipe.soares@traderdata.com.br</a>> wrote:</p><p class="MsoNormal">Grant,<br>
Do you think the problem is withn BX message (this one I received from<br>Exchange) and immediately after I receive I get that parsing error... or is<br>a problem with a message that hasn´t even been logged?<br><br>Thanks</p>
<div><p class="MsoNormal"><br><br>-----Mensagem original-----<br>De: Grant Birchmeier [mailto:<a href="mailto:gbirchmeier@connamara.com" target="_blank">gbirchmeier@connamara.com</a>]</p></div><div><p class="MsoNormal">Enviada em: quarta-feira, 1 de agosto de 2012 11:38<br>
Para: Felipe Soares</p></div><p class="MsoNormal">Cc: KAPIL KUMAR LALWANI; Mailing list for QuickFIX/n</p><div><div><p class="MsoNormal">Assunto: Re: RES: RES: {{Quickfixn}} RES: felipe's custom message problem<br><br>
Oh.<br><br>The error you are seeing is because an incoming message is malformed.<br>I don't know what that message is, but it should be in your log.<br><br>The message may be truly malformed, or it may be that your DD has it<br>
incorrectly defined.<br><br>Are you connecting to a real counterparty, or a test app that you wrote?<br><br><br>On Wed, Aug 1, 2012 at 9:34 AM, Felipe Soares<br><<a href="mailto:felipe.soares@traderdata.com.br" target="_blank">felipe.soares@traderdata.com.br</a>> wrote:<br>
> Application Raw Data Reporting (tag 35 =URDR) In order to resend the<br>> messages requested with Application Message Request (tag<br>> 35-MsgType=BW), BM&FBovespa sends a set of Raw Data Reporting messages<br>
> (tag 35-MsgType=URDR) each containing one or more FAST encoded<br>> messages appended in the RawData (tag 96) field.<br>><br>> -----Mensagem original-----<br>> De: Grant Birchmeier [mailto:<a href="mailto:gbirchmeier@connamara.com" target="_blank">gbirchmeier@connamara.com</a>]<br>
> Enviada em: quarta-feira, 1 de agosto de 2012 11:15<br>> Para: KAPIL KUMAR LALWANI<br>> Cc: Felipe Soares; Mailing list for QuickFIX/n<br>> Assunto: Re: RES: RES: {{Quickfixn}} RES: felipe's custom message<br>
> problem<br>><br>> What is a URDR message?<br>><br>> On Wed, Aug 1, 2012 at 9:08 AM, KAPIL KUMAR LALWANI<br>> <<a href="mailto:kaplalwani@yahoo.co.in" target="_blank">kaplalwani@yahoo.co.in</a>><br>
> wrote:<br>>><br>>> Hi,<br>>> " Invalid body length", simply means that your message expected to<br>>> have some field, but u didn't set that field. I guess something wrong<br>>> with your implementation of 'BX'<br>
>><br>>><br>>> Kapil Kumar Lalwani<br>>><br>>> “Enjoy the WORK you do, Do the BEST you can.”<br>>><br>>> ________________________________<br>>> From: Felipe Soares <<a href="mailto:felipe.soares@traderdata.com.br" target="_blank">felipe.soares@traderdata.com.br</a>><br>
>> To: KAPIL KUMAR LALWANI <<a href="mailto:kaplalwani@yahoo.co.in" target="_blank">kaplalwani@yahoo.co.in</a>>; Grant Birchmeier<br>>> <<a href="mailto:gbirchmeier@connamara.com" target="_blank">gbirchmeier@connamara.com</a>><br>
>> Cc: Mailing list for QuickFIX/n <<a href="mailto:quickfixn@lists.quickfixn.com" target="_blank">quickfixn@lists.quickfixn.com</a>><br>>> Sent: Wednesday, 1 August 2012 7:34 PM<br>>> Subject: RES: RES: {{Quickfixn}} RES: felipe's custom message problem<br>
>><br>>> Grant/Kapil,<br>>><br>>> We changed our DD and now the BX message was parsed correctly. But<br>>> after that I should start receving URDR messages containing data. In<br>>> my log file I can´t find anything about URDR message beng sent and in<br>
>> the event file I<br>>> foud:<br>>><br>>> <a href="tel:20120801-14" target="_blank">20120801-14</a>:00:29.113 : Session FIX.4.4:TTDD0001->BOVUMDF050<br>>> disconnecting: QuickFix.MessageParseError: Could not parse message:<br>
>> Invalid body length<br>>>    at QuickFix.Parser.ReadFixMessage(String& msg)<br>>>    at QuickFix.SocketInitiatorThread.ProcessStream()<br>>>    at QuickFix.SocketInitiatorThread.Read()<br>>><br>
>> after that quickfix reconnects to the counterparty, but doens´t<br>>> receive the final message…<br>>><br>>> any ideas?<br>>><br>>> Regards<br>>><br>>><br>>> De: KAPIL KUMAR LALWANI [mailto:<a href="mailto:kaplalwani@yahoo.co.in" target="_blank">kaplalwani@yahoo.co.in</a>] Enviada em:<br>
>> quarta-feira, 1 de agosto de 2012 10:52<br>>> Para: Grant Birchmeier; Felipe Soares<br>>> Cc: Mailing list for QuickFIX/n<br>>> Assunto: Re: RES: {{Quickfixn}} RES: felipe's custom message problem<br>
>><br>>> Yeah I guess Grant is right.<br>>> You don't have the 'BX' message in your data dictionary. So add the 'BX'<br>>> message in your DD. exactly like you done for 'BW'.<br>
>><br>>><br>>><br>>> Kapil Kumar Lalwani<br>>> “Enjoy the WORK you do, Do the BEST you can.”<br>>><br>>> ________________________________<br>>> From: Grant Birchmeier <<a href="mailto:gbirchmeier@connamara.com" target="_blank">gbirchmeier@connamara.com</a>><br>
>> To: Felipe Soares <<a href="mailto:felipe.soares@traderdata.com.br" target="_blank">felipe.soares@traderdata.com.br</a>><br>>> Cc: KAPIL KUMAR LALWANI <<a href="mailto:kaplalwani@yahoo.co.in" target="_blank">kaplalwani@yahoo.co.in</a>>; Mailing list for<br>
>> QuickFIX/n <<a href="mailto:quickfixn@lists.quickfixn.com" target="_blank">quickfixn@lists.quickfixn.com</a>><br>>> Sent: Wednesday, 1 August 2012 7:14 PM<br>>> Subject: Re: RES: {{Quickfixn}} RES: felipe's custom message problem<br>
>><br>>> Sounds like you don't have BX in your DataDictionary.<br>>><br>>> When your app receives the message, QF tries to parse it according to<br>>> your DD, and fails out because it can't find a definition for BX.<br>
>><br>>> On Wed, Aug 1, 2012 at 8:43 AM, Felipe Soares<br>>> <<a href="mailto:felipe.soares@traderdata.com.br" target="_blank">felipe.soares@traderdata.com.br</a>> wrote:<br>>> Kapil,<br>>><br>
>> We followed Grant recomendation  and rebuilt QuickFixn with our FIX44<br>>> specification.<br>>> By doing that we could manage to send a BW message, but now I am<br>>> having a problem when the message comes back from the server (message<br>
>> BX). Exactly what you are saying bellow unsuporterd message type… So<br>>> I shouldn´t use messagecracker?<br>>><br>>> Regards<br>>><br>>><br>>> De: KAPIL KUMAR LALWANI [mailto:<a href="mailto:kaplalwani@yahoo.co.in" target="_blank">kaplalwani@yahoo.co.in</a>] Enviada em:<br>
>> quarta-feira, 1 de agosto de 2012 10:40<br>>> Para: Felipe Soares<br>>> Cc: Mailing list for QuickFIX/n; Grant Birchmeier<br>>> Assunto: Re: RES: {{Quickfixn}} RES: felipe's custom message problem<br>
>><br>>> Hi Felipe,<br>>>         I came up with one solution. I don't know this is what you<br>>> are looking for or not, but one possible solution for that is to edit<br>>> your<br>>> FIX4.2 specification XML. I mean to say, add the message type<br>
>> ApplicationMessageRequest, with related fields. By doing so, you are<br>>> able to send the message through. But for the same you have to handle<br>>> your message at the server end because fix MessageCracker wont handle<br>
>> it and return you "Unsupported Message Type" exception.<br>>><br>>><br>>><br>>> Kapil Kumar Lalwani<br>>> “Enjoy the WORK you do, Do the BEST you can.”<br>>><br>>> ________________________________<br>
>> From: Felipe Soares <<a href="mailto:felipe.soares@traderdata.com.br" target="_blank">felipe.soares@traderdata.com.br</a>><br>>> To: Grant Birchmeier <<a href="mailto:gbirchmeier@connamara.com" target="_blank">gbirchmeier@connamara.com</a>>; KAPIL KUMAR LALWANI<br>
>> <<a href="mailto:kaplalwani@yahoo.co.in" target="_blank">kaplalwani@yahoo.co.in</a>><br>>> Cc: Mailing list for QuickFIX/n <<a href="mailto:quickfixn@lists.quickfixn.com" target="_blank">quickfixn@lists.quickfixn.com</a>><br>
>> Sent: Wednesday, 1 August 2012 4:59 PM<br>>> Subject: RES: {{Quickfixn}} RES: felipe's custom message problem<br>>><br>>> Grant BMF&Bovespa is full of Weird things J<br>>><br>>> De: Grant Birchmeier [mailto:<a href="mailto:gbirchmeier@connamara.com" target="_blank">gbirchmeier@connamara.com</a>]<br>
>> Enviada em: quarta-feira, 1 de agosto de 2012 08:28<br>>> Para: KAPIL KUMAR LALWANI<br>>> Cc: <a href="mailto:felipe.soares@traderdata.com.br" target="_blank">felipe.soares@traderdata.com.br</a>; Mailing list for QuickFIX/n<br>
>> Assunto: Re: {{Quickfixn}} RES: felipe's custom message problem<br>>><br>>> If Felipe's counterparty says he must use FIX4.4 with customizations<br>>> taken from FIX5, then that's what he must do.<br>
>><br>>> Some counterparties do weird things.<br>>><br>>> On Tue, Jul 31, 2012 at 11:50 PM, KAPIL KUMAR LALWANI<br>>> <<a href="mailto:kaplalwani@yahoo.co.in" target="_blank">kaplalwani@yahoo.co.in</a>> wrote:<br>
>> Hi Felipe,<br>>><br>>> This is because the message type 'ApplicationMessageRequest' ('BW')<br>>> is not available with FIX4.4. Its was introduce from FIX5.0SP1 and<br>>> and available only with FIX5.0SP1 and FIX5.0SP2<br>
>> (<a href="http://fixprotocol.org/FIXimate3.0/" target="_blank">http://fixprotocol.org/FIXimate3.0/</a>). So that's why I recommended<br>>> you to use FIX5.0SP1 if you want to use this message type.<br>>><br>
>> m.Header.SetField(new BeginString("FIX.5.0SP1"));<br>>><br>>><br>>><br>>> Your Sincerely,<br>>> Kapil Kumar Lalwani<br>>><br>>> “Enjoy the WORK you do, Do the BEST you can.”<br>
>><br>>> ________________________________<br>>> From: Felipe Soares <<a href="mailto:felipe.soares@traderdata.com.br" target="_blank">felipe.soares@traderdata.com.br</a>><br>>> To: Grant Birchmeier <<a href="mailto:gbirchmeier@connamara.com" target="_blank">gbirchmeier@connamara.com</a>>; Mailing list for<br>
>> QuickFIX/n <<a href="mailto:quickfixn@lists.quickfixn.com" target="_blank">quickfixn@lists.quickfixn.com</a>><br>>> Sent: Tuesday, 31 July 2012 11:18 PM<br>>> Subject: {{Quickfixn}} RES: felipe's custom message problem<br>
>><br>>> Hi Grant,<br>>><br>>> I am not sure I made any progress L<br>>><br>>> Here is the output I am receving from your code:<br>>><br>>><br>>> 8=FIX.4.4☺9=82☺35=BW☺1346=TRADER☺1347=0☺1351=2☺1355=foo☺1182=10☺1183=<br>
>> 2<br>>> 0☺1355=bar<br>>> ☺1182=11☺1183=22☺10=202☺<br>>><br>>> Unhandled Exception: QuickFix.FieldNotFoundException: field not found<br>>> for<br>>> tag: 3<br>>> 5<br>>>    at QuickFix.FieldMap.GetField(Int32 tag)<br>
>>    at QuickFix.Session.SendRaw(Message message, Int32 seqNum)<br>>>    at QuickFix.Session.Send(Message message)<br>>>    at QuickFix.Session.SendToTarget(Message message, SessionID sessionID)<br>>>    at ConsoleApplication21.TCPReplayApp.RequestSeqNum(Int32 seqnum)<br>
>>    at ConsoleApplication21.Program.Main(String[] args)<br>>><br>>> The error happens when I try Session.SendToTarget(m, sessionId);<br>>><br>>> Please help I don´t know where I should get information…<br>
>><br>>> De: Grant Birchmeier [mailto:<a href="mailto:gbirchmeier@connamara.com" target="_blank">gbirchmeier@connamara.com</a>]<br>>> Enviada em: terça-feira, 31 de julho de 2012 12:53<br>>> Para: Mailing list for QuickFIX/n; Felipe Soares<br>
>> Assunto: felipe's custom message problem<br>>><br>>> Felipe,<br>>><br>>> In this an future discussions, I highly recommend that you turn off<br>>> digest mode.  It's making it difficult to follow the discussion when<br>
>> the subject lines are constantly changing.<br>>><br>>> Problem 1: In your cfg file, you need to add UseDataDictionary=Y<br>>><br>>> Problem 2: You are not constructing your repeating group correctly.<br>
>><br>>> Problem 3: You were not using the correct message constructor.  (The<br>>> first parameter to Message(string,bool) is an entire FIX message<br>>> string, not just the 35 field.) To construct your message with<br>
>> generic methods, it should look like this:<br>>><br>>>             QuickFix.Message m = new Message();<br>>>             m.Header.SetField(new BeginString("FIX.4.4"));<br>>>             m.SetField(new QuickFix.Fields.StringField(35, "BW"));<br>
>><br>>>             m.SetField(new QuickFix.Fields.StringField(1346,<br>>> "TRADER")); //AppReqId<br>>>             m.SetField(new QuickFix.Fields.IntField(1347, 0));<br>>> //ApplReqType<br>
>><br>>>             int[] ordering = {1355,1182,1183};<br>>>             Group g = new Group(1351, 1355, ordering);<br>>><br>>>             // first group element<br>>>             g.SetField(new<br>
>> QuickFix.Fields.StringField(1355,("foo")));<br>>> //RefApplID<br>>>             g.SetField(new QuickFix.Fields.IntField(1182, 10));<br>>> //ApplBegSeqNum<br>>>             g.SetField(new QuickFix.Fields.IntField(1183, 20));<br>
>> //ApplEndSeqNum<br>>>             m.AddGroup(g);<br>>><br>>>             // second group element<br>>>             g.SetField(new QuickFix.Fields.StringField(1355,<br>>> ("bar"))); //RefApplID<br>
>>             g.SetField(new QuickFix.Fields.IntField(1182, 11));<br>>> //ApplBegSeqNum<br>>>             g.SetField(new QuickFix.Fields.IntField(1183, 22));<br>>> //ApplEndSeqNum<br>>>             m.AddGroup(g);<br>
>>             Console.WriteLine(m.ToString());<br>>>             // prints<br>>> 8=FIX.4.4|9=82|35=BW|1346=TRADER|1347=0|1351=2|1355=foo|1182=10|1183=<br>>> 2<br>>> 0|1355=bar|1182=11|1183=22|10=202|<br>
>><br>>><br>>><br>>><br>>> --<br>>> Grant Birchmeier<br>>> Connamara Systems, LLC<br>>> Made-To-Measure Trading Solutions.<br>>> Exactly what you need. No more. No less.<br>
>> <a href="http://connamara.com" target="_blank">http://connamara.com</a><br>>><br>>> _______________________________________________<br>>> Quickfixn mailing list<br>>> <a href="mailto:Quickfixn@lists.quickfixn.com" target="_blank">Quickfixn@lists.quickfixn.com</a><br>
>> <a href="http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com" target="_blank">http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com</a><br>>><br>>><br>>><br>>> --<br>
>> Grant Birchmeier<br>>> Connamara Systems, LLC<br>>> Made-To-Measure Trading Solutions.<br>>> Exactly what you need. No more. No less.<br>>> <a href="http://connamara.com" target="_blank">http://connamara.com</a><br>
>><br>>><br>>><br>>><br>>><br>>> --<br>>> Grant Birchmeier<br>>> Connamara Systems, LLC<br>>> Made-To-Measure Trading Solutions.<br>>> Exactly what you need. No more. No less.<br>
>> <a href="http://connamara.com" target="_blank">http://connamara.com</a><br>>><br>>><br>>><br>>><br>><br>><br>><br>> --<br>> Grant Birchmeier<br>> Connamara Systems, LLC<br>
> Made-To-Measure Trading Solutions.<br>> Exactly what you need. No more. No less.<br>> <a href="http://connamara.com" target="_blank">http://connamara.com</a><br><br><br><br>--<br>Grant Birchmeier<br>Connamara Systems, LLC<br>
Made-To-Measure Trading Solutions.<br>Exactly what you need. No more. No less.<br><a href="http://connamara.com" target="_blank">http://connamara.com</a></p></div></div></div><p class="MsoNormal"><br><br clear="all"><br>-- </p>
<div><p class="MsoNormal"><span style="background:white">Grant Birchmeier</span></p></div><div><p class="MsoNormal"><b><span style="color:#3333ff;background:#ffcc00">Connamara Systems, LLC</span></b></p></div><div><p class="MsoNormal">
<b>Made-To-Measure Trading Solutions.</b></p></div><div><p class="MsoNormal">Exactly what you need. No more. No less.</p></div><div><p class="MsoNormal"><a href="http://connamara.com" target="_blank">http://connamara.com</a></p>
</div><p class="MsoNormal"> </p></div></body></html>