Re: [Quickfix-developers] MSXML SAX Parser exception
Brought to you by:
orenmnero
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 > |