quickfix-developers Mailing List for QuickFIX (Page 242)
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: Oren M. <or...@qu...> - 2004-06-04 20:17:49
|
Ok, looking at it I think the "Field not found" is an erroneous=20 message. I bet what it really is, is the sequence number is lower than=20= expected and there is no PossDupFlag (which is where the FieldNotFound=20= is coming from). Try changing the doTargetToLow method to look like=20 this: bool Session::doTargetTooLow( const Message& msg ) { QF_STACK_PUSH(Session::doTargetTooLow) const Header & header =3D msg.getHeader(); MsgType msgType; PossDupFlag possDupFlag(false); MsgSeqNum msgSeqNum; header.getField( msgType ); if( header.isSetField( possDupFlag ) ) header.getField( possDupFlag ); header.getField( msgSeqNum ); m_state.onEvent( "MsgSeqNum too low RECEIVED: " + IntConvertor::convert( msgSeqNum ) +" EXPECTED: " + IntConvertor::convert( getExpectedTargetNum() ) + " PosDup: " + BoolConvertor::convert( possDupFlag=20= ) ); if ( !possDupFlag ) throw std::logic_error( "Sequence number too low and PossDupFlag is=20= false" ); return doPossDup( msg ); QF_STACK_POP } My guess is that you will then see a proper message saying the sequence=20= number is too low. --oren On Jun 4, 2004, at 2:59 PM, Clark Sims wrote: > 20040604-19:39:51 : Connecting to 64.74.45.68 on port 7001 > 20040604-19:39:51 : Connection succeeded > 20040604-19:39:51 : Initiated logon request > 20040604-19:40:01 : Timed out waiting for logon response > 20040604-19:40:01 : Disconnecting > 20040604-19:40:21 : Connecting to 64.74.45.68 on port 7001 > 20040604-19:40:21 : Connection succeeded > 20040604-19:40:21 : Initiated logon request > 20040604-19:40:22 : Field not found > 20040604-19:40:22 : Disconnecting > > Oren Miller <or...@qu...> wrote: > Have you checked the QuickFIX event log? > > On Jun 4, 2004, at 2:30 PM, Clark Sims wrote: > > > I am having a problem with sequence numbers (I think). > > The ARCA cert engine told me to: > > =A0 > > se the following parameters for your logon: > > =A0TargetCompID ARCA > > =A0SenderCompID=A0************* > > =A0BeginString(Fix Version) 4.1 > > =A0EncryptMethod 0 > > =A0HeartBtInt 30 > > =A0Message Sequence Number 1812 > > =A0Our Sequence Number will be: 7 > > =A0 > > When I connect to arca, I Logoff immediatly. Here is the error log > > from Arca: > > =A0 > > > > Jun 4, 2004 7:22:49 PM, GMT > > Session failed > > > > Jun 4, 2004 7:22:49 PM, GMT > > Disconnect occurred unexpectedly. > > > > Jun 4, 2004 7:22:49 PM, GMT > > > > FIX Msg. Seq.: 8 > > FIX Msg. Direction: OUTBOUND > > FIX Msg. Type: ResendRequest > > BeginString(8)=3DFIX.4.1 BodyLength(9)=3D65 MsgType(35)=3D2 > > SenderCompID(49)=3DARCA TargetCompID(56)=3DSYDAN > > SendingTime(52)=3D20040604-19:22:49 MsgSeqNum(34)=3D8 = BeginSeqNo(7)=3D1812 > > EndSeqNo(16)=3D999999 CheckSum(10)=3D236 > > > > Jun 4, 2004 7:22:49 PM, GMT > > 'Detected a MsgSeqNum higher than expected. Received '1813'. = Expected > > '1812'' occurred while receiving a Logon message. Ignored by = script. > > > > Jun 4, 2004 7:22:48 PM, GMT > > > > FIX Msg. Seq.: 7 > > FIX Msg. Direction: OUTBOUND > > FIX Msg. Type: Logon > > BeginString(8)=3DFIX.4.1 BodyLength(9)=3D60 MsgType(35)=3DA > > SenderCompID(49)=3DARCA TargetCompID(56)=3DSYDAN > > SendingTime(52)=3D20040604-19:22:48 MsgSeqNum(34)=3D7 = HeartBtInt(108)=3D30 > > EncryptMethod(98)=3D0 CheckSum(10)=3D209 > > > > Jun 4, 2004 7:22:48 PM, GMT > > FIX session established from 66.9.177.254:19720 > > > > Jun 4, 2004 7:22:48 PM, GMT > > Logon Validated > > =A0 > > > > Do you Yahoo!? > > Friends. Fun. Try the all-new Yahoo! Messenger > > Do you Yahoo!? > Friends. Fun. Try the all-new Yahoo! Messenger= |
From: Clark S. <cla...@ya...> - 2004-06-04 19:59:39
|
20040604-19:39:51 : Connecting to 64.74.45.68 on port 7001 20040604-19:39:51 : Connection succeeded 20040604-19:39:51 : Initiated logon request 20040604-19:40:01 : Timed out waiting for logon response 20040604-19:40:01 : Disconnecting 20040604-19:40:21 : Connecting to 64.74.45.68 on port 7001 20040604-19:40:21 : Connection succeeded 20040604-19:40:21 : Initiated logon request 20040604-19:40:22 : Field not found 20040604-19:40:22 : Disconnecting Oren Miller <or...@qu...> wrote: Have you checked the QuickFIX event log? On Jun 4, 2004, at 2:30 PM, Clark Sims wrote: > I am having a problem with sequence numbers (I think). > The ARCA cert engine told me to: > > se the following parameters for your logon: > TargetCompID ARCA > SenderCompID ************* > BeginString(Fix Version) 4.1 > EncryptMethod 0 > HeartBtInt 30 > Message Sequence Number 1812 > Our Sequence Number will be: 7 > > When I connect to arca, I Logoff immediatly. Here is the error log > from Arca: > > > Jun 4, 2004 7:22:49 PM, GMT > Session failed > > Jun 4, 2004 7:22:49 PM, GMT > Disconnect occurred unexpectedly. > > Jun 4, 2004 7:22:49 PM, GMT > > FIX Msg. Seq.: 8 > FIX Msg. Direction: OUTBOUND > FIX Msg. Type: ResendRequest > BeginString(8)=FIX.4.1 BodyLength(9)=65 MsgType(35)=2 > SenderCompID(49)=ARCA TargetCompID(56)=SYDAN > SendingTime(52)=20040604-19:22:49 MsgSeqNum(34)=8 BeginSeqNo(7)=1812 > EndSeqNo(16)=999999 CheckSum(10)=236 > > Jun 4, 2004 7:22:49 PM, GMT > 'Detected a MsgSeqNum higher than expected. Received '1813'. Expected > '1812'' occurred while receiving a Logon message. Ignored by script. > > Jun 4, 2004 7:22:48 PM, GMT > > FIX Msg. Seq.: 7 > FIX Msg. Direction: OUTBOUND > FIX Msg. Type: Logon > BeginString(8)=FIX.4.1 BodyLength(9)=60 MsgType(35)=A > SenderCompID(49)=ARCA TargetCompID(56)=SYDAN > SendingTime(52)=20040604-19:22:48 MsgSeqNum(34)=7 HeartBtInt(108)=30 > EncryptMethod(98)=0 CheckSum(10)=209 > > Jun 4, 2004 7:22:48 PM, GMT > FIX session established from 66.9.177.254:19720 > > Jun 4, 2004 7:22:48 PM, GMT > Logon Validated > > > Do you Yahoo!? > Friends. Fun. Try the all-new Yahoo! Messenger --------------------------------- Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger |
From: Clark S. <cla...@ya...> - 2004-06-04 19:39:15
|
I did a kind of kludey fix to the 4.1/ 4.2 problem. void add_3_sessions( FIX::Message& message) { FIX42::NewOrderSingle::NoTradingSessions group; group.set( FIX::TradingSessionID("P1" ) ); message.addGroup( group ); group.set( FIX::TradingSessionID("P2") ); message.addGroup( group ); group.set( FIX::TradingSessionID("P3") ); message.addGroup( group ); } I then pass in a FIX41 NewOrderSingle object. Andrew <and...@ho...> wrote: Clark, I have done this w/the Java API for Arca. Arca supports connecting via 4.0/4.1 not 4.2. Are you sure you mean 4.2? The bad news is that 4.1 does not include those tags so you have to add these guys to /quickfix/spec/fix41.xml <group name="NoTradingSessions" required="N"> <field name="TradingSessionID" required="N"/> </group> Here is a link to mine: http://www.nmedia.net/~andrew/FIX41.xml then run the generate script to regen the appropriate bits of code. You might need to download ruby and some of MSs XML stuff if youre doing it on Windows. -Andrew --------------------------------- From: qui...@li... [mailto:qui...@li...] On Behalf Of Clark Sims Sent: Friday, June 04, 2004 12:21 PM To: qui...@li... Subject: [Quickfix-developers] session id's and arca fix certification I need to set NoTradingSessions(386) = 3 and add 336=P1 336=P2 336=P3 to pass the Arca Fix Certification. I went through the documentation on repeating groups: // create a market data message FIX42::MarketDataSnapshotFullRefresh message(FIX::Symbol("QF")); // repeating group in the form of MessageName::NoField FIX42::MarketDataSnapshotFullRefresh::NoMDEntries group; group.set(FIX::MDEntryType('0')); group.set(FIX::MDEntryPx(12.32)); group.set(FIX::MDEntrySize(100)); group.set(FIX::OrderID("ORDERID")); message.addGroup(group); I found the following statement in Fields.h DEFINE_NUMINGROUP(NoTradingSessions) and I found NoTradingSessions = 386 in FildNumbers.h But I can't figure out how to specify the group I need to add! I have tried: FIX::TradingSessionId::NoTradingSessions group; but it doesn't compile. What is the C++ syntax to say : 386=3 336=P1 336=P2 336=P3 in the FIX message? --------------------------------- Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger --------------------------------- Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger |
From: Oren M. <or...@qu...> - 2004-06-04 19:36:23
|
Have you checked the QuickFIX event log? On Jun 4, 2004, at 2:30 PM, Clark Sims wrote: > I am having a problem with sequence numbers (I think). > The ARCA cert engine told me to: > =A0 > se the following parameters for your logon: > =A0TargetCompID ARCA > =A0SenderCompID=A0************* > =A0BeginString(Fix Version) 4.1 > =A0EncryptMethod 0 > =A0HeartBtInt 30 > =A0Message Sequence Number 1812 > =A0Our Sequence Number will be: 7 > =A0 > When I connect to arca, I Logoff immediatly. Here is the error log=20 > from Arca: > =A0 > > Jun 4, 2004 7:22:49 PM, GMT > Session failed > > Jun 4, 2004 7:22:49 PM, GMT > Disconnect occurred unexpectedly. > > Jun 4, 2004 7:22:49 PM, GMT > > FIX Msg. Seq.: 8 > FIX Msg. Direction: OUTBOUND > FIX Msg. Type: ResendRequest > BeginString(8)=3DFIX.4.1 BodyLength(9)=3D65 MsgType(35)=3D2=20 > SenderCompID(49)=3DARCA TargetCompID(56)=3DSYDAN=20 > SendingTime(52)=3D20040604-19:22:49 MsgSeqNum(34)=3D8 = BeginSeqNo(7)=3D1812=20 > EndSeqNo(16)=3D999999 CheckSum(10)=3D236 > > Jun 4, 2004 7:22:49 PM, GMT > 'Detected a MsgSeqNum higher than expected. Received '1813'. Expected=20= > '1812'' occurred while receiving a Logon message. Ignored by script. > > Jun 4, 2004 7:22:48 PM, GMT > > FIX Msg. Seq.: 7 > FIX Msg. Direction: OUTBOUND > FIX Msg. Type: Logon > BeginString(8)=3DFIX.4.1 BodyLength(9)=3D60 MsgType(35)=3DA=20 > SenderCompID(49)=3DARCA TargetCompID(56)=3DSYDAN=20 > SendingTime(52)=3D20040604-19:22:48 MsgSeqNum(34)=3D7 = HeartBtInt(108)=3D30=20 > EncryptMethod(98)=3D0 CheckSum(10)=3D209 > > Jun 4, 2004 7:22:48 PM, GMT > FIX session established from 66.9.177.254:19720 > > Jun 4, 2004 7:22:48 PM, GMT > Logon Validated > =A0 > > Do you Yahoo!? > Friends. Fun. Try the all-new Yahoo! Messenger= |
From: Clark S. <cla...@ya...> - 2004-06-04 19:32:21
|
I am having a problem with sequence numbers (I think). The ARCA cert engine told me to: se the following parameters for your logon: TargetCompID ARCA SenderCompID ************* BeginString(Fix Version) 4.1 EncryptMethod 0 HeartBtInt 30 Message Sequence Number 1812 Our Sequence Number will be: 7 When I connect to arca, I Logoff immediatly. Here is the error log from Arca: Jun 4, 2004 7:22:49 PM, GMTSession failed Jun 4, 2004 7:22:49 PM, GMTDisconnect occurred unexpectedly. Jun 4, 2004 7:22:49 PM, GMTFIX Msg. Seq.: 8 FIX Msg. Direction: OUTBOUND FIX Msg. Type: ResendRequest BeginString(8)=FIX.4.1 BodyLength(9)=65 MsgType(35)=2 SenderCompID(49)=ARCA TargetCompID(56)=SYDAN SendingTime(52)=20040604-19:22:49 MsgSeqNum(34)=8 BeginSeqNo(7)=1812 EndSeqNo(16)=999999 CheckSum(10)=236 Jun 4, 2004 7:22:49 PM, GMT'Detected a MsgSeqNum higher than expected. Received '1813'. Expected '1812'' occurred while receiving a Logon message. Ignored by script. Jun 4, 2004 7:22:48 PM, GMTFIX Msg. Seq.: 7 FIX Msg. Direction: OUTBOUND FIX Msg. Type: Logon BeginString(8)=FIX.4.1 BodyLength(9)=60 MsgType(35)=A SenderCompID(49)=ARCA TargetCompID(56)=SYDAN SendingTime(52)=20040604-19:22:48 MsgSeqNum(34)=7 HeartBtInt(108)=30 EncryptMethod(98)=0 CheckSum(10)=209 Jun 4, 2004 7:22:48 PM, GMTFIX session established from 66.9.177.254:19720 Jun 4, 2004 7:22:48 PM, GMTLogon Validated --------------------------------- Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger |
From: Oren M. <or...@qu...> - 2004-06-04 18:02:15
|
Ramprakash, The onLogoff and onLogon callbacks give you a sessionID. What I=20 usually do is keep a hash and add the sessionID in the onLogon call,=20 and remove it in the onLogoff call. Alternatively you can call the static lookupSession method on the=20 session class, and call isLoggedOn on the resulting Session object. =20 This way you can rely on QF to keep track of who is logged on for you. There isn't really anything special you need to do to handle an=20 application breakdown. QuickFIX will send you any messages that you=20 hadn't processed in the time you went down to when you come back up. =20 This should be transparent to you. One thing I would recommend for=20 high speed lines, is to send out a TestRequest message, and only begin=20= sending new messages when you get a response. In addition to taking a filename, the sessionsettings class can take=20 any stream in its constructor. So you can create a MemoryStream and=20 pass it in. Just make sure the contents of the stream are in the same=20= format as a configuration file. --oren On Jun 4, 2004, at 3:12 AM, Ramprakash Umapathy wrote: > Hi Oren, > =A0 > The FIX works fine and thanks. > =A0 > I looking=A0for the code snippets to do the following, > =A0 > 1. How to check for a particular session user=A0is already logged on = or=20 > the connection is alive? ( I see a method isLoggedOn in Acceptor and=20= > Initiator classes but not sure how to use in my VB code) > =A0 > 2. How to handle a situation in case of application breakdown (with=20 > some code sample?!) ? > =A0 > 3. How can I pass the parameters for SessionSettings from own=20 > customized application (not by using configuration files (*.cfg or=20 > whatsoever)? > =A0 > TIA, > Ramprakash > =A0 > =A0 > P.S : The sender is a newbie (to both QuickFix and :NET Technologies)=20= > and prefers to have code samples in VB.NET / C# > =A0 > =A0 > -----Original Message----- > From: qui...@li...=20 > [mailto:qui...@li...] On Behalf Of=20= > or...@qu... > Sent: luned=EC 31 maggio 2004 19:53 > To: Ramprakash Umapathy > Cc: qui...@li...; sa...@uc... > Subject: RE: [Quickfix-developers] Problem with VB.NET > > Ok, I've fixed this and was able to run your sample application with=20= > no problem.=A0 It appears that VB.NET got confused about const = pointers=20 > that were declared in MC++.=A0 I've attached a new=20 > quickfix/src/.NET/Application.h file.=A0If you replace the one you = have=20 > with this one you should be all set.=A0 I'll check this into CVS and = it=20 > will be in the next release as well. > Sam, I CC'd you on this because while researching this I noticed you=20= > posted the same problem earlier to the mailing list.=A0 Don't know if = it=20 > is still of interest to you but here is the fix. > =A0 > --oren > > -------- Original Message -------- > Subject: [Quickfix-developers] Problem with VB.NET > From: "Ramprakash Umapathy" <ram...@ca...> > Date: Mon, May 24, 2004 5:43 am > To: qui...@li... > > Hi All, > > I'm a newbie trying to use QuickFix in VB.NET > > I ran into problems with my code here. Could anyone of help me to=20 > solve. I > have seen a similar post with no answers. I use like this in my VB.NET=20= > code, > > > Imports QuickFix > Public Class QFapp > =A0 =A0Inherits QuickFix.MessageCracker > =A0 =A0Implements QuickFix.Application > > =A0 =A0Public Sub toApp(ByVal msg As QuickFix.Message, ByVal sid As > QuickFix.SessionID) Implements QuickFix.Application.toApp > =A0 =A0End Sub > > =A0 =A0Public Sub fromAdmin(ByVal msg As QuickFix.Message, ByVal sid = As > QuickFix.SessionID) Implements QuickFix.Application.fromAdmin > =A0 =A0End Sub > > =A0 =A0Public Sub onCreate(ByVal sid As QuickFix.SessionID) Implements > QuickFix.Application.onCreate > =A0 =A0End Sub > > =A0 =A0Public Sub onLogon(ByVal sid As QuickFix.SessionID) Implements > QuickFix.Application.onLogon > =A0 =A0End Sub > > =A0 =A0Public Sub onLogout(ByVal sid As QuickFix.SessionID) Implements > QuickFix.Application.onLogout > =A0 =A0End Sub > > =A0 =A0Public Sub toAdmin(ByVal msg As QuickFix.Message, ByVal sid As > QuickFix.SessionID) Implements QuickFix.Application.toAdmin > =A0 =A0End Sub > > =A0 =A0Public Sub fromApp(ByVal msg As QuickFix.Message, ByVal sid As > QuickFix.SessionID) Implements QuickFix.Application.fromApp > =A0 =A0End Sub > > End Class > > And then I call like this, > > Imports QuickFix > > Module Module1 > > =A0 =A0Sub Main() > > =A0 =A0 =A0 =A0Try > > =A0 =A0 =A0 =A0 =A0 =A0'Get Setting from ini file > =A0 =A0 =A0 =A0 =A0 =A0Dim ss As New SessionSettings("c:\client.ini") > =A0 =A0 =A0 =A0 =A0 =A0Dim sInit As SocketInitiator > =A0 =A0 =A0 =A0 =A0 =A0Dim sapp As New QFapp > > =A0 =A0 =A0 =A0 =A0 =A0Dim storeFactory As New FileStoreFactory(ss) > =A0 =A0 =A0 =A0 =A0 =A0Dim logFactory As New = FileLogFactory("c:\test.log") > =A0 =A0 =A0 =A0 =A0 =A0Dim msgFactory As New DefaultMessageFactory > > > =A0 =A0 =A0 =A0 =A0 =A0'Initiator Section > =A0 =A0 =A0 =A0 =A0 =A0sInit =3D New SocketInitiator(sapp, = storeFactory, ss,=20 > msgFactory) > =A0 =A0 =A0 =A0 =A0 =A0'sInit =3D New SocketAcceptor(sapp, = storeFactory, ss,=20 > logFactory, > msgFactory) > > =A0 =A0 =A0 =A0 =A0 =A0sInit.start() > > =A0 =A0 =A0 =A0 =A0 =A0sInit.stop() > > > > > > =A0 =A0 =A0 =A0Catch ex As System.Exception > > =A0 =A0 =A0 =A0 =A0 =A0Trace.WriteLine(ex.Message) > =A0 =A0 =A0 =A0 =A0 =A0Trace.WriteLine(ex.StackTrace) > > =A0 =A0 =A0 =A0End Try > > =A0 =A0End Sub > > End Module > > > The System throws an Error (doesn't even caught in Catch Block) with=20= > the > following message, > > > An unhandled exception of type 'System.TypeLoadException' occurred in > Unknown Module. > > Additional information: Signature of the body and declaration in a=20 > method > implementation do not match. =A0Type: TestFixEngine.QFapp. =A0Assembly: > TestFixEngine, Version=3D1.0.1605.20104, Culture=3Dneutral,=20 > PublicKeyToken=3Dnull. > > TIA, > > Holy > > > P.S: I could be helpful in anyone of you point out the QuickFix VB.NET > Resources > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle=20 > 10g. > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id149&alloc_id=8166&op=3Dclick > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Oren M. <or...@qu...> - 2004-06-04 17:43:28
|
You need to specify in the context of the FIX version and message,=20 since groups change definitions between FIX versions. So for instance FIX42::NewOrderSingle::NoTradingSessions group; group.set( FIX::TradingSessionId("P1" ) ); message.addGroup( group ); group.set( FIX::TradingSessionID("P2") ); message.addGroup( group ); group.set( FIX::TradingSessionID("P3") ); message.addGroup( group ); Field 386, NoTradingSessions, will automatically be calculated and set=20= for you. On Jun 4, 2004, at 12:20 PM, Clark Sims wrote: > I need to set NoTradingSessions(386) =3D 3 > and add > 336=3DP1 336=3DP2 336=3DP3 > =A0 > to pass the Arca Fix Certification. > =A0 > I went through the documentation on repeating groups: > =A0 > // create a market data message > =A0=A0=A0 FIX42::MarketDataSnapshotFullRefresh = message(FIX::Symbol("QF")); > // repeating group in the form of MessageName::NoField=20 > =A0FIX42::MarketDataSnapshotFullRefresh::NoMDEntries group; > =A0=A0=A0 group.set(FIX::MDEntryType('0')); > =A0=A0=A0 group.set(FIX::MDEntryPx(12.32)); > =A0=A0=A0 group.set(FIX::MDEntrySize(100)); > =A0=A0=A0 group.set(FIX::OrderID("ORDERID")); > =A0=A0=A0 message.addGroup(group); > I found the following statement in Fields.h > DEFINE_NUMINGROUP(NoTradingSessions) > =A0 > and I found > NoTradingSessions =3D 386=A0 in FildNumbers.h > =A0 > But I can't figure out how to specify the group I need to add! > I have tried: > FIX::TradingSessionId::NoTradingSessions group; > =A0 > but it doesn't compile. > =A0 > What is the C++ syntax to say :=A0 386=3D3 336=3DP1 336=3DP2 336=3DP3 > in the FIX message? > =A0 > =A0 > > Do you Yahoo!? > Friends. Fun. Try the all-new Yahoo! Messenger= |
From: Clark S. <cla...@ya...> - 2004-06-04 17:24:39
|
I need to set NoTradingSessions(386) = 3 and add 336=P1 336=P2 336=P3 to pass the Arca Fix Certification. I went through the documentation on repeating groups: // create a market data message FIX42::MarketDataSnapshotFullRefresh message(FIX::Symbol("QF")); // repeating group in the form of MessageName::NoField FIX42::MarketDataSnapshotFullRefresh::NoMDEntries group; group.set(FIX::MDEntryType('0')); group.set(FIX::MDEntryPx(12.32)); group.set(FIX::MDEntrySize(100)); group.set(FIX::OrderID("ORDERID")); message.addGroup(group); I found the following statement in Fields.h DEFINE_NUMINGROUP(NoTradingSessions) and I found NoTradingSessions = 386 in FildNumbers.h But I can't figure out how to specify the group I need to add! I have tried: FIX::TradingSessionId::NoTradingSessions group; but it doesn't compile. What is the C++ syntax to say : 386=3 336=P1 336=P2 336=P3in the FIX message? --------------------------------- Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger |
From: Ramprakash U. <ram...@ca...> - 2004-06-04 08:12:52
|
Hi Oren, =20 The FIX works fine and thanks. =20 I looking for the code snippets to do the following, =20 1. How to check for a particular session user is already logged on or = the connection is alive? ( I see a method isLoggedOn in Acceptor and = Initiator classes but not sure how to use in my VB code) =20 2. How to handle a situation in case of application breakdown (with some code sample?!) ?=20 =20 3. How can I pass the parameters for SessionSettings from own customized application (not by using configuration files (*.cfg or whatsoever)? =20 TIA, Ramprakash =20 =20 P.S : The sender is a newbie (to both QuickFix and :NET Technologies) = and prefers to have code samples in VB.NET / C# =20 =20 -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of or...@qu... Sent: luned=EC 31 maggio 2004 19:53 To: Ramprakash Umapathy Cc: qui...@li...; sa...@uc... Subject: RE: [Quickfix-developers] Problem with VB.NET Ok, I've fixed this and was able to run your sample application with no problem. It appears that VB.NET got confused about const pointers that = were declared in MC++. I've attached a new quickfix/src/.NET/Application.h = file. If you replace the one you have with this one you should be all set. = I'll check this into CVS and it will be in the next release as well. Sam, I CC'd you on this because while researching this I noticed you = posted the same problem earlier to the mailing list. Don't know if it is still = of interest to you but here is the fix. =20 --oren -------- Original Message -------- Subject: [Quickfix-developers] Problem with VB.NET From: "Ramprakash Umapathy" <ram...@ca...> Date: Mon, May 24, 2004 5:43 am To: qui...@li... Hi All, I'm a newbie trying to use QuickFix in VB.NET I ran into problems with my code here. Could anyone of help me to solve. = I have seen a similar post with no answers. I use like this in my VB.NET = code, Imports QuickFix Public Class QFapp Inherits QuickFix.MessageCracker Implements QuickFix.Application Public Sub toApp(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.toApp End Sub Public Sub fromAdmin(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.fromAdmin End Sub Public Sub onCreate(ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.onCreate End Sub Public Sub onLogon(ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.onLogon End Sub Public Sub onLogout(ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.onLogout End Sub Public Sub toAdmin(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.toAdmin End Sub Public Sub fromApp(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.fromApp End Sub End Class And then I call like this, Imports QuickFix Module Module1 Sub Main() Try 'Get Setting from ini file Dim ss As New SessionSettings("c:\client.ini") Dim sInit As SocketInitiator Dim sapp As New QFapp Dim storeFactory As New FileStoreFactory(ss) Dim logFactory As New FileLogFactory("c:\test.log") Dim msgFactory As New DefaultMessageFactory 'Initiator Section sInit =3D New SocketInitiator(sapp, storeFactory, ss, = msgFactory) 'sInit =3D New SocketAcceptor(sapp, storeFactory, ss, = logFactory, msgFactory) sInit.start() sInit.stop() Catch ex As System.Exception Trace.WriteLine(ex.Message) Trace.WriteLine(ex.StackTrace) End Try End Sub End Module The System throws an Error (doesn't even caught in Catch Block) with the following message, An unhandled exception of type 'System.TypeLoadException' occurred in Unknown Module. Additional information: Signature of the body and declaration in a = method implementation do not match. Type: TestFixEngine.QFapp. Assembly: TestFixEngine, Version=3D1.0.1605.20104, Culture=3Dneutral, = PublicKeyToken=3Dnull. TIA, Holy P.S: I could be helpful in anyone of you point out the QuickFix VB.NET Resources ------------------------------------------------------- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. = Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id149&alloc_id=8166&op=3Dclick _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers=20 |
From: Howard S. E. <ho...@Pi...> - 2004-06-02 12:09:14
|
Pushed the StartTime back to 7am this morning and as expected, = everything worked fine. Partners logged on successfully at first = attempt. -H -----Original Message----- From: Howard S. Engelhart=20 Sent: Tuesday, June 01, 2004 5:07 PM To: 'Oren Miller' Cc: QuickFIX Questions ((E-mail)) Subject: RE: [Quickfix-developers] Mystery disconnect continues Ok, Here's my theory.. My engine creates the qf session objects / application every morning at = 7:30 am. =20 This is seen in the event log... > 20040601-11:30:02 : Created session My session configurations set the session times at 8am - 7pm.. > StartTime=3D12:00:00 > EndTime=3D23:00:00 When my session's first logon attempt comes in at 8:05 the = checkSessionTime method uses the session state's CreationTime, which at = that point is 7:30am(1/2 hour before StartTime). =20 bool checkSessionTime( const UtcTimeStamp& time ) { UtcTimeStamp creationTime =3D m_state.getCreationTime(); return isSameSession(m_startTime, m_endTime, time, creationTime); } So the checkSessionTime method fails in its call to isSameSession and = the reset method is called on the session. This causes the reasonless = "Disconnecting" and the session state is reset, but now the state's = CreationTime is reset to 8:05. The next logon attempt succeeds because = the CreationTime (8:05) is > StartTime (8:00). I can work around for now by adjusting my StartTime to 11:00 and that = should fix it, but the ultimate fix lies in the = isSameSession/checkSessionTime issue. Thanks for your help Oren. -----Original Message----- From: Oren Miller [mailto:or...@qu...] Sent: Tuesday, June 01, 2004 4:40 PM To: Howard S. Engelhart Cc: QuickFIX Questions ((E-mail)) Subject: Re: [Quickfix-developers] Mystery disconnect continues Well, looking at the session, the only thing that I see that could =20 possibly do a disconnect without logging a reason (as of 1.7.1) is if =20 reset() is called. And the most likely culprit may be when it checks =20 the session time. I don't know why but maybe there is some problem =20 that it does not think the session is ready at the time the first logon = occurs. Maybe you can print something to the event log before every =20 call to reset() in Session.cpp and see if we can verify that this is =20 where the disconnect is coming from. On Jun 1, 2004, at 2:48 PM, Howard S. Engelhart wrote: > Using qf 1.7.1 > > This is a problem I've seen back to quickfix 1.6.0. The first time =20 > our client sessions attempt to logon in the morning their sessions are = =20 > disconnected with no apparent reason. The server completely tears =20 > down all FIX sessions at the end of the day, unloads from memory + =20 > moves old logs out so when it comes up in the morning everything is =20 > fresh, sequence numbers are at 1,1. > > If anyone has an ideas or experience with this type of problem it'd be = =20 > appreciated. Relevant logs + cfg below. > > Thanks, > > -Howard > > > Event log > --------------- > 20040601-11:30:02 : Created session > 20040601-12:05:25 : Disconnecting > 20040601-12:09:06 : Received logon request > 20040601-12:09:06 : Responding to logon request > 20040601-12:09:06 : MsgSeqNum too high RECEIVED: 2 EXPECTED: 1 > 20040601-12:09:06 : Sent ResendRequest FROM: 1 TO: 999999 > 20040601-12:09:06 : MsgSeqNum too high RECEIVED: 3 EXPECTED: 1 > 20040601-12:09:06 : Sent ResendRequest FROM: 1 TO: 999999 > 20040601-12:09:07 : Received SequenceReset FROM: 1 TO: 4 > 20040601-12:09:07 : MsgSeqNum too low RECEIVED: 1 EXPECTED: 4 PosDup: = Y > > Incoming log > --------------- > = 8=3DFIX.4.0|9=3D74|35=3DA|49=3DCLIENT|56=3DSERVER|34=3D1|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:05:15|98=3D0|108=3D60|10=3D213| > = 8=3DFIX.4.0|9=3D74|35=3DA|49=3DCLIENT|56=3DSERVER|34=3D2|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:08:56|98=3D0|108=3D60|10=3D222| > = 8=3DFIX.4.0|9=3D68|35=3D1|49=3DCLIENT|56=3DSERVER|34=3D3|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:08:56|112=3D3|10=3D187| > = 8=3DFIX.4.0|9=3D95|35=3D4|49=3DCLIENT|56=3DSERVER|34=3D1|50=3DADMIN|43=3D= Y|52=3D20040601-=20 > 12:08:56|122=3D20040601-12:08:56|123=3DY|36=3D4|10=3D001| > = 8=3DFIX.4.0|9=3D95|35=3D4|49=3DCLIENT|56=3DSERVER|34=3D1|50=3DADMIN|43=3D= Y|52=3D20040601-=20 > 12:08:57|122=3D20040601-12:08:57|123=3DY|36=3D4|10=3D003| > = 8=3DFIX.4.0|9=3D68|35=3D0|49=3DCLIENT|56=3DSERVER|34=3D4|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:10:01|112=3D0|10=3D167| > = 8=3DFIX.4.0|9=3D68|35=3D0|49=3DCLIENT|56=3DSERVER|34=3D5|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:11:06|112=3D0|10=3D174| > = 8=3DFIX.4.0|9=3D68|35=3D0|49=3DCLIENT|56=3DSERVER|34=3D6|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:12:10|112=3D0|10=3D171| > > > Outgoing log > --------------- > 8=3DFIX.4.0|9=3D60|35=3DA|34=3D1|49=3DSERVER|52=3D20040601-12:09:=20 > 06|56=3DCLIENT|98=3D0|108=3D60|10=3D213| > 8=3DFIX.4.0|9=3D62|35=3D2|34=3D2|49=3DSERVER|52=3D20040601-12:09:=20 > 06|56=3DCLIENT|7=3D1|16=3D999999|10=3D078| > 8=3DFIX.4.0|9=3D62|35=3D2|34=3D3|49=3DSERVER|52=3D20040601-12:09:=20 > 06|56=3DCLIENT|7=3D1|16=3D999999|10=3D079| > 8=3DFIX.4.0|9=3D48|35=3D0|34=3D4|49=3DSERVER|52=3D20040601-12:10:=20 > 06|56=3DCLIENT|10=3D169| > > > [CLIENT] > BeginString=3DFIX.4.0 > CheckLatency=3DN > DataDictionary=3D/home/sys/conf/FIX40.xml > SenderCompID=3DSERVER > TargetCompID=3DCLIENT > > [DEFAULT] > BeginString=3DFIX.4.2 > CheckLatency=3DY > ConnectionType=3Dacceptor > DataDictionary=3D/home/sys/conf/FIX42.xml > EndTime=3D23:00:00 > FileLogPath=3D/home/sys/logs > FileStorePath=3D/home/sys/logs > MaxLatency=3D120 > ResetOnDisconnect=3DN > ResetOnLogout=3DN > SenderCompID=3DSERVER > SocketAcceptPort=3D9100 > SocketReuseAddress=3DY > StartTime=3D12:00:00 > UseDataDictionary=3DY > ValidateFieldsHaveValues=3DN > ValidateFieldsOutOfOrder=3DY > > > ------------------------------------------------------- > This SF.Net email is sponsored by the new InstallShield X. > From Windows to Linux, servers to mobile, InstallShield X is the one > installation-authoring solution that does it all. Learn more and > evaluate today! http://www.installshield.com/Dev2Dev/0504 > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Howard S. E. <ho...@Pi...> - 2004-06-01 21:07:30
|
Ok, Here's my theory.. My engine creates the qf session objects / application every morning at = 7:30 am. =20 This is seen in the event log... > 20040601-11:30:02 : Created session My session configurations set the session times at 8am - 7pm.. > StartTime=3D12:00:00 > EndTime=3D23:00:00 When my session's first logon attempt comes in at 8:05 the = checkSessionTime method uses the session state's CreationTime, which at = that point is 7:30am(1/2 hour before StartTime). =20 bool checkSessionTime( const UtcTimeStamp& time ) { UtcTimeStamp creationTime =3D m_state.getCreationTime(); return isSameSession(m_startTime, m_endTime, time, creationTime); } So the checkSessionTime method fails in its call to isSameSession and = the reset method is called on the session. This causes the reasonless = "Disconnecting" and the session state is reset, but now the state's = CreationTime is reset to 8:05. The next logon attempt succeeds because = the CreationTime (8:05) is > StartTime (8:00). I can work around for now by adjusting my StartTime to 11:00 and that = should fix it, but the ultimate fix lies in the = isSameSession/checkSessionTime issue. Thanks for your help Oren. -----Original Message----- From: Oren Miller [mailto:or...@qu...] Sent: Tuesday, June 01, 2004 4:40 PM To: Howard S. Engelhart Cc: QuickFIX Questions ((E-mail)) Subject: Re: [Quickfix-developers] Mystery disconnect continues Well, looking at the session, the only thing that I see that could =20 possibly do a disconnect without logging a reason (as of 1.7.1) is if =20 reset() is called. And the most likely culprit may be when it checks =20 the session time. I don't know why but maybe there is some problem =20 that it does not think the session is ready at the time the first logon = occurs. Maybe you can print something to the event log before every =20 call to reset() in Session.cpp and see if we can verify that this is =20 where the disconnect is coming from. On Jun 1, 2004, at 2:48 PM, Howard S. Engelhart wrote: > Using qf 1.7.1 > > This is a problem I've seen back to quickfix 1.6.0. The first time =20 > our client sessions attempt to logon in the morning their sessions are = =20 > disconnected with no apparent reason. The server completely tears =20 > down all FIX sessions at the end of the day, unloads from memory + =20 > moves old logs out so when it comes up in the morning everything is =20 > fresh, sequence numbers are at 1,1. > > If anyone has an ideas or experience with this type of problem it'd be = =20 > appreciated. Relevant logs + cfg below. > > Thanks, > > -Howard > > > Event log > --------------- > 20040601-11:30:02 : Created session > 20040601-12:05:25 : Disconnecting > 20040601-12:09:06 : Received logon request > 20040601-12:09:06 : Responding to logon request > 20040601-12:09:06 : MsgSeqNum too high RECEIVED: 2 EXPECTED: 1 > 20040601-12:09:06 : Sent ResendRequest FROM: 1 TO: 999999 > 20040601-12:09:06 : MsgSeqNum too high RECEIVED: 3 EXPECTED: 1 > 20040601-12:09:06 : Sent ResendRequest FROM: 1 TO: 999999 > 20040601-12:09:07 : Received SequenceReset FROM: 1 TO: 4 > 20040601-12:09:07 : MsgSeqNum too low RECEIVED: 1 EXPECTED: 4 PosDup: = Y > > Incoming log > --------------- > = 8=3DFIX.4.0|9=3D74|35=3DA|49=3DCLIENT|56=3DSERVER|34=3D1|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:05:15|98=3D0|108=3D60|10=3D213| > = 8=3DFIX.4.0|9=3D74|35=3DA|49=3DCLIENT|56=3DSERVER|34=3D2|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:08:56|98=3D0|108=3D60|10=3D222| > = 8=3DFIX.4.0|9=3D68|35=3D1|49=3DCLIENT|56=3DSERVER|34=3D3|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:08:56|112=3D3|10=3D187| > = 8=3DFIX.4.0|9=3D95|35=3D4|49=3DCLIENT|56=3DSERVER|34=3D1|50=3DADMIN|43=3D= Y|52=3D20040601-=20 > 12:08:56|122=3D20040601-12:08:56|123=3DY|36=3D4|10=3D001| > = 8=3DFIX.4.0|9=3D95|35=3D4|49=3DCLIENT|56=3DSERVER|34=3D1|50=3DADMIN|43=3D= Y|52=3D20040601-=20 > 12:08:57|122=3D20040601-12:08:57|123=3DY|36=3D4|10=3D003| > = 8=3DFIX.4.0|9=3D68|35=3D0|49=3DCLIENT|56=3DSERVER|34=3D4|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:10:01|112=3D0|10=3D167| > = 8=3DFIX.4.0|9=3D68|35=3D0|49=3DCLIENT|56=3DSERVER|34=3D5|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:11:06|112=3D0|10=3D174| > = 8=3DFIX.4.0|9=3D68|35=3D0|49=3DCLIENT|56=3DSERVER|34=3D6|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:12:10|112=3D0|10=3D171| > > > Outgoing log > --------------- > 8=3DFIX.4.0|9=3D60|35=3DA|34=3D1|49=3DSERVER|52=3D20040601-12:09:=20 > 06|56=3DCLIENT|98=3D0|108=3D60|10=3D213| > 8=3DFIX.4.0|9=3D62|35=3D2|34=3D2|49=3DSERVER|52=3D20040601-12:09:=20 > 06|56=3DCLIENT|7=3D1|16=3D999999|10=3D078| > 8=3DFIX.4.0|9=3D62|35=3D2|34=3D3|49=3DSERVER|52=3D20040601-12:09:=20 > 06|56=3DCLIENT|7=3D1|16=3D999999|10=3D079| > 8=3DFIX.4.0|9=3D48|35=3D0|34=3D4|49=3DSERVER|52=3D20040601-12:10:=20 > 06|56=3DCLIENT|10=3D169| > > > [CLIENT] > BeginString=3DFIX.4.0 > CheckLatency=3DN > DataDictionary=3D/home/sys/conf/FIX40.xml > SenderCompID=3DSERVER > TargetCompID=3DCLIENT > > [DEFAULT] > BeginString=3DFIX.4.2 > CheckLatency=3DY > ConnectionType=3Dacceptor > DataDictionary=3D/home/sys/conf/FIX42.xml > EndTime=3D23:00:00 > FileLogPath=3D/home/sys/logs > FileStorePath=3D/home/sys/logs > MaxLatency=3D120 > ResetOnDisconnect=3DN > ResetOnLogout=3DN > SenderCompID=3DSERVER > SocketAcceptPort=3D9100 > SocketReuseAddress=3DY > StartTime=3D12:00:00 > UseDataDictionary=3DY > ValidateFieldsHaveValues=3DN > ValidateFieldsOutOfOrder=3DY > > > ------------------------------------------------------- > This SF.Net email is sponsored by the new InstallShield X. > From Windows to Linux, servers to mobile, InstallShield X is the one > installation-authoring solution that does it all. Learn more and > evaluate today! http://www.installshield.com/Dev2Dev/0504 > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Oren M. <or...@qu...> - 2004-06-01 20:40:03
|
Well, looking at the session, the only thing that I see that could possibly do a disconnect without logging a reason (as of 1.7.1) is if reset() is called. And the most likely culprit may be when it checks the session time. I don't know why but maybe there is some problem that it does not think the session is ready at the time the first logon occurs. Maybe you can print something to the event log before every call to reset() in Session.cpp and see if we can verify that this is where the disconnect is coming from. On Jun 1, 2004, at 2:48 PM, Howard S. Engelhart wrote: > Using qf 1.7.1 > > This is a problem I've seen back to quickfix 1.6.0. The first time > our client sessions attempt to logon in the morning their sessions are > disconnected with no apparent reason. The server completely tears > down all FIX sessions at the end of the day, unloads from memory + > moves old logs out so when it comes up in the morning everything is > fresh, sequence numbers are at 1,1. > > If anyone has an ideas or experience with this type of problem it'd be > appreciated. Relevant logs + cfg below. > > Thanks, > > -Howard > > > Event log > --------------- > 20040601-11:30:02 : Created session > 20040601-12:05:25 : Disconnecting > 20040601-12:09:06 : Received logon request > 20040601-12:09:06 : Responding to logon request > 20040601-12:09:06 : MsgSeqNum too high RECEIVED: 2 EXPECTED: 1 > 20040601-12:09:06 : Sent ResendRequest FROM: 1 TO: 999999 > 20040601-12:09:06 : MsgSeqNum too high RECEIVED: 3 EXPECTED: 1 > 20040601-12:09:06 : Sent ResendRequest FROM: 1 TO: 999999 > 20040601-12:09:07 : Received SequenceReset FROM: 1 TO: 4 > 20040601-12:09:07 : MsgSeqNum too low RECEIVED: 1 EXPECTED: 4 PosDup: Y > > Incoming log > --------------- > 8=FIX.4.0|9=74|35=A|49=CLIENT|56=SERVER|34=1|50=ADMIN|43=N|52=20040601- > 12:05:15|98=0|108=60|10=213| > 8=FIX.4.0|9=74|35=A|49=CLIENT|56=SERVER|34=2|50=ADMIN|43=N|52=20040601- > 12:08:56|98=0|108=60|10=222| > 8=FIX.4.0|9=68|35=1|49=CLIENT|56=SERVER|34=3|50=ADMIN|43=N|52=20040601- > 12:08:56|112=3|10=187| > 8=FIX.4.0|9=95|35=4|49=CLIENT|56=SERVER|34=1|50=ADMIN|43=Y|52=20040601- > 12:08:56|122=20040601-12:08:56|123=Y|36=4|10=001| > 8=FIX.4.0|9=95|35=4|49=CLIENT|56=SERVER|34=1|50=ADMIN|43=Y|52=20040601- > 12:08:57|122=20040601-12:08:57|123=Y|36=4|10=003| > 8=FIX.4.0|9=68|35=0|49=CLIENT|56=SERVER|34=4|50=ADMIN|43=N|52=20040601- > 12:10:01|112=0|10=167| > 8=FIX.4.0|9=68|35=0|49=CLIENT|56=SERVER|34=5|50=ADMIN|43=N|52=20040601- > 12:11:06|112=0|10=174| > 8=FIX.4.0|9=68|35=0|49=CLIENT|56=SERVER|34=6|50=ADMIN|43=N|52=20040601- > 12:12:10|112=0|10=171| > > > Outgoing log > --------------- > 8=FIX.4.0|9=60|35=A|34=1|49=SERVER|52=20040601-12:09: > 06|56=CLIENT|98=0|108=60|10=213| > 8=FIX.4.0|9=62|35=2|34=2|49=SERVER|52=20040601-12:09: > 06|56=CLIENT|7=1|16=999999|10=078| > 8=FIX.4.0|9=62|35=2|34=3|49=SERVER|52=20040601-12:09: > 06|56=CLIENT|7=1|16=999999|10=079| > 8=FIX.4.0|9=48|35=0|34=4|49=SERVER|52=20040601-12:10: > 06|56=CLIENT|10=169| > > > [CLIENT] > BeginString=FIX.4.0 > CheckLatency=N > DataDictionary=/home/sys/conf/FIX40.xml > SenderCompID=SERVER > TargetCompID=CLIENT > > [DEFAULT] > BeginString=FIX.4.2 > CheckLatency=Y > ConnectionType=acceptor > DataDictionary=/home/sys/conf/FIX42.xml > EndTime=23:00:00 > FileLogPath=/home/sys/logs > FileStorePath=/home/sys/logs > MaxLatency=120 > ResetOnDisconnect=N > ResetOnLogout=N > SenderCompID=SERVER > SocketAcceptPort=9100 > SocketReuseAddress=Y > StartTime=12:00:00 > UseDataDictionary=Y > ValidateFieldsHaveValues=N > ValidateFieldsOutOfOrder=Y > > > ------------------------------------------------------- > This SF.Net email is sponsored by the new InstallShield X. > From Windows to Linux, servers to mobile, InstallShield X is the one > installation-authoring solution that does it all. Learn more and > evaluate today! http://www.installshield.com/Dev2Dev/0504 > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Howard S. E. <ho...@Pi...> - 2004-06-01 19:48:53
|
Using qf 1.7.1 This is a problem I've seen back to quickfix 1.6.0. The first time our = client sessions attempt to logon in the morning their sessions are = disconnected with no apparent reason. The server completely tears down = all FIX sessions at the end of the day, unloads from memory + moves old = logs out so when it comes up in the morning everything is fresh, = sequence numbers are at 1,1. If anyone has an ideas or experience with this type of problem it'd be = appreciated. Relevant logs + cfg below. Thanks, -Howard Event log --------------- 20040601-11:30:02 : Created session 20040601-12:05:25 : Disconnecting 20040601-12:09:06 : Received logon request 20040601-12:09:06 : Responding to logon request 20040601-12:09:06 : MsgSeqNum too high RECEIVED: 2 EXPECTED: 1 20040601-12:09:06 : Sent ResendRequest FROM: 1 TO: 999999 20040601-12:09:06 : MsgSeqNum too high RECEIVED: 3 EXPECTED: 1 20040601-12:09:06 : Sent ResendRequest FROM: 1 TO: 999999 20040601-12:09:07 : Received SequenceReset FROM: 1 TO: 4 20040601-12:09:07 : MsgSeqNum too low RECEIVED: 1 EXPECTED: 4 PosDup: Y Incoming log --------------- 8=3DFIX.4.0|9=3D74|35=3DA|49=3DCLIENT|56=3DSERVER|34=3D1|50=3DADMIN|43=3D= N|52=3D20040601-12:05:15|98=3D0|108=3D60|10=3D213| 8=3DFIX.4.0|9=3D74|35=3DA|49=3DCLIENT|56=3DSERVER|34=3D2|50=3DADMIN|43=3D= N|52=3D20040601-12:08:56|98=3D0|108=3D60|10=3D222| 8=3DFIX.4.0|9=3D68|35=3D1|49=3DCLIENT|56=3DSERVER|34=3D3|50=3DADMIN|43=3D= N|52=3D20040601-12:08:56|112=3D3|10=3D187| 8=3DFIX.4.0|9=3D95|35=3D4|49=3DCLIENT|56=3DSERVER|34=3D1|50=3DADMIN|43=3D= Y|52=3D20040601-12:08:56|122=3D20040601-12:08:56|123=3DY|36=3D4|10=3D001|= 8=3DFIX.4.0|9=3D95|35=3D4|49=3DCLIENT|56=3DSERVER|34=3D1|50=3DADMIN|43=3D= Y|52=3D20040601-12:08:57|122=3D20040601-12:08:57|123=3DY|36=3D4|10=3D003|= 8=3DFIX.4.0|9=3D68|35=3D0|49=3DCLIENT|56=3DSERVER|34=3D4|50=3DADMIN|43=3D= N|52=3D20040601-12:10:01|112=3D0|10=3D167| 8=3DFIX.4.0|9=3D68|35=3D0|49=3DCLIENT|56=3DSERVER|34=3D5|50=3DADMIN|43=3D= N|52=3D20040601-12:11:06|112=3D0|10=3D174| 8=3DFIX.4.0|9=3D68|35=3D0|49=3DCLIENT|56=3DSERVER|34=3D6|50=3DADMIN|43=3D= N|52=3D20040601-12:12:10|112=3D0|10=3D171| Outgoing log --------------- 8=3DFIX.4.0|9=3D60|35=3DA|34=3D1|49=3DSERVER|52=3D20040601-12:09:06|56=3D= CLIENT|98=3D0|108=3D60|10=3D213| 8=3DFIX.4.0|9=3D62|35=3D2|34=3D2|49=3DSERVER|52=3D20040601-12:09:06|56=3D= CLIENT|7=3D1|16=3D999999|10=3D078| 8=3DFIX.4.0|9=3D62|35=3D2|34=3D3|49=3DSERVER|52=3D20040601-12:09:06|56=3D= CLIENT|7=3D1|16=3D999999|10=3D079| 8=3DFIX.4.0|9=3D48|35=3D0|34=3D4|49=3DSERVER|52=3D20040601-12:10:06|56=3D= CLIENT|10=3D169| [CLIENT] BeginString=3DFIX.4.0 =20 CheckLatency=3DN =20 DataDictionary=3D/home/sys/conf/FIX40.xml =20 SenderCompID=3DSERVER TargetCompID=3DCLIENT=20 [DEFAULT] BeginString=3DFIX.4.2 =20 CheckLatency=3DY =20 ConnectionType=3Dacceptor =20 DataDictionary=3D/home/sys/conf/FIX42.xml =20 EndTime=3D23:00:00 =20 FileLogPath=3D/home/sys/logs =20 FileStorePath=3D/home/sys/logs =20 MaxLatency=3D120 =20 ResetOnDisconnect=3DN =20 ResetOnLogout=3DN =20 SenderCompID=3DSERVER SocketAcceptPort=3D9100 =20 SocketReuseAddress=3DY =20 StartTime=3D12:00:00 =20 UseDataDictionary=3DY =20 ValidateFieldsHaveValues=3DN =20 ValidateFieldsOutOfOrder=3DY=20 |
From: Oren M. <or...@qu...> - 2004-06-01 15:35:28
|
There are a couple things I've checked into CVS that may be of interest to some people. I posted and checked in a fix that will allow QuickFIX to be used from VB.NET again. In an effort to better support this API, I also checked in the Executor sample application implemented in VB.NET, and have added VB.NET code snippets to the documentation. I also plan on implementing the acceptance test server in C# and VB.NET, like we have for C++ and Java, to further insure these API's will always be stable with each new release. Also, I have been working with the SWIG (www.swig.org) guys for the past week and we now have a working Python API. This API is for the most part generated by swig, so it automatically keeps itself up to date whenever there is a change to the C++ API. This has some potentially interesting uses as you can now access a complete FIX engine through a scripting interface. This can open up whole new possibilities for writing useful utilities, or pumping out a quick script to push those trade reports to your counter-party via FIX. I'd be interested to get feedback on this from any experienced python programmers. The Executor example has also been implemented in python and code snippets are in the documentation as well. --oren |
From: Pasquale d'A. <pas...@ga...> - 2004-06-01 15:10:14
|
I get a "fatal error C1001: INTERNAL COMPILER ERROR compiler file = 'E:\8966\vc98\p2\src\P2\ehexcept.c', line 577)" on compiling = MySQLStore.cpp with Visual Studio 6.0 SP5. I found that the above error is generated by the code: while ( MYSQL_ROW row =3D mysql_fetch_row( sqlResult ) ) in function void MySQLStore::get( int , int , std::vector < std::string = > &) In my libMySQL.lib I have declared MYSQL_ROW as an object overloading = the operator[] (in order to get the field by its index) and the operator = bool (in order to resolve the conditional expression). I think this is = the right way, but I get the described fatal error. I work around the problem converting the above initialization in an = assignment in the following way: MYSQL_ROW row; while ( row =3D mysql_fetch_row( sqlResult ) ) this code reuses the same object 'row' but it works, unlike the above = one. Regards. Pasquale d'Aloise |
From: <or...@qu...> - 2004-05-31 17:53:01
|
<div>Ok, I've fixed this and was able to run your sample application with no problem. It appears that VB.NET got confused about const pointers that were declared in MC++. I've attached a new quickfix/src/.NET/Application.h file. If you replace the one you have with this one you should be all set. I'll check this into CVS and it will be in the next release as well.<BR></div> <div>Sam, I CC'd you on this because while researching this I noticed you posted the same problem earlier to the mailing list. Don't know if it is still of interest to you but here is the fix.</div> <div> </div> <div>--oren</div> <BLOCKQUOTE style="PADDING-LEFT: 8px; MARGIN-LEFT: 8px; BORDER-LEFT: blue 2px solid"><BR>-------- Original Message --------<BR>Subject: [Quickfix-developers] Problem with VB.NET<BR>From: "Ramprakash Umapathy" <ram...@ca...><BR>Date: Mon, May 24, 2004 5:43 am<BR>To: qui...@li...<BR><BR>Hi All,<BR><BR>I'm a newbie trying to use QuickFix in VB.NET<BR><BR>I ran into problems with my code here. Could anyone of help me to solve. I<BR>have seen a similar post with no answers. I use like this in my VB.NET code,<BR><BR><BR>Imports QuickFix<BR>Public Class QFapp<BR> Inherits QuickFix.MessageCracker<BR> Implements QuickFix.Application<BR><BR> Public Sub toApp(ByVal msg As QuickFix.Message, ByVal sid As<BR>QuickFix.SessionID) Implements QuickFix.Application.toApp<BR> End Sub<BR><BR> Public Sub fromAdmin(ByVal msg As QuickFix.Message, ByVal sid As<BR>QuickFix.SessionID) Implements QuickFix.Application.fromAdmin<BR> End Sub<BR><BR> Public Sub onCreate(ByVal sid As QuickFix.SessionID) Implements<BR>QuickFix.Application.onCreate<BR> End Sub<BR><BR> Public Sub onLogon(ByVal sid As QuickFix.SessionID) Implements<BR>QuickFix.Application.onLogon<BR> End Sub<BR><BR> Public Sub onLogout(ByVal sid As QuickFix.SessionID) Implements<BR>QuickFix.Application.onLogout<BR> End Sub<BR><BR> Public Sub toAdmin(ByVal msg As QuickFix.Message, ByVal sid As<BR>QuickFix.SessionID) Implements QuickFix.Application.toAdmin<BR> End Sub<BR><BR> Public Sub fromApp(ByVal msg As QuickFix.Message, ByVal sid As<BR>QuickFix.SessionID) Implements QuickFix.Application.fromApp<BR> End Sub<BR><BR>End Class<BR><BR>And then I call like this,<BR><BR>Imports QuickFix<BR><BR>Module Module1<BR><BR> Sub Main()<BR><BR> Try<BR><BR> 'Get Setting from ini file<BR> Dim ss As New SessionSettings("c:\client.ini")<BR> Dim sInit As SocketInitiator<BR> Dim sapp As New QFapp<BR><BR> Dim storeFactory As New FileStoreFactory(ss)<BR> Dim logFactory As New FileLogFactory("c:\test.log")<BR> Dim msgFactory As New DefaultMessageFactory<BR><BR><BR> 'Initiator Section<BR> sInit = New SocketInitiator(sapp, storeFactory, ss, msgFactory)<BR> 'sInit = New SocketAcceptor(sapp, storeFactory, ss, logFactory,<BR>msgFactory)<BR><BR> sInit.start()<BR><BR> sInit.stop()<BR><BR><BR><BR><BR><BR> Catch ex As System.Exception<BR><BR> Trace.WriteLine(ex.Message)<BR> Trace.WriteLine(ex.StackTrace)<BR><BR> End Try<BR><BR> End Sub<BR><BR>End Module<BR><BR><BR>The System throws an Error (doesn't even caught in Catch Block) with the<BR>following message,<BR><BR><BR>An unhandled exception of type 'System.TypeLoadException' occurred in<BR>Unknown Module.<BR><BR>Additional information: Signature of the body and declaration in a method<BR>implementation do not match. Type: TestFixEngine.QFapp. Assembly:<BR>TestFixEngine, Version=1.0.1605.20104, Culture=neutral, PublicKeyToken=null.<BR><BR>TIA,<BR><BR>Holy<BR><BR><BR>P.S: I could be helpful in anyone of you point out the QuickFix VB.NET<BR>Resources<BR><BR><BR><BR>-------------------------------------------------------<BR>This SF.Net email is sponsored by: Oracle 10g<BR>Get certified on the hottest thing ever to hit the market... Oracle 10g. <BR>Take an Oracle 10g class now, and we'll give you the exam FREE.<BR>http://ads.osdn.com/?ad_id149&alloc_id66&op=click<BR>_______________________________________________<BR>Quickfix-developers mailing list<BR>Qui...@li...<BR>https://lists.sourceforge.net/lists/listinfo/quickfix-developers </BLOCKQUOTE> |
From: Oren M. <or...@qu...> - 2004-05-28 17:11:12
|
Can't say for sure about the VB.NET. When I originally put together =20 the .NET API, I naively thought that if it works in one .NET language, =20= it works in all of them. Boy was I wrong. Some people have been using =20= QuickFIX with VB.NET, and we have been fixing the problems as they are =20= reported. It definitely works with some of the releases, but we don't =20= ourselves do any testing under VB.NET. So any changes to the .NET =20 library overtime can break VB.NET compatibility. I'm actually not even =20= sure if I have VB.NET installed anywhere right now, but I'll try to =20 take a look at this and see what can be done. --oren On May 28, 2004, at 5:13 AM, Ramprakash Umapathy wrote: > Hi Miler, > > You're right. I tried to use MTA in my code and after setting STA in = my > class it works fine now. > > I have added [ STAThread ] in C# code on my class. It works fine now. > Basically I'm VB Guy finding lot of difficulties to code in C#. There =20= > seems > to be a problem in using VB.NET code in QuickFix.NET. Any idea why it =20= > does > n't work? Please refer to my earlier post regarding this > http://sourceforge.net/mailarchive/forum.php?=20 > thread_id=3D4789984&forum_id=3D103 > > > Thanks a lot. > Ram > > > -----Original Message----- > From: Oren Miller [mailto:or...@qu...] > Sent: gioved=EC 27 maggio 2004 18:04 > To: Ramprakash Umapathy > Cc: qui...@li... > Subject: Re: [Quickfix-developers] QuickFix.ConfigError > > > What concurrency model are you using? Try changing the following = lines > in MSXML_DOMDocument.cpp from this: > > if(FAILED(CoInitialize(NULL))) > throw ConfigError("Could not initialize COM"); > > to this: > > HRESULT hresult =3D CoInitializeEx( NULL, COINIT_APARTMENTTHREADED ); = if( > hresult !=3D RPC_E_CHANGED_MODE && FAILED(hresult) ) > throw ConfigError("Could not initialize COM"); > > My guess is that you are using MTA, and CoInitialize sets to STA, = which > is illegal. This change will attempt to use STA if COM hasn't been > loaded, but will use whatever threading model you've set if it has. > Let me know if this fixes your problem and I'll check it in. > > On May 27, 2004, at 10:23 AM, Ramprakash Umapathy wrote: > >> Hi, >> >> I have just started learning QuickFix in .NET >> >> I trying to use SocketAcceptor I get an error whenever I initialize >> that. >> >> The Error is, >> >> An unhandled exception of type 'QuickFix.ConfigError' occurred in >> WindowsApplication1.exe >> >> Additional information: Configuration failed: Could not initialize = COM >> >> Unhandled Exception: QuickFix.ConfigError: Configuration failed: = Could >> not >> initialize COM >> at ReceiveFixEngineCS.Test.Main(String[] args) in c:\documents and >> settings\umapar1a\my documents\visual studio >> projects\cabutilities\testingprojects\windowsapplication1\class1.cs: >> line >> 37The program '[468] WindowsApplication1.exe' has exited with code 0 >> (0x0). >> >> The code is here, >> >> =09 >> String fileName =3D "server.cfg"; >> SessionSettings settings =3D new SessionSettings(fileName); >> Application application =3D new Application(); >> FileStoreFactory storefactory =3D new = FileStoreFactory(settings); >> ScreenLogFactory logFactory =3D new ScreenLogFactory( true, = true, true > >> ); >> =09 >> MessageFactory messageFactory =3D new DefaultMessageFactory(); >> >> SocketAcceptor acceptor >> =3D new SocketAcceptor( application, storefactory, = settings, >> logFactory, messageFactory ); >> >> >> >> The configuration file is this, >> >> [DEFAULT] >> ConnectionType=3Dacceptor >> SocketAcceptPort=3D5001 >> FileStorePath=3Dstore >> StartTime=3D00:00:00 >> EndTime=3D00:00:00 >> >> [SESSION] >> BeginString=3DFIX.4.2 >> SenderCompID=3Ds09183 >> TargetCompID=3Dumapar1a >> DataDictionary=3DFIX42.xml >> >> Any help is appreciated, >> >> Ramprakash >> >> >> >> >> >> >> >> >> ------------------------------------------------------- >> This SF.Net email is sponsored by: Oracle 10g >> Get certified on the hottest thing ever to hit the market... Oracle >> 10g. >> Take an Oracle 10g class now, and we'll give you the exam FREE. >> http://ads.osdn.com/?ad_id=3D3149&alloc_id=3D8166&op=3Dclick >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle =20= > 10g. > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id149&alloc_id=9966&op=3Dclick > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Oren M. <om...@ri...> - 2004-05-28 14:31:38
|
Did you go through these sections in the documentation? http://www.quickfixengine.org/quickfix/doc/html/application.html http://www.quickfixengine.org/quickfix/doc/html/receiving_messages.html http://www.quickfixengine.org/quickfix/doc/html/sending_messages.html On May 28, 2004, at 8:08 AM, Ramprakash Umapathy wrote: > Hi, > > It seems the code samples provided along with QuickFIX package hardly=20= > helps > the newbie like me. > > It could be great if any of the guys post some HOWTO articles on this=20= > forum. > I guess it hardly takes your time as just it involves cut and paste=20= > from > your code with few lines of explanation. I will be of great help to=20= > starters > like me. > > Thanks, > Ramprakash > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle=20= > 10g. > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id149&alloc_id=8166&op=3Dick > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Ramprakash U. <ram...@ca...> - 2004-05-28 13:09:14
|
Hi, It seems the code samples provided along with QuickFIX package hardly = helps the newbie like me. It could be great if any of the guys post some HOWTO articles on this = forum. I guess it hardly takes your time as just it involves cut and paste from your code with few lines of explanation. I will be of great help to = starters like me. Thanks, Ramprakash |
From: Ramprakash U. <ram...@ca...> - 2004-05-28 10:14:07
|
Hi Miler, You're right. I tried to use MTA in my code and after setting STA in my class it works fine now. I have added [ STAThread ] in C# code on my class. It works fine now. Basically I'm VB Guy finding lot of difficulties to code in C#. There = seems to be a problem in using VB.NET code in QuickFix.NET. Any idea why it = does n't work? Please refer to my earlier post regarding this http://sourceforge.net/mailarchive/forum.php?thread_id=3D4789984&forum_id= =3D103 Thanks a lot. Ram -----Original Message----- From: Oren Miller [mailto:or...@qu...]=20 Sent: gioved=EC 27 maggio 2004 18:04 To: Ramprakash Umapathy Cc: qui...@li... Subject: Re: [Quickfix-developers] QuickFix.ConfigError What concurrency model are you using? Try changing the following lines = in MSXML_DOMDocument.cpp from this: if(FAILED(CoInitialize(NULL))) throw ConfigError("Could not initialize COM"); to this: HRESULT hresult =3D CoInitializeEx( NULL, COINIT_APARTMENTTHREADED ); = if( hresult !=3D RPC_E_CHANGED_MODE && FAILED(hresult) ) throw ConfigError("Could not initialize COM"); My guess is that you are using MTA, and CoInitialize sets to STA, which = is illegal. This change will attempt to use STA if COM hasn't been =20 loaded, but will use whatever threading model you've set if it has. =20 Let me know if this fixes your problem and I'll check it in. On May 27, 2004, at 10:23 AM, Ramprakash Umapathy wrote: > Hi, > > I have just started learning QuickFix in .NET > > I trying to use SocketAcceptor I get an error whenever I initialize > that. > > The Error is, > > An unhandled exception of type 'QuickFix.ConfigError' occurred in=20 > WindowsApplication1.exe > > Additional information: Configuration failed: Could not initialize COM > > Unhandled Exception: QuickFix.ConfigError: Configuration failed: Could > not > initialize COM > at ReceiveFixEngineCS.Test.Main(String[] args) in c:\documents and > settings\umapar1a\my documents\visual studio > projects\cabutilities\testingprojects\windowsapplication1\class1.cs:=20 > line > 37The program '[468] WindowsApplication1.exe' has exited with code 0 =20 > (0x0). > > The code is here, > > =09 > String fileName =3D "server.cfg"; > SessionSettings settings =3D new SessionSettings(fileName); > Application application =3D new Application(); > FileStoreFactory storefactory =3D new FileStoreFactory(settings); > ScreenLogFactory logFactory =3D new ScreenLogFactory( true, true, = true > ); > =09 > MessageFactory messageFactory =3D new DefaultMessageFactory(); > > SocketAcceptor acceptor > =3D new SocketAcceptor( application, storefactory, settings,=20 > logFactory, messageFactory ); > > > > The configuration file is this, > > [DEFAULT] > ConnectionType=3Dacceptor > SocketAcceptPort=3D5001 > FileStorePath=3Dstore > StartTime=3D00:00:00 > EndTime=3D00:00:00 > > [SESSION] > BeginString=3DFIX.4.2 > SenderCompID=3Ds09183 > TargetCompID=3Dumapar1a > DataDictionary=3DFIX42.xml > > Any help is appreciated, > > Ramprakash > > > > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle > 10g. > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id=3D3149&alloc_id=3D8166&op=3Dclick > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Oren M. <or...@qu...> - 2004-05-27 18:25:50
|
Bjorn, There is no way that a FIX message containing groups can be parsed=20 without a data dictionary. The data dictionary knows which fields act=20= as the delimiter and what fields are contained within the group. =20 Without this there is no way to know if these fields belong to a group=20= or the main message body. You can only get away with not using a data=20= dictionary if you are not using groups, otherwise you will not be able=20= to correctly parse incoming messages. If you attempt to use groups=20 without a data dictionary, the fields all get crammed into the main=20 message body (since QF will have no way to know any better). If there=20= is only one group, you will still be able to pass validation, but if=20 the group is repeated you won't even get that far since the body can=20 only accommodate one of each field. Either way, getGroup would fail. --oren On May 27, 2004, at 12:34 PM, Bjo...@ub... wrote: > > Oren, > > to help out the client as fast as possible so we can proceed with the > tests, I disactiveted > the use of the FIX43.XML file. (UseDataDictionary=3DN). > > Nomatter how the ValidateFieldsOutOfOrder is set I get an exception=20 > "Field > not found". > The exception is raised by message.getGroup( i_gr, noSidesGroup ); > > for ( i_gr =3D 1; i_gr <=3D trcaprep.noSides; ++i_gr ) > { > FIX43::TradeCaptureReport::NoSides noSidesGroup; > > k =3D i_gr - 1; > > message.getGroup( i_gr, noSidesGroup ); > > The message I receive is as follows: > = 8=3DFIX.4.3=019=3D00312=0135=3DAE=0134=3D451=0152=3D20040527-17:12:19=0149= =3DRTD=0156=3DUBITRADE=01 > 50=3DUBITRADESIMU=01571=3D25RSP447=01568=3D25=01150=3DF=0117=3DNONE=0157= 0=3DY=0155=3DFGBL=20 > 0412=0148=3D617 > =0122=3D100=01207=3D185=0132=3D0=0131=3D0=0175=3D20040527=0160=3D2004052= 7-17:09:28=01552=3D1=0154=3D2=01 > 37=3DNONE=0111=3DNONE=01198=3DNONE=011=3DA1,900141,EUR,A1=0115=3DEUR=015= 27=3D5457=0130=3D185=01 > 5130=3D19000.244141=015147=3D20040527=015176=3D64=015000=3DY=0110=3D127=01= > > I've checked my sources, we are only extracting the fields which are > present within this message. > Do you have an idea why the getGroup method fails? > > Regards > Bjoern > > > > > > > Oren Miller > <oren@quickfixeng To: =20 > Bjo...@ub... > ine.org> cc: =20 > qui...@li... > Subject: Re:=20 > [Quickfix-developers] MSXML SAX Parser exception > 27/05/2004 19:11 > > > > > > > You're client probably needs to install MSXML > (http://www.microsoft.com/downloads/details.aspx?FamilyID=3Dc0f86022 > -2d4c-4162-8fb8-66bfc12f32b0&displaylang=3Den) > > If they don't want to do that, you're other option is to use libxml > instead (see build instructions) and distribute with the libxml2 > library. Using libxml2 may be a good choice if you are installing on > unknown environments since you don't have to rely on users needing to > install MSXML. BTW MSXML is installed along with IE 6, so most > desktops have it, but many older servers may not. > > --oren > > On May 27, 2004, at 11:41 AM, Bjo...@ub... wrote: > >> Hello, >> >> We have recently developed a fix interface using QuickFIX 1.7.0.=20 >> During >> the development we had no problems using the FIX43.XML dictionary. >> After having installed our interface on the client side we always get >> the >> exception: >> "MSXML SAX Parser could not be created". >> >> MSXML_DOMDocument::MSXML_DOMDocument() throw( ConfigError& ) >> : m_pDoc(NULL) >> { >> if(FAILED(CoInitialize(NULL))) >> throw ConfigError("Could not initialize COM"); >> >> HRESULT hr =3D CoCreateInstance( >> MSXML2::CLSID_DOMDocument, NULL, CLSCTX_ALL, __uuidof( >> MSXML2::IXMLDOMDocument2 ), >> ( void ** ) & m_pDoc ); >> >> if ( hr !=3D S_OK ) >> throw( ConfigError( "MSXML SAX Parser could not be created" ) = ); >> } >> within MSXML_DOMDocument.cpp. >> >> Unfortunately we cannot launch a debugger on clients side to control >> the >> value of hr. >> Our development environment is Windows 2000 client Service Pack 4. >> The clients environment is Windows 2000 server Service Pack 4. >> >> Did anyone accounter this kind of problem? >> >> Any help is appreciated. >> Bjoern >> >> >> >> >> >> ------------------------------------------------------- >> This SF.Net email is sponsored by: Oracle 10g >> Get certified on the hottest thing ever to hit the market... Oracle >> 10g. >> Take an Oracle 10g class now, and we'll give you the exam FREE. >> http://ads.osdn.com/?ad_id=3D3149&alloc_id=3D8166&op=3Dclick >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> > > > > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle=20 > 10g. > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id149&alloc_id=9966&op=3Dclick > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: <Bjo...@ub...> - 2004-05-27 18:05:49
|
Oren, to help out the client as fast as possible so we can proceed with the tests, I disactiveted the use of the FIX43.XML file. (UseDataDictionary=3DN). Nomatter how the ValidateFieldsOutOfOrder is set I get an exception "Fi= eld not found". The exception is raised by message.getGroup( i_gr, noSidesGroup ); for ( i_gr =3D 1; i_gr <=3D trcaprep.noSides; ++i_gr ) { FIX43::TradeCaptureReport::NoSides noSidesGroup; k =3D i_gr - 1; message.getGroup( i_gr, noSidesGroup ); The message I receive is as follows: 8=3DFIX.4.3=019=3D00312=0135=3DAE=0134=3D451=0152=3D20040527-17:12:19=01= 49=3DRTD=0156=3DUBITRADE=01 50=3DUBITRADESIMU=01571=3D25RSP447=01568=3D25=01150=3DF=0117=3DNONE=015= 70=3DY=0155=3DFGBL 0412=0148=3D617 =0122=3D100=01207=3D185=0132=3D0=0131=3D0=0175=3D20040527=0160=3D200405= 27-17:09:28=01552=3D1=0154=3D2=01 37=3DNONE=0111=3DNONE=01198=3DNONE=011=3DA1,900141,EUR,A1=0115=3DEUR=01= 527=3D5457=0130=3D185=01 5130=3D19000.244141=015147=3D20040527=015176=3D64=015000=3DY=0110=3D127= =01 I've checked my sources, we are only extracting the fields which are present within this message. Do you have an idea why the getGroup method fails? Regards Bjoern = =20 Oren Miller = =20 <oren@quickfixeng To: Bjorn.WESTERBU= RG...@ub... =20 ine.org> cc: quickfix-devel= op...@li... =20 Subject: Re: [Quickfix-= developers] MSXML SAX Parser exception =20 27/05/2004 19:11 = =20 = =20 = =20 You're client probably needs to install MSXML (http://www.microsoft.com/downloads/details.aspx?FamilyID=3Dc0f86022 -2d4c-4162-8fb8-66bfc12f32b0&displaylang=3Den) If they don't want to do that, you're other option is to use libxml instead (see build instructions) and distribute with the libxml2 library. Using libxml2 may be a good choice if you are installing on unknown environments since you don't have to rely on users needing to install MSXML. BTW MSXML is installed along with IE 6, so most desktops have it, but many older servers may not. --oren On May 27, 2004, at 11:41 AM, Bjo...@ub... wrote: > Hello, > > We have recently developed a fix interface using QuickFIX 1.7.0. Duri= ng > the development we had no problems using the FIX43.XML dictionary. > After having installed our interface on the client side we always get= > the > exception: > "MSXML SAX Parser could not be created". > > MSXML_DOMDocument::MSXML_DOMDocument() throw( ConfigError& ) > : m_pDoc(NULL) > { > if(FAILED(CoInitialize(NULL))) > throw ConfigError("Could not initialize COM"); > > HRESULT hr =3D CoCreateInstance( > MSXML2::CLSID_DOMDocument, NULL, CLSCTX_ALL, __uuidof( > MSXML2::IXMLDOMDocument2 ), > ( void ** ) & m_pDoc ); > > if ( hr !=3D S_OK ) > throw( ConfigError( "MSXML SAX Parser could not be created" ) )= ; > } > within MSXML_DOMDocument.cpp. > > Unfortunately we cannot launch a debugger on clients side to control > the > value of hr. > Our development environment is Windows 2000 client Service Pack 4. > The clients environment is Windows 2000 server Service Pack 4. > > Did anyone accounter this kind of problem? > > Any help is appreciated. > Bjoern > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle > 10g. > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id=3D3149&alloc_id=3D8166&op=3Dclick > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > = |
From: Oren M. <or...@qu...> - 2004-05-27 17:11:18
|
You're client probably needs to install MSXML (http://www.microsoft.com/downloads/details.aspx?FamilyID=c0f86022 -2d4c-4162-8fb8-66bfc12f32b0&displaylang=en) If they don't want to do that, you're other option is to use libxml instead (see build instructions) and distribute with the libxml2 library. Using libxml2 may be a good choice if you are installing on unknown environments since you don't have to rely on users needing to install MSXML. BTW MSXML is installed along with IE 6, so most desktops have it, but many older servers may not. --oren On May 27, 2004, at 11:41 AM, Bjo...@ub... wrote: > Hello, > > We have recently developed a fix interface using QuickFIX 1.7.0. During > the development we had no problems using the FIX43.XML dictionary. > After having installed our interface on the client side we always get > the > exception: > "MSXML SAX Parser could not be created". > > MSXML_DOMDocument::MSXML_DOMDocument() throw( ConfigError& ) > : m_pDoc(NULL) > { > if(FAILED(CoInitialize(NULL))) > throw ConfigError("Could not initialize COM"); > > HRESULT hr = CoCreateInstance( > MSXML2::CLSID_DOMDocument, NULL, CLSCTX_ALL, __uuidof( > MSXML2::IXMLDOMDocument2 ), > ( void ** ) & m_pDoc ); > > if ( hr != S_OK ) > throw( ConfigError( "MSXML SAX Parser could not be created" ) ); > } > within MSXML_DOMDocument.cpp. > > Unfortunately we cannot launch a debugger on clients side to control > the > value of hr. > Our development environment is Windows 2000 client Service Pack 4. > The clients environment is Windows 2000 server Service Pack 4. > > Did anyone accounter this kind of problem? > > Any help is appreciated. > Bjoern > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle > 10g. > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: <Bjo...@ub...> - 2004-05-27 16:48:08
|
Hello, We have recently developed a fix interface using QuickFIX 1.7.0. During the development we had no problems using the FIX43.XML dictionary. After having installed our interface on the client side we always get the exception: "MSXML SAX Parser could not be created". MSXML_DOMDocument::MSXML_DOMDocument() throw( ConfigError& ) : m_pDoc(NULL) { if(FAILED(CoInitialize(NULL))) throw ConfigError("Could not initialize COM"); HRESULT hr = CoCreateInstance( MSXML2::CLSID_DOMDocument, NULL, CLSCTX_ALL, __uuidof( MSXML2::IXMLDOMDocument2 ), ( void ** ) & m_pDoc ); if ( hr != S_OK ) throw( ConfigError( "MSXML SAX Parser could not be created" ) ); } within MSXML_DOMDocument.cpp. Unfortunately we cannot launch a debugger on clients side to control the value of hr. Our development environment is Windows 2000 client Service Pack 4. The clients environment is Windows 2000 server Service Pack 4. Did anyone accounter this kind of problem? Any help is appreciated. Bjoern |
From: Oren M. <or...@qu...> - 2004-05-27 16:04:15
|
What concurrency model are you using? Try changing the following lines in MSXML_DOMDocument.cpp from this: if(FAILED(CoInitialize(NULL))) throw ConfigError("Could not initialize COM"); to this: HRESULT hresult = CoInitializeEx( NULL, COINIT_APARTMENTTHREADED ); if( hresult != RPC_E_CHANGED_MODE && FAILED(hresult) ) throw ConfigError("Could not initialize COM"); My guess is that you are using MTA, and CoInitialize sets to STA, which is illegal. This change will attempt to use STA if COM hasn't been loaded, but will use whatever threading model you've set if it has. Let me know if this fixes your problem and I'll check it in. On May 27, 2004, at 10:23 AM, Ramprakash Umapathy wrote: > Hi, > > I have just started learning QuickFix in .NET > > I trying to use SocketAcceptor I get an error whenever I initialize > that. > > The Error is, > > An unhandled exception of type 'QuickFix.ConfigError' occurred in > WindowsApplication1.exe > > Additional information: Configuration failed: Could not initialize COM > > Unhandled Exception: QuickFix.ConfigError: Configuration failed: Could > not > initialize COM > at ReceiveFixEngineCS.Test.Main(String[] args) in c:\documents and > settings\umapar1a\my documents\visual studio > projects\cabutilities\testingprojects\windowsapplication1\class1.cs: > line > 37The program '[468] WindowsApplication1.exe' has exited with code 0 > (0x0). > > The code is here, > > > String fileName = "server.cfg"; > SessionSettings settings = new SessionSettings(fileName); > Application application = new Application(); > FileStoreFactory storefactory = new FileStoreFactory(settings); > ScreenLogFactory logFactory = new ScreenLogFactory( true, true, true > ); > > MessageFactory messageFactory = new DefaultMessageFactory(); > > SocketAcceptor acceptor > = new SocketAcceptor( application, storefactory, settings, > logFactory, messageFactory ); > > > > The configuration file is this, > > [DEFAULT] > ConnectionType=acceptor > SocketAcceptPort=5001 > FileStorePath=store > StartTime=00:00:00 > EndTime=00:00:00 > > [SESSION] > BeginString=FIX.4.2 > SenderCompID=s09183 > TargetCompID=umapar1a > DataDictionary=FIX42.xml > > Any help is appreciated, > > Ramprakash > > > > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle > 10g. > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |