{{Quickfixn}} Quickfix/N vs QuickFix.Net Wrapper

Grant Birchmeier gbirchmeier at connamara.com
Thu Jan 26 07:06:11 PST 2012


I've created a new issue for your item (3) so I remember to look at it.  I
hope I can get to it this weekend or next week.
https://github.com/connamara/quickfixn/issues/34


On Wed, Jan 25, 2012 at 1:43 AM, Peter van Lonkhuyzen <
Peter at nutcracker.co.za> wrote:

> Hi Grant
>
>
>
> Thanks for the reply
>
> 1)      As stated not urgent.
>
> 2)      I am more than willing to contribute, and If I do change anything
> while developing I will pass it back, but at the moment I don’t have the
> time to do additional development outside what I need.
>
> 3)      These are the problems I have come upon till now
>
> a.       There are no classes for FIXT1.1, We have a situation where we
> have to add passwords to logon messages on certain sessions, I do this in
> the toAdmin method of my fix Application. Under QuickFix.Net I just
> compared the class type of the message (The code is Oxygen)
>
>   if (Message is Logon) then
>
> due there being no FIXT classes the code now looks like this.
>
>   var f := new MsgType;
>
>   if message.Header.IsSetField(f) then
>
>     Message.Header.GetField(f);
>
>   if f.getValue='A' then
>
> b.  In Fix 5SP2 there now is the ApplicationRequestMessage which I don’t
> seem to find, I have coded it like this
>
>   var cmd := new QuickFix.Message;
>
>   cmd.header.SetField(new MsgType('BW'));
>
>   var id :=datetime.Now.ToString('hhmmss')+IDno.ToString;
>
>   cmd.SetField(new ApplReqID(Id));
>
>   IdNo:=IDNo+1;
>
>   cmd.SetField(new ApplReqType(0));
>
>   var req := new &Group(1351,1355,[1355,1182,1183,0]);
>
>   req.SetField(new RefApplID(ID));
>
>   req.SetField(new ApplBegSeqNum(&from));
>
>   req.SetField(new ApplEndSeqNum(&to));
>
>   cmd.addgroup(req);
>
> c.  The response that I get from this message is also being rejected by
> quickfixn due to an invalid value on msgtype even though it is in the XML
> file. Here are the log extracts.
>
> 20120124-14:06:18.594 : 8=FIXT.1.19=11435=BW34=92149=NTCP0152=20120124-14
> :06:18.58956=JSEPTPGW1346=04061801347=01351=11355=04061801182=01183=010=253
>
> 20120124-14:06:18.595 : 8=FIXT.1.19=17935=BX49=JSEPTPGW56=NTCP0134=96152=
> 20120124-14:07:37.7641128=91353=NTCP01-11346=04061801347=01351=11355=4061801182=01183=01354=158=Requested
> Trades are Not Available10=129
>
> 20120124-14:06:18.661 : 8=FIXT.1.19=13635=334=92249=NTCP0152=20120124-14:06:18.66056=JSEPTPGW45=96158=Value
> is incorrect (out of range) for this tag371=35372=BX373=510=232
>
> But the XML that I use definitely has BX as a valid value for MsgType.
>
>   <field number='35' name='MsgType' type='STRING'>
>
>    <value enum='0' description='HEARTBEAT' />
>
>    <value enum='1' description='TESTREQUEST' />
>
>    <value enum='2' description='RESENDREQUEST' />
>
>    <value enum='3' description='REJECT' />
>
>    <value enum='4' description='SEQUENCERESET' />
>
>    <value enum='5' description='LOGOUT' />
>
>    <value enum='6' description='IOI' />
>
>    <value enum='7' description='ADVERTISEMENT' />
>
>    <value enum='8' description='EXECUTIONREPORT' />
>
>    <value enum='9' description='ORDERCANCELREJECT' />
>
>    <value enum='A' description='LOGON' />
>
>    <value enum='AA' description='DERIVATIVESECURITYLIST' />
>
>    <value enum='AB' description='NEWORDERMULTILEG' />
>
>    <value enum='AC' description='MULTILEGORDERCANCELREPLACE' />
>
>    <value enum='AD' description='TRADECAPTUREREPORTREQUEST' />
>
>    <value enum='AE' description='TRADECAPTUREREPORT' />
>
>    <value enum='AF' description='ORDERMASSSTATUSREQUEST' />
>
>    <value enum='AG' description='QUOTEREQUESTREJECT' />
>
>    <value enum='AH' description='RFQREQUEST' />
>
>    <value enum='AI' description='QUOTESTATUSREPORT' />
>
>    <value enum='AJ' description='QUOTERESPONSE' />
>
>    <value enum='AK' description='CONFIRMATION' />
>
>    <value enum='AL' description='POSITIONMAINTENANCEREQUEST' />
>
>    <value enum='AM' description='POSITIONMAINTENANCEREPORT' />
>
>    <value enum='AN' description='REQUESTFORPOSITIONS' />
>
>    <value enum='AO' description='REQUESTFORPOSITIONSACK' />
>
>    <value enum='AP' description='POSITIONREPORT' />
>
>    <value enum='AQ' description='TRADECAPTUREREPORTREQUESTACK' />
>
>    <value enum='AR' description='TRADECAPTUREREPORTACK' />
>
>    <value enum='AS' description='ALLOCATIONREPORT' />
>
>    <value enum='AT' description='ALLOCATIONREPORTACK' />
>
>    <value enum='AU' description='CONFIRMATION_ACK' />
>
>    <value enum='AV' description='SETTLEMENTINSTRUCTIONREQUEST' />
>
>    <value enum='AW' description='ASSIGNMENTREPORT' />
>
>    <value enum='AX' description='COLLATERALREQUEST' />
>
>    <value enum='AY' description='COLLATERALASSIGNMENT' />
>
>    <value enum='AZ' description='COLLATERALRESPONSE' />
>
>    <value enum='B' description='NEWS' />
>
>    <value enum='BA' description='COLLATERALREPORT' />
>
>    <value enum='BB' description='COLLATERALINQUIRY' />
>
>    <value enum='BC' description='NETWORKCOUNTERPARTYSYSTEMSTATUSREQUEST'/>
>
>    <value enum='BD' description='NETWORKCOUNTERPARTYSYSTEMSTATUSRESPONSE'/>
>
>    <value enum='BE' description='USERREQUEST' />
>
>    <value enum='BF' description='USERRESPONSE' />
>
>    <value enum='BG' description='COLLATERALINQUIRYACK' />
>
>    <value enum='BH' description='CONFIRMATIONREQUEST' />
>
>    <value enum='BI' description='TRADINGSESSIONLISTREQUEST' />
>
>    <value enum='BJ' description='TRADINGSESSIONLIST' />
>
>    <value enum='BK' description='SECURITYLISTUPDATEREPORT' />
>
>    <value enum='BL' description='ADJUSTEDPOSITIONREPORT' />
>
>    <value enum='BM' description='ALLOCATIONINSTRUCTIONALERT' />
>
>    <value enum='BN' description='EXECUTIONACKNOWLEDGEMENT' />
>
>    <value enum='BO' description='CONTRARYINTENTIONREPORT' />
>
>    <value enum='BP' description='SECURITYDEFINITIONUPDATEREPORT' />
>
>    <value enum='BQ' description='SETTLEMENTOBLIGATIONREPORT' />
>
>    <value enum='BR' description='DERIVATIVESECURITYLISTUPDATEREPORT' />
>
>    <value enum='BS' description='TRADINGSESSIONLISTUPDATEREPORT' />
>
>    <value enum='BT' description='MARKETDEFINITIONREQUEST' />
>
>    <value enum='BU' description='MARKETDEFINITION' />
>
>    <value enum='BV' description='MARKETDEFINITIONUPDATEREPORT' />
>
>    <value enum='BW' description='APPLICATIONMESSAGEREQUEST' />
>
>    <value enum='BX' description='APPLICATIONMESSAGEREQUESTACK' />
>
>    <value enum='BY' description='APPLICATIONMESSAGEREPORT' />
>
>    <value enum='BZ' description='ORDERMASSACTIONREPORT' />
>
>    <value enum='C' description='EMAIL' />
>
>    <value enum='CA' description='ORDERMASSACTIONREQUEST' />
>
>    <value enum='CB' description='USERNOTIFICATION' />
>
>    <value enum='CC' description='STREAMASSIGNMENTREQUEST' />
>
>    <value enum='CD' description='STREAMASSIGNMENTREPORT' />
>
>    <value enum='CE' description='STREAMASSIGNMENTREPORTACK' />
>
>    <value enum='CF' description='PARTYDETAILSLISTREQUEST' />
>
>    <value enum='CG' description='PARTYDETAILSLISTREPORT' />
>
>    <value enum='D' description='NEWORDERSINGLE' />
>
>    <value enum='E' description='NEWORDERLIST' />
>
>    <value enum='F' description='ORDERCANCELREQUEST' />
>
>    <value enum='G' description='ORDERCANCELREPLACEREQUEST' />
>
>    <value enum='H' description='ORDERSTATUSREQUEST' />
>
>    <value enum='J' description='ALLOCATIONINSTRUCTION' />
>
>    <value enum='K' description='LISTCANCELREQUEST' />
>
>    <value enum='L' description='LISTEXECUTE' />
>
>    <value enum='M' description='LISTSTATUSREQUEST' />
>
>    <value enum='N' description='LISTSTATUS' />
>
>    <value enum='P' description='ALLOCATIONINSTRUCTIONACK' />
>
>    <value enum='Q' description='DONTKNOWTRADEDK' />
>
>    <value enum='R' description='QUOTEREQUEST' />
>
>    <value enum='S' description='QUOTE' />
>
>    <value enum='T' description='SETTLEMENTINSTRUCTIONS' />
>
>    <value enum='V' description='MARKETDATAREQUEST' />
>
>    <value enum='W' description='MARKETDATASNAPSHOTFULLREFRESH' />
>
>    <value enum='X' description='MARKETDATAINCREMENTALREFRESH' />
>
>    <value enum='Y' description='MARKETDATAREQUESTREJECT' />
>
>    <value enum='Z' description='QUOTECANCEL' />
>
>    <value enum='a' description='QUOTESTATUSREQUEST' />
>
>    <value enum='b' description='MASSQUOTEACKNOWLEDGEMENT' />
>
>    <value enum='c' description='SECURITYDEFINITIONREQUEST' />
>
>    <value enum='d' description='SECURITYDEFINITION' />
>
>    <value enum='e' description='SECURITYSTATUSREQUEST' />
>
>    <value enum='f' description='SECURITYSTATUS' />
>
>    <value enum='g' description='TRADINGSESSIONSTATUSREQUEST' />
>
>    <value enum='h' description='TRADINGSESSIONSTATUS' />
>
>    <value enum='i' description='MASSQUOTE' />
>
>    <value enum='j' description='BUSINESSMESSAGEREJECT' />
>
>    <value enum='k' description='BIDREQUEST' />
>
>    <value enum='l' description='BIDRESPONSE' />
>
>    <value enum='m' description='LISTSTRIKEPRICE' />
>
>    <value enum='n' description='XML_NON_FIX' />
>
>    <value enum='o' description='REGISTRATIONINSTRUCTIONS' />
>
>    <value enum='p' description='REGISTRATIONINSTRUCTIONSRESPONSE' />
>
>    <value enum='q' description='ORDERMASSCANCELREQUEST' />
>
>    <value enum='r' description='ORDERMASSCANCELREPORT' />
>
>    <value enum='s' description='NEWORDERCROSS' />
>
>    <value enum='t' description='CROSSORDERCANCELREPLACEREQUEST' />
>
>    <value enum='u' description='CROSSORDERCANCELREQUEST' />
>
>    <value enum='v' description='SECURITYTYPEREQUEST' />
>
>    <value enum='w' description='SECURITYTYPES' />
>
>    <value enum='x' description='SECURITYLISTREQUEST' />
>
>    <value enum='y' description='SECURITYLIST' />
>
>    <value enum='z' description='DERIVATIVESECURITYLISTREQUEST' />
>
>   </field>
>
>
>
>
>
>
>
> Regards
>
> Peter
>
>
>
> peter at nutcracker.co.za <marc at nutcracker.co.za>
>
> T: +27 11 575 0002
>
> F: +27 11 576 0002
>
>
>
>
> NUTCRACKER | Ground floor, Roland Garros | The Campus | 57 Sloane Street
> | Bryanston | 2021
>
> www.nutcracker.co.za
>
>
>
> Disclaimer:
>
> "This e-mail may contain confidential information and may be legally
> privileged and is intended only for the person to whom it is addressed. If
> you are not the intended recipient, you are notified that you may not use,
> distribute or copy this document in any manner whatsoever. Kindly also
> notify Nutcracker Technologies (Pty) Ltd immediately by telephone, and
> delete the e-mail. When addressed to clients of Nutcracker Technologies
> (Pty) Ltd. any opinion or advice contained in this e-mail is subject to the
> terms and conditions expressed in any applicable terms of business or
> client engagement letter. Nutcracker Technologies (Pty) Ltd does not accept
> liability for any damage, loss or expense arising from this e-mail and/or
> from the accessing of any files attached to this e-mail."
>
>
>
>
>
> *From:* quickfixn-bounces at lists.quickfixn.com [mailto:
> quickfixn-bounces at lists.quickfixn.com] *On Behalf Of *Grant Birchmeier
> *Sent:* 20 January 2012 05:26 PM
> *To:* Mailing list for QuickFIX/n
> *Subject:* Re: {{Quickfixn}} Quickfix/N vs QuickFix.Net Wrapper
>
>
>
> 1) You can check it out and build if this is urgent.
>
>
>
> 2) I made issue 31 to track this.  It's not a high priority right now,
> though.  We welcome anyone who would like to give it a shot and submit a
> patch.
>
> https://github.com/connamara/quickfixn/issues/31
>
>
>
> 3) We have message classes and tests for FIX5.  Can you be more specific
> as to what's missing?
>
>
>
> -Grant
>
>
>
>
>
> On Fri, Jan 20, 2012 at 3:39 AM, Peter van Lonkhuyzen <
> Peter at nutcracker.co.za> wrote:
>
> Hi All
>
>
>
> We currently have been using the quickfix .net wrapper for our systems.
>
> I am currently trying to port one of these to quickfix/n so that it
> doesn’t have to be built as 32 bit specific.
>
>
>
> It ported fine and is working so I have to say Job well done to you guys.
>
>
>
> I ran into the following problems
>
>
>
> 1)      As already reported and due in the next version. I can’t
> programatically set the Sequence numbers.
>
> 2)      No Support for ToXML. No Trainsmash as for My purposes toString
> is fine.
>
> 3)      Limited support fo Fix 5 (I Say this with reservations but based
> on my use of the Quickfix.net wrapper)
>
> There are no prebuilt message classes for FIXT,Fix5.0SP1 & SP2
>
> This caused a problem as one of our logon’s needs a password and what I
> did in the FixApplication.ToAdmin event I would insert the password field
> if the message passed in was the Logon Message type. The work around is
> simple but cumbersome, I first have to see if there is a messagetype field
> and then check if it has a value of A.
>
>
>
>
>
> Regards
>
> Peter van Lonkhuyzen
>
> peter at nutcracker.co.za <marc at nutcracker.co.za>
>
> T: +27 11 575 0002
>
> F: +27 11 576 0002
>
>
>
>
> NUTCRACKER | Ground floor, Roland Garros | The Campus | 57 Sloane Street
> | Bryanston | 2021
>
> www.nutcracker.co.za
>
>
>
> Disclaimer:
>
> "This e-mail may contain confidential information and may be legally
> privileged and is intended only for the person to whom it is addressed. If
> you are not the intended recipient, you are notified that you may not use,
> distribute or copy this document in any manner whatsoever. Kindly also
> notify Nutcracker Technologies (Pty) Ltd immediately by telephone, and
> delete the e-mail. When addressed to clients of Nutcracker Technologies
> (Pty) Ltd. any opinion or advice contained in this e-mail is subject to the
> terms and conditions expressed in any applicable terms of business or
> client engagement letter. Nutcracker Technologies (Pty) Ltd does not accept
> liability for any damage, loss or expense arising from this e-mail and/or
> from the accessing of any files attached to this e-mail."
>
>
>
>
>
>
> _______________________________________________
> 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
>
>
>
> _______________________________________________
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20120126/ad582bef/attachment-0002.htm>


More information about the Quickfixn mailing list