quickfix-developers Mailing List for QuickFIX (Page 35)
Brought to you by:
orenmnero
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
|
Feb
(5) |
Mar
(16) |
Apr
(15) |
May
(17) |
Jun
(33) |
Jul
(35) |
Aug
(34) |
Sep
(19) |
Oct
(40) |
Nov
(51) |
Dec
(43) |
2003 |
Jan
(45) |
Feb
(79) |
Mar
(124) |
Apr
(121) |
May
(132) |
Jun
(77) |
Jul
(110) |
Aug
(57) |
Sep
(48) |
Oct
(83) |
Nov
(60) |
Dec
(40) |
2004 |
Jan
(67) |
Feb
(72) |
Mar
(74) |
Apr
(87) |
May
(70) |
Jun
(96) |
Jul
(75) |
Aug
(147) |
Sep
(128) |
Oct
(83) |
Nov
(67) |
Dec
(42) |
2005 |
Jan
(110) |
Feb
(84) |
Mar
(68) |
Apr
(55) |
May
(51) |
Jun
(192) |
Jul
(111) |
Aug
(100) |
Sep
(79) |
Oct
(127) |
Nov
(73) |
Dec
(112) |
2006 |
Jan
(95) |
Feb
(120) |
Mar
(138) |
Apr
(127) |
May
(124) |
Jun
(97) |
Jul
(103) |
Aug
(88) |
Sep
(138) |
Oct
(91) |
Nov
(112) |
Dec
(57) |
2007 |
Jan
(55) |
Feb
(35) |
Mar
(56) |
Apr
(16) |
May
(20) |
Jun
(77) |
Jul
(43) |
Aug
(47) |
Sep
(29) |
Oct
(54) |
Nov
(39) |
Dec
(40) |
2008 |
Jan
(69) |
Feb
(79) |
Mar
(122) |
Apr
(106) |
May
(114) |
Jun
(76) |
Jul
(83) |
Aug
(71) |
Sep
(53) |
Oct
(75) |
Nov
(54) |
Dec
(43) |
2009 |
Jan
(32) |
Feb
(31) |
Mar
(64) |
Apr
(48) |
May
(38) |
Jun
(43) |
Jul
(35) |
Aug
(15) |
Sep
(52) |
Oct
(62) |
Nov
(62) |
Dec
(21) |
2010 |
Jan
(44) |
Feb
(10) |
Mar
(47) |
Apr
(22) |
May
(5) |
Jun
(54) |
Jul
(19) |
Aug
(54) |
Sep
(16) |
Oct
(15) |
Nov
(7) |
Dec
(8) |
2011 |
Jan
(18) |
Feb
(9) |
Mar
(5) |
Apr
(5) |
May
(41) |
Jun
(40) |
Jul
(29) |
Aug
(17) |
Sep
(12) |
Oct
(23) |
Nov
(22) |
Dec
(11) |
2012 |
Jan
(8) |
Feb
(24) |
Mar
(5) |
Apr
(5) |
May
(6) |
Jun
(5) |
Jul
(5) |
Aug
(5) |
Sep
(2) |
Oct
(9) |
Nov
(2) |
Dec
(18) |
2013 |
Jan
(25) |
Feb
(16) |
Mar
(8) |
Apr
(2) |
May
(16) |
Jun
(17) |
Jul
(2) |
Aug
(13) |
Sep
(3) |
Oct
(4) |
Nov
(1) |
Dec
|
2014 |
Jan
(2) |
Feb
|
Mar
(22) |
Apr
(9) |
May
(3) |
Jun
(1) |
Jul
(5) |
Aug
(11) |
Sep
(18) |
Oct
(4) |
Nov
(4) |
Dec
(3) |
2015 |
Jan
(2) |
Feb
|
Mar
|
Apr
(3) |
May
(4) |
Jun
(37) |
Jul
|
Aug
(4) |
Sep
(6) |
Oct
(1) |
Nov
(4) |
Dec
(2) |
2016 |
Jan
(9) |
Feb
(3) |
Mar
(7) |
Apr
(1) |
May
(8) |
Jun
|
Jul
|
Aug
|
Sep
(7) |
Oct
(3) |
Nov
(16) |
Dec
|
2017 |
Jan
(1) |
Feb
(15) |
Mar
(2) |
Apr
(12) |
May
(4) |
Jun
(7) |
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
(23) |
Dec
(8) |
2018 |
Jan
(2) |
Feb
(4) |
Mar
(2) |
Apr
(8) |
May
(3) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(5) |
Nov
(3) |
Dec
|
2020 |
Jan
|
Feb
(4) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(12) |
Aug
(5) |
Sep
(3) |
Oct
(1) |
Nov
|
Dec
(1) |
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Grant B. <gbi...@co...> - 2010-08-04 13:25:55
|
It is automatically sent when you start the initiator (or in the case of an acceptor, it's automatically sent as a response). Regarding username/password, this question comes up frequently. You can add the user/pass in the body of the toAdmin() callback, which is called on any admin message right before it is sent. It woud look something like this: toApp(FIX::Message &msg, const FIX::SessionID &ses) { MsgType type; msg.getHeader().getField(type); if(type.getValue() == "A"){ //Make Changes (Add UserName/Password/Etc.) } } This question comes up so frequently that maybe it should be added to the official FAQ. -Grant On Wed, Aug 4, 2010 at 7:49 AM, Shai Zohar <sh...@tr...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi Everyone, > > Can someone please advise on how to send a logon message to a FIX 4.3 server? Is the logon message sent automatically by the FIX engine and I just need to append the user name and password? If so can I append these values from the config store somehow? > > Thanks, > Shai > > > ------------------------------------------------------------------------------ > The Palm PDK Hot Apps Program offers developers who use the > Plug-In Development Kit to bring their C/C++ apps to Palm for a share > of $1 Million in cash or HP Products. Visit us here for more details: > http://p.sf.net/sfu/dev2dev-palm > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Shai Z. <sh...@tr...> - 2010-08-04 13:02:48
|
Hi Everyone, Can someone please advise on how to send a logon message to a FIX 4.3 server? Is the logon message sent automatically by the FIX engine and I just need to append the user name and password? If so can I append these values from the config store somehow? Thanks, Shai |
From: Grant B. <gbi...@co...> - 2010-08-03 17:40:54
|
I believe user-defined fields are those tags numbered 5000+, at least, that's how the QuickFIX/J documentation defines it. If QuickFIX/C++ works the same, then that would explain why your 524 is tripping the validator. I don't know if there's a way for QF to ignore all undefined fields. Hopefully another list member can help with that. On Tue, Aug 3, 2010 at 12:32 PM, Gerry Robinson <ge...@sm...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I have to be able to handle all undefined fields to pass conformance testing. 524 is in the data dictionary but doesn’t seem to be part of a TradeCaptureReport . I am using FIX 4.4. I thought by setting ValidateUserDefinedFields=N would prevent the incoming message from getting rejected. > > > > Thanks > > > > > > > > Add the field to your data dictionary. > > -- > Kenny Stone > Connamara Systems, LLC > > On Tue, Aug 3, 2010 at 12:03 PM, Gerry Robinson <ge...@sm...> wrote: > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > I’m getting a “Tag not defined for this message type:524” in my trade capture message. The following is my current settings file: > > > > # default settings for sessions > > [DEFAULT] > > ConnectionType=initiator > > LogonTimeout=30 > > ReconnectInterval=60 > > ValidateUserDefinedFields=N > > ValidateFieldsHaveValues=N > > AllowUnknownMsgFields=Y > > UseDataDictionary=Y > > # session definition > > [SESSION] > > # inherit ConnectionType, ReconnectInterval from default > > BeginString=FIX.4.4 > > SenderCompID=1555 > > TargetCompID=ICE > > StartTime=06:30:00 > > EndTime=02:25:00 > > HeartBtInt=30 > > SocketConnectPort=80 > > SocketConnectHost=63.247.113.201 > > FileLogPath=c:\geticetrades\logs > > DataDictionary=c:\geticetrades\spec\fix44.xml > > FileStorePath=c:\geticetrades\data > > > > I’m using quickfix 1.13.3. > > > > ------------------------------------------------------------------------------ > The Palm PDK Hot Apps Program offers developers who use the > Plug-In Development Kit to bring their C/C++ apps to Palm for a share > of $1 Million in cash or HP Products. Visit us here for more details: > http://p.sf.net/sfu/dev2dev-palm > _______________________________________________ > Quickfix-developers mailing list > > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > > > ------------------------------------------------------------------------------ > The Palm PDK Hot Apps Program offers developers who use the > Plug-In Development Kit to bring their C/C++ apps to Palm for a share > of $1 Million in cash or HP Products. Visit us here for more details: > http://p.sf.net/sfu/dev2dev-palm > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Gerry R. <ge...@sm...> - 2010-08-03 17:32:20
|
I have to be able to handle all undefined fields to pass conformance testing. 524 is in the data dictionary but doesn't seem to be part of a TradeCaptureReport . I am using FIX 4.4. I thought by setting ValidateUserDefinedFields=N would prevent the incoming message from getting rejected. Thanks Add the field to your data dictionary. -- Kenny Stone Connamara Systems, LLC On Tue, Aug 3, 2010 at 12:03 PM, Gerry Robinson <ge...@sm...> wrote: QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html I'm getting a "Tag not defined for this message type:524" in my trade capture message. The following is my current settings file: # default settings for sessions [DEFAULT] ConnectionType=initiator LogonTimeout=30 ReconnectInterval=60 ValidateUserDefinedFields=N ValidateFieldsHaveValues=N AllowUnknownMsgFields=Y UseDataDictionary=Y # session definition [SESSION] # inherit ConnectionType, ReconnectInterval from default BeginString=FIX.4.4 SenderCompID=1555 TargetCompID=ICE StartTime=06:30:00 EndTime=02:25:00 HeartBtInt=30 SocketConnectPort=80 SocketConnectHost=63.247.113.201 FileLogPath=c:\geticetrades\logs DataDictionary=c:\geticetrades\spec\fix44.xml FileStorePath=c:\geticetrades\data I'm using quickfix 1.13.3. ---------------------------------------------------------------------------- -- The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://p.sf.net/sfu/dev2dev-palm _______________________________________________ Quickfix-developers mailing list <mailto:Qui...@li...> https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Grant B. <gbi...@co...> - 2010-08-03 17:23:59
|
Are you sending or receiving? What is the content of the message you are sending or receiving? Have you checked the data dictionary to be sure that 524 is in the message type that you are constructing/receiving? On Tue, Aug 3, 2010 at 12:03 PM, Gerry Robinson <ge...@sm...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I’m getting a “Tag not defined for this message type:524” in my trade capture message. The following is my current settings file: > > > > # default settings for sessions > > [DEFAULT] > > ConnectionType=initiator > > LogonTimeout=30 > > ReconnectInterval=60 > > ValidateUserDefinedFields=N > > ValidateFieldsHaveValues=N > > AllowUnknownMsgFields=Y > > UseDataDictionary=Y > > # session definition > > [SESSION] > > # inherit ConnectionType, ReconnectInterval from default > > BeginString=FIX.4.4 > > SenderCompID=1555 > > TargetCompID=ICE > > StartTime=06:30:00 > > EndTime=02:25:00 > > HeartBtInt=30 > > SocketConnectPort=80 > > SocketConnectHost=63.247.113.201 > > FileLogPath=c:\geticetrades\logs > > DataDictionary=c:\geticetrades\spec\fix44.xml > > FileStorePath=c:\geticetrades\data > > > > I’m using quickfix 1.13.3. > > > > ------------------------------------------------------------------------------ > The Palm PDK Hot Apps Program offers developers who use the > Plug-In Development Kit to bring their C/C++ apps to Palm for a share > of $1 Million in cash or HP Products. Visit us here for more details: > http://p.sf.net/sfu/dev2dev-palm > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Kenny S. <ks...@co...> - 2010-08-03 17:20:56
|
Add the field to your data dictionary. -- Kenny Stone Connamara Systems, LLC On Tue, Aug 3, 2010 at 12:03 PM, Gerry Robinson <ge...@sm...>wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I’m getting a “Tag not defined for this message type:524” in my trade > capture message. The following is my current settings file: > > > > # default settings for sessions > > [DEFAULT] > > ConnectionType=initiator > > LogonTimeout=30 > > ReconnectInterval=60 > > ValidateUserDefinedFields=N > > ValidateFieldsHaveValues=N > > AllowUnknownMsgFields=Y > > UseDataDictionary=Y > > # session definition > > [SESSION] > > # inherit ConnectionType, ReconnectInterval from default > > BeginString=FIX.4.4 > > SenderCompID=1555 > > TargetCompID=ICE > > StartTime=06:30:00 > > EndTime=02:25:00 > > HeartBtInt=30 > > SocketConnectPort=80 > > SocketConnectHost=63.247.113.201 > > FileLogPath=c:\geticetrades\logs > > DataDictionary=c:\geticetrades\spec\fix44.xml > > FileStorePath=c:\geticetrades\data > > > > I’m using quickfix 1.13.3. > > > > > ------------------------------------------------------------------------------ > The Palm PDK Hot Apps Program offers developers who use the > Plug-In Development Kit to bring their C/C++ apps to Palm for a share > of $1 Million in cash or HP Products. Visit us here for more details: > http://p.sf.net/sfu/dev2dev-palm > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Gerry R. <ge...@sm...> - 2010-08-03 17:16:35
|
I'm getting a "Tag not defined for this message type:524" in my trade capture message. The following is my current settings file: # default settings for sessions [DEFAULT] ConnectionType=initiator LogonTimeout=30 ReconnectInterval=60 ValidateUserDefinedFields=N ValidateFieldsHaveValues=N AllowUnknownMsgFields=Y UseDataDictionary=Y # session definition [SESSION] # inherit ConnectionType, ReconnectInterval from default BeginString=FIX.4.4 SenderCompID=1555 TargetCompID=ICE StartTime=06:30:00 EndTime=02:25:00 HeartBtInt=30 SocketConnectPort=80 SocketConnectHost=63.247.113.201 FileLogPath=c:\geticetrades\logs DataDictionary=c:\geticetrades\spec\fix44.xml FileStorePath=c:\geticetrades\data I'm using quickfix 1.13.3. |
From: Draupnir G. - L. <dra...@li...> - 2010-08-03 11:06:53
|
Hi, You have to inherit from Quickfix.Log and in your factory, you return a new instance of your log. Your log class has to implement: QuickFix.Log.Clear QuickFix.Log.onEvent QuickFix.Log.onIncoming QuickFix.Log.onOutgoing And in your onOutgoing method you do something like message.ToString() and take that string and remove the password token. You could also make a loop over each token and add the values to the output if it isn't the password. And then you have to actually do the logging (write to whatever file you want to use). Best regards, Draupnir Guðmundsson Libra On Tue, Aug 3, 2010 at 10:06, Zuber <moh...@in...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Thanks Kenny for you reply, but I am not able to have a clear idea of how to > do it, i have made a Logger class which extends quickfix. > > > import quickfix.Log; > import quickfix.SLF4JLogFactory; > import quickfix.SessionID; > import quickfix.SessionSettings; > > public class LogFactory extends SLF4JLogFactory implements > quickfix.LogFactory{ > > public LogFactory(SessionSettings settings) { > super(settings); > // TODO Auto-generated constructor stub > } > > @Override > public Log create() { > // TODO Auto-generated method stub > return null; > } > > @Override > public Log create(SessionID arg0) { > // TODO Auto-generated method stub > return null; > } > > } > > > The logs which in am getting are as followes: > > 11:01:13 [SocketConnectorIoProcessor-0.0]: sessionCreated MINA session > created: /<IP ADDRESS> > 11:01:13 [QFJ Timer]: ? FIX.4.4:38-><EXCHANGE>: Application exception in > toAdmin() > 11:01:13 [QFJ Timer]: send FIX.4.4:38-><EXCHANGE>: > 8=FIX.4.4 9=110 35=A 34=1 49=38 52=20100803-10:01:13.102 56=<EXCHANGE> 98=0 108=30 141=Y 553=<FIX > USER ID> 554=<FIX PASSWORD> 10=098 > 11:01:13 [QFJ Timer]: ? FIX.4.4:38-><EXCHANGE>: Initiated logon request > 11:01:13 [SocketConnectorIoProcessor-0.0]: exceptionCaught socket exception > (/63.247.113.201:443): Initial SSL handshake failed. > 11:01:13 [SocketConnectorIoProcessor-0.0]: ? FIX.4.4:38-><EXCHANGE>: > Disconnecting > > I want to get rid of the PASSWORD(marked). > > Thanks > Zuber > -- > View this message in context: http://old.nabble.com/Need-info-on-Quick-Fix-password-encryption.-tp29324628p29333740.html > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > The Palm PDK Hot Apps Program offers developers who use the > Plug-In Development Kit to bring their C/C++ apps to Palm for a share > of $1 Million in cash or HP Products. Visit us here for more details: > http://p.sf.net/sfu/dev2dev-palm > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Zuber <moh...@in...> - 2010-08-03 10:06:23
|
Thanks Kenny for you reply, but I am not able to have a clear idea of how to do it, i have made a Logger class which extends quickfix. import quickfix.Log; import quickfix.SLF4JLogFactory; import quickfix.SessionID; import quickfix.SessionSettings; public class LogFactory extends SLF4JLogFactory implements quickfix.LogFactory{ public LogFactory(SessionSettings settings) { super(settings); // TODO Auto-generated constructor stub } @Override public Log create() { // TODO Auto-generated method stub return null; } @Override public Log create(SessionID arg0) { // TODO Auto-generated method stub return null; } } The logs which in am getting are as followes: 11:01:13 [SocketConnectorIoProcessor-0.0]: sessionCreated MINA session created: /<IP ADDRESS> 11:01:13 [QFJ Timer]: ? FIX.4.4:38-><EXCHANGE>: Application exception in toAdmin() 11:01:13 [QFJ Timer]: send FIX.4.4:38-><EXCHANGE>: 8=FIX.4.49=11035=A34=149=3852=20100803-10:01:13.10256=<EXCHANGE>98=0108=30141=Y553=<FIX USER ID>554=<FIX PASSWORD>10=098 11:01:13 [QFJ Timer]: ? FIX.4.4:38-><EXCHANGE>: Initiated logon request 11:01:13 [SocketConnectorIoProcessor-0.0]: exceptionCaught socket exception (/63.247.113.201:443): Initial SSL handshake failed. 11:01:13 [SocketConnectorIoProcessor-0.0]: ? FIX.4.4:38-><EXCHANGE>: Disconnecting I want to get rid of the PASSWORD(marked). Thanks Zuber -- View this message in context: http://old.nabble.com/Need-info-on-Quick-Fix-password-encryption.-tp29324628p29333740.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Clark l. <cga...@gm...> - 2010-08-02 14:59:18
|
This page: http://www.quickfixengine.org/quickfix/doc/html/acceptance_tests.html says the acceptance test from FIX protocol.org are here: http://www.fixprotocol.org/ORGANIZATIONS/928202077/FIX_TestCase_SessionLevel20010710.doc They are now located here: http://fixprotocol.org/documents/614/FIX_TestCase_SessionLevel20010710.doc HTH, Clark |
From: Kenny S. <ks...@co...> - 2010-08-02 13:06:33
|
You will have to write a custom logger for this functionality. 'EncryptMethod' is treated like any other FIX field. -- Kenny Stone Connamara Systems, LLC On Mon, Aug 2, 2010 at 7:18 AM, Zuber <moh...@in...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi, > > I want to encrypt my FIX login Password as its getting displayed in the > Qickfix log files. I have gone through the manual which indicates abt a tag > 'EncryptMethod' (98). If some one could elaborate on the use of this tag, > it > would be very helpful. > > Thanks > Zuber > -- > View this message in context: > http://old.nabble.com/Need-info-on-Quick-Fix-password-encryption.-tp29324628p29324628.html > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > > > ------------------------------------------------------------------------------ > The Palm PDK Hot Apps Program offers developers who use the > Plug-In Development Kit to bring their C/C++ apps to Palm for a share > of $1 Million in cash or HP Products. Visit us here for more details: > http://p.sf.net/sfu/dev2dev-palm > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Zuber <moh...@in...> - 2010-08-02 12:18:34
|
Hi, I want to encrypt my FIX login Password as its getting displayed in the Qickfix log files. I have gone through the manual which indicates abt a tag 'EncryptMethod' (98). If some one could elaborate on the use of this tag, it would be very helpful. Thanks Zuber -- View this message in context: http://old.nabble.com/Need-info-on-Quick-Fix-password-encryption.-tp29324628p29324628.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Kotecha, R. <Rav...@st...> - 2010-07-29 09:32:04
|
Hi Arup, You should set the following: ResetOnLogout=Y ResetOnDisconnect=Y To ResetOnLogout=N ResetOnDisconnect=N You are currently telling QuickFix to reset the MsgSeqNum to zero on disconnect or logout. Regards, Ravi -----Original Message----- From: Sarkar, Arup [mailto:sar...@gm...] Sent: 29 July 2010 03:17 To: qui...@li... Subject: [Quickfix-developers] MsgSeqNum getting out of synch Hi, In my configuration file, I have the following parameters set. My first connection works fine, according to my exchange, subsequent connection is not working because the MsgSeqNum is getting out of synch. My question is how do I manually/dynamically set the MsgSeqNum so that I can re login? MsgSeqNum=1 ResetOnLogout=Y ResetOnDisconnect=Y -- Regards, Arup QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html ***************************************************************************** This communication is sent by the Standard Bank Plc or one of its affiliates The registered details of Standard Bank Plc are: Registered in England No. 2130447, Registered Office 20 Gresham Street, London, EC2V 7JE Authorised and Regulated by the Financial Services Authority. More information on Standard Bank is available at www.standardbank.com Everything in this email and any attachments relating to the official business of Standard Bank Group Limited and any or all subsidiaries, the Company, is proprietary to the Company. It is confidential, legally privileged and protected by relevant laws. The Company does not own and endorse any other content. Views and opinions are those of the sender unless clearly stated as being that of the Company. The person or persons addressed in this email are the sole authorised recipient. Please notify the sender immediately if it has unintentionally, or inadvertently reached you and do not read, disclose or use the content in any way and delete this e-mail from your system. The Company cannot ensure that the integrity of this email has beenmaintained nor that it is free of errors, virus, interception or interference. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. This message is provided for informational purposes and should not be construed as a solicitation or offer to buy or sell any securities or related financial instruments. ***************************************************************************** |
From: Sarkar, A. <sar...@gm...> - 2010-07-29 02:17:05
|
Hi, In my configuration file, I have the following parameters set. My first connection works fine, according to my exchange, subsequent connection is not working because the MsgSeqNum is getting out of synch. My question is how do I manually/dynamically set the MsgSeqNum so that I can re login? MsgSeqNum=1 ResetOnLogout=Y ResetOnDisconnect=Y -- Regards, Arup |
From: Scott K. <sc...@la...> - 2010-07-22 15:37:02
|
The lack of the const qualifier makes the non-const onMessage get used, but I always thought that was fishy. I suppose you're right it's not intended to be used that way. In fact, there's a bug in the current quickfix that makes the const one always be called. Though if I resent messages on a resendrequest (I currently don't), it would be useful to be able to breakout the resent messages using crack. On Thu, Jul 22, 2010 at 10:31 AM, Kenny Stone <ks...@co...> wrote: > crack is intended for inbound messages. It calls 'onMessage', saying you > received a message. > > How would you be able to tell if a message is inbound or outbound if you > call crack in toApp? > > http://quickfixengine.org/quickfix/doc/html/receiving_messages.html > > -- > Kenny Stone > Connamara Systems, LLC > > > On Thu, Jul 22, 2010 at 9:04 AM, Scott Kathrein < > sc...@la...> wrote: > >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> >> Actually, I believe cracking works fine, another way to do this would be: >> >> void MyApplication::toAdmin(FIX::Message& message, const FIX::SessionID& >> sessionID) >> { >> crack( message, sessionID ); >> } >> >> void MyApplication::onMessage( FIX42::Logon& message, const >> FIX::SessionID& sessionid ) >> { >> message.set(FIX::Username("myusername")); >> message.set(FIX::Password("mypassword")); >> } >> >> where the MyApplication class extends FIX::Appliaction and >> FIX::MessageCracker >> >> This is how to use crack, but I just realized this specific example won't >> work because the username and password fields aren't defined for logon >> messages by default. (at least in FIX42). This would be the other way: >> http://www.quickfixengine.org/quickfix/doc/html/user_defined.html >> >> On Tue, Jul 20, 2010 at 8:33 AM, Kenny Stone <ks...@co...>wrote: >> >>> QuickFIX Documentation: >>> http://www.quickfixengine.org/quickfix/doc/html/index.html >>> QuickFIX Support: http://www.quickfixengine.org/services.html >>> >>> >>> Hi Arup, >>> >>> You shouldn't the the 'crack' method call. That is for receiving >>> messages. >>> >>> The way I code this would look something like: >>> >>> void FixApp::toAdmin(FIX::Message& msg, const FIX::SessionID& sessionID ) >>> { >>> FIX::MsgType msgType; >>> msg.getHeader().getField(msgType); >>> >>> // if logon >>> if( msgType.getValue() == FIX::MsgType_LOGON ) >>> { >>> FIX::Password pw( _my_password ); >>> msg.setField( pw ); >>> FIX::Username user( _my_username ); >>> msg.setField( user ); >>> } >>> } >>> >>> >>> -- >>> Kenny Stone >>> Connamara Systems, LLC >>> >>> >>> On Mon, Jul 19, 2010 at 11:48 PM, Sarkar, Arup <sar...@gm...>wrote: >>> >>>> QuickFIX Documentation: >>>> http://www.quickfixengine.org/quickfix/doc/html/index.html >>>> QuickFIX Support: http://www.quickfixengine.org/services.html >>>> >>>> >>>> Hi: >>>> >>>> I am very new to FIX and QuickFix in c++ engine. I am trying to build a >>>> custom logon messsage since "Username" and "Password" is required by the >>>> exchange. I am doing the following, basically overriding the toAdmin method. >>>> >>>> >>>> Can someone please help me in stating if this is correct? >>>> >>>> void Application::toAdmin(FIX::Message& message, const FIX::SessionID& >>>> sessionID) >>>> { >>>> std::string sLogon = "A"; >>>> crack( message, sessionID ); >>>> std::cout << "In toAdmin" << std::endl; >>>> std::cout << message << std::endl; >>>> try >>>> { >>>> if(sLogon.compare(message.getHeader().getField(35)) == 0 ) >>>> { >>>> std::cout<< " Setting username and password." << std::endl; >>>> message.getHeader().setField(553, "XXXXXXXXX"); >>>> message.getHeader().setField(554, "XXXXXXX"); >>>> } >>>> } >>>> catch(FIX::FieldNotFound& eFieldNotFound) >>>> { >>>> std::cout<< eFieldNotFound.detail << std::endl; >>>> } >>>> } >>>> >>>> -- >>>> Regards, >>>> Arup >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> This SF.net email is sponsored by Sprint >>>> What will you do first with EVO, the first 4G phone? >>>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >>>> _______________________________________________ >>>> Quickfix-developers mailing list >>>> Qui...@li... >>>> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >>>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> This SF.net email is sponsored by Sprint >>> What will you do first with EVO, the first 4G phone? >>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >>> _______________________________________________ >>> Quickfix-developers mailing list >>> Qui...@li... >>> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >>> >> >> >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by Sprint >> What will you do first with EVO, the first 4G phone? >> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> > > |
From: Kenny S. <ks...@co...> - 2010-07-22 15:03:44
|
crack is intended for inbound messages. It calls 'onMessage', saying you received a message. How would you be able to tell if a message is inbound or outbound if you call crack in toApp? http://quickfixengine.org/quickfix/doc/html/receiving_messages.html -- Kenny Stone Connamara Systems, LLC On Thu, Jul 22, 2010 at 9:04 AM, Scott Kathrein <sc...@la...>wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Actually, I believe cracking works fine, another way to do this would be: > > void MyApplication::toAdmin(FIX::Message& message, const FIX::SessionID& > sessionID) > { > crack( message, sessionID ); > } > > void MyApplication::onMessage( FIX42::Logon& message, const FIX::SessionID& > sessionid ) > { > message.set(FIX::Username("myusername")); > message.set(FIX::Password("mypassword")); > } > > where the MyApplication class extends FIX::Appliaction and > FIX::MessageCracker > > This is how to use crack, but I just realized this specific example won't > work because the username and password fields aren't defined for logon > messages by default. (at least in FIX42). This would be the other way: > http://www.quickfixengine.org/quickfix/doc/html/user_defined.html > > On Tue, Jul 20, 2010 at 8:33 AM, Kenny Stone <ks...@co...> wrote: > >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> >> Hi Arup, >> >> You shouldn't the the 'crack' method call. That is for receiving >> messages. >> >> The way I code this would look something like: >> >> void FixApp::toAdmin(FIX::Message& msg, const FIX::SessionID& sessionID ) >> { >> FIX::MsgType msgType; >> msg.getHeader().getField(msgType); >> >> // if logon >> if( msgType.getValue() == FIX::MsgType_LOGON ) >> { >> FIX::Password pw( _my_password ); >> msg.setField( pw ); >> FIX::Username user( _my_username ); >> msg.setField( user ); >> } >> } >> >> >> -- >> Kenny Stone >> Connamara Systems, LLC >> >> >> On Mon, Jul 19, 2010 at 11:48 PM, Sarkar, Arup <sar...@gm...>wrote: >> >>> QuickFIX Documentation: >>> http://www.quickfixengine.org/quickfix/doc/html/index.html >>> QuickFIX Support: http://www.quickfixengine.org/services.html >>> >>> >>> Hi: >>> >>> I am very new to FIX and QuickFix in c++ engine. I am trying to build a >>> custom logon messsage since "Username" and "Password" is required by the >>> exchange. I am doing the following, basically overriding the toAdmin method. >>> >>> >>> Can someone please help me in stating if this is correct? >>> >>> void Application::toAdmin(FIX::Message& message, const FIX::SessionID& >>> sessionID) >>> { >>> std::string sLogon = "A"; >>> crack( message, sessionID ); >>> std::cout << "In toAdmin" << std::endl; >>> std::cout << message << std::endl; >>> try >>> { >>> if(sLogon.compare(message.getHeader().getField(35)) == 0 ) >>> { >>> std::cout<< " Setting username and password." << std::endl; >>> message.getHeader().setField(553, "XXXXXXXXX"); >>> message.getHeader().setField(554, "XXXXXXX"); >>> } >>> } >>> catch(FIX::FieldNotFound& eFieldNotFound) >>> { >>> std::cout<< eFieldNotFound.detail << std::endl; >>> } >>> } >>> >>> -- >>> Regards, >>> Arup >>> >>> >>> ------------------------------------------------------------------------------ >>> This SF.net email is sponsored by Sprint >>> What will you do first with EVO, the first 4G phone? >>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >>> _______________________________________________ >>> Quickfix-developers mailing list >>> Qui...@li... >>> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >>> >> >> >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by Sprint >> What will you do first with EVO, the first 4G phone? >> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> > > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Scott K. <sc...@la...> - 2010-07-22 14:05:00
|
Actually, I believe cracking works fine, another way to do this would be: void MyApplication::toAdmin(FIX::Message& message, const FIX::SessionID& sessionID) { crack( message, sessionID ); } void MyApplication::onMessage( FIX42::Logon& message, const FIX::SessionID& sessionid ) { message.set(FIX::Username("myusername")); message.set(FIX::Password("mypassword")); } where the MyApplication class extends FIX::Appliaction and FIX::MessageCracker This is how to use crack, but I just realized this specific example won't work because the username and password fields aren't defined for logon messages by default. (at least in FIX42). This would be the other way: http://www.quickfixengine.org/quickfix/doc/html/user_defined.html On Tue, Jul 20, 2010 at 8:33 AM, Kenny Stone <ks...@co...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi Arup, > > You shouldn't the the 'crack' method call. That is for receiving messages. > > The way I code this would look something like: > > void FixApp::toAdmin(FIX::Message& msg, const FIX::SessionID& sessionID ) > { > FIX::MsgType msgType; > msg.getHeader().getField(msgType); > > // if logon > if( msgType.getValue() == FIX::MsgType_LOGON ) > { > FIX::Password pw( _my_password ); > msg.setField( pw ); > FIX::Username user( _my_username ); > msg.setField( user ); > } > } > > > -- > Kenny Stone > Connamara Systems, LLC > > > On Mon, Jul 19, 2010 at 11:48 PM, Sarkar, Arup <sar...@gm...>wrote: > >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> >> Hi: >> >> I am very new to FIX and QuickFix in c++ engine. I am trying to build a >> custom logon messsage since "Username" and "Password" is required by the >> exchange. I am doing the following, basically overriding the toAdmin method. >> >> >> Can someone please help me in stating if this is correct? >> >> void Application::toAdmin(FIX::Message& message, const FIX::SessionID& >> sessionID) >> { >> std::string sLogon = "A"; >> crack( message, sessionID ); >> std::cout << "In toAdmin" << std::endl; >> std::cout << message << std::endl; >> try >> { >> if(sLogon.compare(message.getHeader().getField(35)) == 0 ) >> { >> std::cout<< " Setting username and password." << std::endl; >> message.getHeader().setField(553, "XXXXXXXXX"); >> message.getHeader().setField(554, "XXXXXXX"); >> } >> } >> catch(FIX::FieldNotFound& eFieldNotFound) >> { >> std::cout<< eFieldNotFound.detail << std::endl; >> } >> } >> >> -- >> Regards, >> Arup >> >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by Sprint >> What will you do first with EVO, the first 4G phone? >> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> > > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Clebson D. F. P. <Cle...@cm...> - 2010-07-22 11:57:01
|
You can check the FIXT 1.1 messages (transport)structures on FIXT11.xml dictionary. eg: <?xml version='1.0' encoding='UTF-8'?> <fix type='FIXT' major='1' minor='1' servicepack='0'> <header> <field name='BeginString' required='Y'/> <field name='BodyLength' required='Y'/> <field name='MsgType' required='Y'/> <field name='SenderCompID' required='Y'/> </header> The FIXML messages (application) should be validated using the schemas provided by FPL. --><xs:schema xmlns="http://www.fixprotocol.org/FIXML-5-0" xmlns:fm="http://www.fixprotocol.org/FIXML-5-0/METADATA" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.fixprotocol.org/FIXML-5-0" xsi:schemaLocation="http://www.fixprotocol.org/FIXML-5-0/METADATA fixml-metadata-5-0-SP1.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="fixml-components-impl-5-0-SP1.xsd"/> <xs:group name="ExecutionReportElements"> <xs:sequence> Regards, Clebson -----Mensagem original----- De: Angel Ruiz [mailto:la...@sp...] Enviada em: quarta-feira, 23 de junho de 2010 19:43 Para: qui...@li... Assunto: [Quickfix-developers] FIXML 5.0 SP2 over FIXT 1.1 QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html |
From: Angel R. <la...@sp...> - 2010-07-21 22:43:10
|
Hi, I'm using FIXT 1.1 and I just want to send FIXML 5.0 SP2 messages I dont know what the correct structure of the message: I am currently forming a message like this: 8=FIXT.1.19=34235=n49=BLMBULL56=BULL1128=9212=329213=<FIXML> <PosMntReq ReqID="2" TxnTyp="3" Actn="1" BizDt="2009-09-10" SetSesID="SOD" TxnTm="2009-09-10T00:00:00" > <Pty Mnemonico="SCTA1" Tipo="M" ID="18097" R="7" > <PtySub ID="12345" Type="11" /> </Pty> <Amt Typ="CASH-CREDITO" Amt="1425100" Ccy="MXP"/> <Amt Typ="MERCADO-CREDITO" Amt="547,120" Ccy="MXP"/> </PosMntReq> </FIXML> 8=FIXT.1.1 BeginString 9=342 BodyLength 35=n MsgType -- It is correct that kind of message? 49=SEND SenderCompID 56=TARG TargetCompID 1128=9 ApplVerID 212=329 XmlDataLen 213=<FIXML> ... </FIXML> XmlData -- This tag must be the message FIXML? Does this structure is correct? I'm missing some tag? Does anyone have a specification, manual or tutorial on how to do this (FIXML5.0 SP2 mounted on FIXT 1.1)? Could anyone provide me examples of others message? Thanks |
From: Kenny S. <ks...@co...> - 2010-07-20 12:33:45
|
Hi Arup, You shouldn't the the 'crack' method call. That is for receiving messages. The way I code this would look something like: void FixApp::toAdmin(FIX::Message& msg, const FIX::SessionID& sessionID ) { FIX::MsgType msgType; msg.getHeader().getField(msgType); // if logon if( msgType.getValue() == FIX::MsgType_LOGON ) { FIX::Password pw( _my_password ); msg.setField( pw ); FIX::Username user( _my_username ); msg.setField( user ); } } -- Kenny Stone Connamara Systems, LLC On Mon, Jul 19, 2010 at 11:48 PM, Sarkar, Arup <sar...@gm...>wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi: > > I am very new to FIX and QuickFix in c++ engine. I am trying to build a > custom logon messsage since "Username" and "Password" is required by the > exchange. I am doing the following, basically overriding the toAdmin method. > > > Can someone please help me in stating if this is correct? > > void Application::toAdmin(FIX::Message& message, const FIX::SessionID& > sessionID) > { > std::string sLogon = "A"; > crack( message, sessionID ); > std::cout << "In toAdmin" << std::endl; > std::cout << message << std::endl; > try > { > if(sLogon.compare(message.getHeader().getField(35)) == 0 ) > { > std::cout<< " Setting username and password." << std::endl; > message.getHeader().setField(553, "XXXXXXXXX"); > message.getHeader().setField(554, "XXXXXXX"); > } > } > catch(FIX::FieldNotFound& eFieldNotFound) > { > std::cout<< eFieldNotFound.detail << std::endl; > } > } > > -- > Regards, > Arup > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Sarkar, A. <sar...@gm...> - 2010-07-20 04:48:32
|
Hi: I am very new to FIX and QuickFix in c++ engine. I am trying to build a custom logon messsage since "Username" and "Password" is required by the exchange. I am doing the following, basically overriding the toAdmin method. Can someone please help me in stating if this is correct? void Application::toAdmin(FIX::Message& message, const FIX::SessionID& sessionID) { std::string sLogon = "A"; crack( message, sessionID ); std::cout << "In toAdmin" << std::endl; std::cout << message << std::endl; try { if(sLogon.compare(message.getHeader().getField(35)) == 0 ) { std::cout<< " Setting username and password." << std::endl; message.getHeader().setField(553, "XXXXXXXXX"); message.getHeader().setField(554, "XXXXXXX"); } } catch(FIX::FieldNotFound& eFieldNotFound) { std::cout<< eFieldNotFound.detail << std::endl; } } -- Regards, Arup |
From: George T. <GT...@rb...> - 2010-07-09 03:55:40
|
Yeah, looks like we have to change the source. Hate doing that. Thanks VP Marketing IT Asset Enterprise Technologies <ass...@gm...> wrote: George in QFJ, it required code level change...which I did. You may wish to look at the java code base...to get an idea where you would have to make the change in C++. On Fri, Jul 2, 2010 at 1:06 AM, gtsafas <gt...@rb...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I understand my request is not standard for FIX. However for my needs as I > am > just gathering data on a Drop Copy session it suits me. > > I wish to capture the entire message including if any repeating groups. For > example I would like to do this > > for (FIX::FieldMap::iterator start = message.begin (), finish = > message.end (); start != finish; ++i){ > std::cout << start->first << '=' << start->second << ' '; > } > > But with repeating groups as well. > > Pretty much what I want to accomplish is a brainless C++ app that can > accept > messages and pass them to my other application. I do not want to reject > because a counter party passed a "X" where it was only allowing > 1,2,3,4...etc. I do not want to have to follow the guidelines of a > DataDictionary. Pretty much what im trying to accomplish is a way to > capture > drop copies for any future FIX 4.2 system I may encounter without having to > hard code things. It is much easier for me to change a perl/python script > that can handle this data than recompile the engine and have to stop/start > it. > > Is there a correct method to do what I want in QuickFIX? > > > Pretty much if I get sent > > (8=FIX.4.2 | 9=282 | 35=8 | 49=IC | 56=C | 115=ARCA | 34=1020 | > 52=20100630-18:06:23 | 369=415 | 37=121213778 | 16499=fa | 11=VWO7g.y | > 17=200318197 | 20=0 | 150=0 | 39=0 | 1=RN | 63=0 | 55=VW | 54=1 | 38=980 | > 40=5 | 59=0 | 47=Y | 32=0 | 31=0 | 151=980 | 14=0 | 6=0 | > 60=20100630-18:06:23 | 58=New order | 18009=NU | 18315=20100630-18:01:13 | > 10=006 | ) > > I want > > 8=FIX.4.2 > 9=282 > 35=8 > 49=IC > 56=C > 115=ARCA > 34=1020 > 52=20100630-18:06:23 > 369=415 > 37=121213778 > 16499=fa > 11=VWO7g.y > 17=200318197 > 20=0 > 150=0 > 39=0 > 1=RN > 63=0 > 55=VW > 54=1 > 38=980 > 40=5 > 59=0 > 47=Y > 32=0 > 31=0 > 151=980 > 14=0 > 6=0 > 60=20100630-18:06:23 > 58=New order > 18009=NU > 18315=20100630-18:01:13 > 10=006 > > > Likewise if I got sent > > (8=FIX.4.2 | 9=282 | 35=8 | 49=IC | 56=C | 115=ARCA | 34=1020 | > 52=20100630-18:06:23 | 369=415 | 37=121213778 | 16499=fa | 11=VWO7g.y | > 17=200318197 | 20=0 | 150=0 | 39=0 | 1=RN | 63=0 | 55=VW | 54=1 | 38=980 | > 40=5 | 59=0 | 47=Y | 32=0 | 31=0 | 151=980 | 14=0 | 6=0 | > 60=20100630-18:06:23 | 58=New order | 18009=NU | 18315=20100630-18:01:13 | > 10=006 | 8125=2 | 8126=T | 8127=TX | 8127=5 | 8128=10 | 8126=E | 8127=EN | > 8127=2 | 8128=6) > > it would give me this > > 8=FIX.4.2 > 9=282 > 35=8 > 49=IC > 56=C > 115=ARCA > 34=1020 > 52=20100630-18:06:23 > 369=415 > 37=121213778 > 16499=fa > 11=VWO7g.y > 17=200318197 > 20=0 > 150=0 > 39=0 > 1=RN > 63=0 > 55=VW > 54=1 > 38=980 > 40=5 > 59=0 > 47=Y > 32=0 > 31=0 > 151=980 > 14=0 > 6=0 > 60=20100630-18:06:23 > 58=New order > 18009=NU > 18315=20100630-18:01:13 > 10=006 > 8125=2 > 8126=T > 8127=TX > 8127=5 > 8128=10 > 8126=E > 8127=EN > 8127 = 2 > 8128=6 > > > without doing something like > > > FIX::Symbol SYMBOL; > if (message.isSetField(SYMBOL)) { > fSymbol = message.getField(SYMBOL).getString(); > } > > Or having to do > > USER_DEFINE_STRING(Custom_GroupCount,8125); > > > And on a side note if this is not possible. Can someone please let me know > if I created the custom group logic correctly? I have yet to have this > group > come so it has not been tested. > > > > namespace FIX42 { > class customCharges: > public FIX::Group { > > public: > customCharges() : > FIX::Group(8125,8126,FIX::message_order(8126,8127,8128,8129,0)) {} > FIELD_SET(*this, FIX::Custom_ChargeName); > FIELD_SET(*this, FIX::Custom_ChargeType); > FIELD_SET(*this, FIX::Custom_ChargeRate); > FIELD_SET(*this, FIX::Custom_ChargeAmount); > }; > } > > > Thank you ahead of time. > -- > View this message in context: > http://old.nabble.com/Disable-Rejects---Accept---Parse-raw-message-tp29049 609p29049609.html > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > > > ------------------------------------------------------------------------ ------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: VP M. IT A. E. T. <ass...@gm...> - 2010-07-09 03:45:21
|
George in QFJ, it required code level change...which I did. You may wish to look at the java code base...to get an idea where you would have to make the change in C++. On Fri, Jul 2, 2010 at 1:06 AM, gtsafas <gt...@rb...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I understand my request is not standard for FIX. However for my needs as I > am > just gathering data on a Drop Copy session it suits me. > > I wish to capture the entire message including if any repeating groups. For > example I would like to do this > > for (FIX::FieldMap::iterator start = message.begin (), finish = > message.end (); start != finish; ++i){ > std::cout << start->first << '=' << start->second << ' '; > } > > But with repeating groups as well. > > Pretty much what I want to accomplish is a brainless C++ app that can > accept > messages and pass them to my other application. I do not want to reject > because a counter party passed a "X" where it was only allowing > 1,2,3,4...etc. I do not want to have to follow the guidelines of a > DataDictionary. Pretty much what im trying to accomplish is a way to > capture > drop copies for any future FIX 4.2 system I may encounter without having to > hard code things. It is much easier for me to change a perl/python script > that can handle this data than recompile the engine and have to stop/start > it. > > Is there a correct method to do what I want in QuickFIX? > > > Pretty much if I get sent > > (8=FIX.4.2 | 9=282 | 35=8 | 49=IC | 56=C | 115=ARCA | 34=1020 | > 52=20100630-18:06:23 | 369=415 | 37=121213778 | 16499=fa | 11=VWO7g.y | > 17=200318197 | 20=0 | 150=0 | 39=0 | 1=RN | 63=0 | 55=VW | 54=1 | 38=980 | > 40=5 | 59=0 | 47=Y | 32=0 | 31=0 | 151=980 | 14=0 | 6=0 | > 60=20100630-18:06:23 | 58=New order | 18009=NU | 18315=20100630-18:01:13 | > 10=006 | ) > > I want > > 8=FIX.4.2 > 9=282 > 35=8 > 49=IC > 56=C > 115=ARCA > 34=1020 > 52=20100630-18:06:23 > 369=415 > 37=121213778 > 16499=fa > 11=VWO7g.y > 17=200318197 > 20=0 > 150=0 > 39=0 > 1=RN > 63=0 > 55=VW > 54=1 > 38=980 > 40=5 > 59=0 > 47=Y > 32=0 > 31=0 > 151=980 > 14=0 > 6=0 > 60=20100630-18:06:23 > 58=New order > 18009=NU > 18315=20100630-18:01:13 > 10=006 > > > Likewise if I got sent > > (8=FIX.4.2 | 9=282 | 35=8 | 49=IC | 56=C | 115=ARCA | 34=1020 | > 52=20100630-18:06:23 | 369=415 | 37=121213778 | 16499=fa | 11=VWO7g.y | > 17=200318197 | 20=0 | 150=0 | 39=0 | 1=RN | 63=0 | 55=VW | 54=1 | 38=980 | > 40=5 | 59=0 | 47=Y | 32=0 | 31=0 | 151=980 | 14=0 | 6=0 | > 60=20100630-18:06:23 | 58=New order | 18009=NU | 18315=20100630-18:01:13 | > 10=006 | 8125=2 | 8126=T | 8127=TX | 8127=5 | 8128=10 | 8126=E | 8127=EN | > 8127=2 | 8128=6) > > it would give me this > > 8=FIX.4.2 > 9=282 > 35=8 > 49=IC > 56=C > 115=ARCA > 34=1020 > 52=20100630-18:06:23 > 369=415 > 37=121213778 > 16499=fa > 11=VWO7g.y > 17=200318197 > 20=0 > 150=0 > 39=0 > 1=RN > 63=0 > 55=VW > 54=1 > 38=980 > 40=5 > 59=0 > 47=Y > 32=0 > 31=0 > 151=980 > 14=0 > 6=0 > 60=20100630-18:06:23 > 58=New order > 18009=NU > 18315=20100630-18:01:13 > 10=006 > 8125=2 > 8126=T > 8127=TX > 8127=5 > 8128=10 > 8126=E > 8127=EN > 8127 = 2 > 8128=6 > > > without doing something like > > > FIX::Symbol SYMBOL; > if (message.isSetField(SYMBOL)) { > fSymbol = message.getField(SYMBOL).getString(); > } > > Or having to do > > USER_DEFINE_STRING(Custom_GroupCount,8125); > > > And on a side note if this is not possible. Can someone please let me know > if I created the custom group logic correctly? I have yet to have this > group > come so it has not been tested. > > > > namespace FIX42 { > class customCharges: > public FIX::Group { > > public: > customCharges() : > FIX::Group(8125,8126,FIX::message_order(8126,8127,8128,8129,0)) {} > FIELD_SET(*this, FIX::Custom_ChargeName); > FIELD_SET(*this, FIX::Custom_ChargeType); > FIELD_SET(*this, FIX::Custom_ChargeRate); > FIELD_SET(*this, FIX::Custom_ChargeAmount); > }; > } > > > Thank you ahead of time. > -- > View this message in context: > http://old.nabble.com/Disable-Rejects---Accept---Parse-raw-message-tp29049609p29049609.html > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: gtsafas <gt...@rb...> - 2010-07-08 15:24:29
|
I am currently getting a reject on an empty tag (8=FIX.4.29=118635=834=37649=RBN56=AUDIT43=N52=20100707-19:27:09. 8216=7.16000000000011=00000000192ORRO112=0.05000013=114=10015=USD 17=00000000274TRRO1.1.118=120=022=829=130=1131=7.16000032=10037= 00000000192ORRO138=100039=140=144=0.00000047=A48=ZVZZT54=255=ZVZ ZT59=060=20100707-19:27:0963=664=2010071275=2010070776=TEST99=0.0 00000109=TESTC126=20100707-20:30:00119=0.000000120=USD150=1151=900 .000000167=CS207=O6442=0.0000008001=EXEC_NEW8002=20100707 15:27:09.806232 -0400s8004=48016=XP_TEST8021=EHA POA PRE AF8022=TN8033=N8040=08055=TEST8056=OMAR8058=74WD12098059=N8061=2 01007071527097052598062=sj...@RO...8065=123.4900008066=123.5000008 069=0.0000008070=0.0000008071=5.0000008072=P8073=148075=C8076=0000 0000192ORRO18077=74WD12098078=00000000192ORRO18082=18083=0.00000080 86=FTW8088=18089=0.0000008093=G8094=C8095=N8101=CARE8102=48117= 8118=00000000192ORRO18120=1.0000008125=48126=BROKERAGE8127=PER_UNIT 8128=0.0000008129=0.0000008126=COMMISSION8127=PER_UNIT8128=0.000000 8129=0.0000008126=MARKUP8127=PER_UNIT8128=0.0000008129=0.0000008126 =SALESCREDIT8127=PER_UNIT8128=0.0000008129=0.0000008031=NAS-NNM10=2 10) <20100707-19:27:09.826, FIX.4.2:AUDIT->RBN, event> (Message 376 Rejected: Tag specified without a value:8117) <20100707-19:27:09.826, FIX.4.2:AUDIT->RBN, outgoing> (8=FIX.4.29=11935=334=37249=AUDIT52=20100707-19:27:09.82656=RBN45 =37658=Tag specified without a value371=8117372=8373=410=237) I am using ValidateFieldsHaveValues=N However if I use data dictionary instead of not using one I will not reject this tag. Also, 8117 is not defined inside any of my code, or the XML file. -- View this message in context: http://old.nabble.com/Rejected-Empty-tag-even-with-ValidateFieldsHaveValues%3DN-tp29108301p29108301.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: gtsafas <gt...@rb...> - 2010-07-08 15:23:27
|
Odd it put that here. -- View this message in context: http://old.nabble.com/NextExpectedMsgSeqNum-flag-789-tp29086860p29108284.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |