{{Quickfixn}} felipe's custom message problem

Grant Birchmeier gbirchmeier at connamara.com
Wed Aug 1 04:43:15 PDT 2012


This error looks odd.  I'm starting to think you're doing something
unintentionally weird.

Is there a chance we can see the source for your QuickFIX Application
class?  Or you can send it to me privately.


On Tue, Jul 31, 2012 at 12:48 PM, Felipe Soares <
felipe.soares at traderdata.com.br> wrote:

> 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=20☺
> 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=20|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
>



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


More information about the Quickfixn mailing list