Thread: [Quickfix-developers] NewOrderMultileg compilation issue.
Brought to you by:
orenmnero
|
From: Boby P. <bp...@gl...> - 2005-04-25 13:40:37
|
Dear Quickfixers,
I have the following issue in compiling my application with quickfix
library.
void CMyApplication::onMessage(const FIX43::NewOrderMultileg& aMsg, const
FIX::SessionID& aSessionID)
{
FIX::SenderCompID aSenderCompID; // this is OK
aMsg.getHeader().get(aSenderCompID); // this is NOT ok
....
...
}
ERROR:
CMyApplication.cpp: In member function `virtual void
CMyApplication::onMessage(const FIX43::NewOrderMultileg&, const
FIX::SessionID&)
CMyApplication.cpp:202: error: `getHeader' undeclared (first use this
function)
But I am using the same format in another function and it WORKS FINE.
void CMyApplication::onMessage(const FIX43::NewOrderSingle& aMsg, const
FIX::SessionID& aSessionID)
{
FIX::SenderCompID aSenderCompID; // this is OK
aMsg.getHeader().get(aSenderCompID); // this is OK
....
...
}
Can anybody help me with why is it causing and remedy for that?
I am using solaris with gcc 3.3.2 with quickfix version 1.9.4
Thanks
boby paul
bp...@gl...
1-888-304-8881x2400
|
|
From: Caleb E. <cal...@gm...> - 2005-04-26 13:26:53
|
On 4/25/05, Boby Paul <bp...@gl...> wrote:
> void CMyApplication::onMessage(const FIX43::NewOrderMultileg& aMsg, const
> FIX::SessionID& aSessionID)=20
> {=20
> FIX::SenderCompID aSenderCompID; // this is OK=20
> aMsg.getHeader().get(aSenderCompID); // this
> is NOT ok=20
I suspect you have not included the header
<quickfix/fix43/NewOrderMultileg.h>. The MessageCracker includes a
forward declaration for it, but does not include the header file
itself. You need to do this in your application.
--=20
Caleb Epstein
caleb dot epstein at gmail dot com
|
|
From: Boby P. <bp...@gl...> - 2005-04-26 13:51:53
|
Caleb,
Thanks very much. In fact that was the problem. It helped a lot.
Boby
-----Original Message-----
From: Caleb Epstein [mailto:cal...@gm...]
Sent: Tuesday, April 26, 2005 8:27 AM
To: Boby Paul
Cc: qui...@li...
Subject: Re: [Quickfix-developers] NewOrderMultileg compilation issue.
On 4/25/05, Boby Paul <bp...@gl...> wrote:
> void CMyApplication::onMessage(const FIX43::NewOrderMultileg& aMsg, const
> FIX::SessionID& aSessionID)
> {
> FIX::SenderCompID aSenderCompID; // this is OK
> aMsg.getHeader().get(aSenderCompID); // this
> is NOT ok
I suspect you have not included the header
<quickfix/fix43/NewOrderMultileg.h>. The MessageCracker includes a
forward declaration for it, but does not include the header file
itself. You need to do this in your application.
--
Caleb Epstein
caleb dot epstein at gmail dot com
|
|
From: Boby P. <bp...@gl...> - 2005-04-27 15:30:15
|
Hi Caleb/quickfixers,
Can anybody please tell me how to get multi-leg components (eg LegSymbol
(600) from a Multi-leg order? For example
void CMyApplication::onMessage(const FIX43::NewOrderMultileg& aMsg, const
FIX::SessionID& aSessionID)
{
FIX::NoLegs aNoLegs;
FIX::LegSymbol aSymbol;
aMsg.get(aNoLegs) ; // this is ok
aMsg.get(aSymbol); // NOT good
aNoLegs.get(aSymbol); // NOT good see below my Note
}
Note : But it seems NoLeg is a class in Quickfix derived from Group.
How can I get the leg components? How should I loop thru legs?
Any helps are highly appreciated.
Boby
-----Original Message-----
From: Caleb Epstein [mailto:cal...@gm...]
Sent: Tuesday, April 26, 2005 8:27 AM
To: Boby Paul
Cc: qui...@li...
Subject: Re: [Quickfix-developers] NewOrderMultileg compilation issue.
On 4/25/05, Boby Paul <bp...@gl...> wrote:
> void CMyApplication::onMessage(const FIX43::NewOrderMultileg& aMsg, const
> FIX::SessionID& aSessionID)
> {
> FIX::SenderCompID aSenderCompID; // this is OK
> aMsg.getHeader().get(aSenderCompID); // this
> is NOT ok
I suspect you have not included the header
<quickfix/fix43/NewOrderMultileg.h>. The MessageCracker includes a
forward declaration for it, but does not include the header file
itself. You need to do this in your application.
--
Caleb Epstein
caleb dot epstein at gmail dot com
|
|
From: Caleb E. <cal...@gm...> - 2005-04-27 15:53:41
|
On 4/27/05, Boby Paul <bp...@gl...> wrote: > How can I get the leg components? How should I loop thru legs? > Any helps are highly appreciated. Please take some time to read the documentation. http://quickfixengine.org/quickfix/doc/html/repeating_groups.html --=20 Caleb Epstein caleb dot epstein at gmail dot com |
|
From: Boby P. <bp...@gl...> - 2005-04-27 17:34:11
|
Thanks. I got it the answer from that doc. But some how when a multileg order comes, the order is rejecting by saying "Required tag missing" 371=55. But 55 is not a reqd tag in Multi-leg order. I am wondering why that could be happening. FIX43.xml does not specify 55 as a reqd tag either. -----Original Message----- From: Caleb Epstein [mailto:cal...@gm...] Sent: Wednesday, April 27, 2005 10:53 AM To: Boby Paul Cc: qui...@li... Subject: Re: [Quickfix-developers] NewOrderMultileg compilation issue. On 4/27/05, Boby Paul <bp...@gl...> wrote: > How can I get the leg components? How should I loop thru legs? > Any helps are highly appreciated. Please take some time to read the documentation. http://quickfixengine.org/quickfix/doc/html/repeating_groups.html -- Caleb Epstein caleb dot epstein at gmail dot com |
|
From: Dale W. <wil...@oc...> - 2005-04-27 17:40:11
|
Boby Paul wrote: >QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html >QuickFIX FAQ: http://www.quickfixengine.org/wikifix/index.php?QuickFixFAQ >QuickFIX Support: http://www.quickfixengine.org/services.html > >Thanks. I got it the answer from that doc. >But some how when a multileg order comes, the order is rejecting by saying >"Required tag missing" 371=55. But 55 is not a reqd tag in Multi-leg order. >I am wondering why that could be happening. FIX43.xml does not specify 55 as >a reqd tag either. > > If you attempt to get a field that isn't present in the message without enclosing it in a try/catch the quickfix library catches the exception and interprets it as a missing required tag. Dale > >-----Original Message----- >From: Caleb Epstein [mailto:cal...@gm...] >Sent: Wednesday, April 27, 2005 10:53 AM >To: Boby Paul >Cc: qui...@li... >Subject: Re: [Quickfix-developers] NewOrderMultileg compilation issue. > >On 4/27/05, Boby Paul <bp...@gl...> wrote: > > > >>How can I get the leg components? How should I loop thru legs? >>Any helps are highly appreciated. >> >> > >Please take some time to read the documentation. > >http://quickfixengine.org/quickfix/doc/html/repeating_groups.html > > > -- ----------------------------------------------------- Dale Wilson, Senior Software Engineer Object Computing, Inc. (OCI) http://www.ociweb.com/ http://www.theaceorb.com/ ---------------------------------------------------- |
|
From: Boby P. <bp...@gl...> - 2005-04-27 18:06:54
|
In fact I haven't got up to my
onMessage(const FIX43::NewOrderMultileg& aMsg, const FIX::SessionID&
aSessionID)
{
Printf("Multileg order arrived\n"); // <---------not coming up
here.
/*
All my message handling code here
*/
}
It seems that somewhere behind itself, it is rejecting the order by looking
at the tag 55
Thanks
Boby
_____
From: qui...@li...
[mailto:qui...@li...] On Behalf Of Dale
Wilson
Sent: Wednesday, April 27, 2005 12:40 PM
To: Boby Paul
Cc: 'Caleb Epstein'; qui...@li...
Subject: Re: [Quickfix-developers] NewOrderMultileg compilation issue.
Boby Paul wrote:
QuickFIX Documentation:
http://www.quickfixengine.org/quickfix/doc/html/index.html
QuickFIX FAQ: http://www.quickfixengine.org/wikifix/index.php?QuickFixFAQ
QuickFIX Support: http://www.quickfixengine.org/services.html
Thanks. I got it the answer from that doc.
But some how when a multileg order comes, the order is rejecting by saying
"Required tag missing" 371=55. But 55 is not a reqd tag in Multi-leg order.
I am wondering why that could be happening. FIX43.xml does not specify 55 as
a reqd tag either.
If you attempt to get a field that isn't present in the message without
enclosing it in a try/catch the quickfix library catches the exception and
interprets it as a missing required tag.
Dale
-----Original Message-----
From: Caleb Epstein [mailto:cal...@gm...]
Sent: Wednesday, April 27, 2005 10:53 AM
To: Boby Paul
Cc: qui...@li...
Subject: Re: [Quickfix-developers] NewOrderMultileg compilation issue.
On 4/27/05, Boby Paul <mailto:bp...@gl...>
<bp...@gl...> wrote:
How can I get the leg components? How should I loop thru legs?
Any helps are highly appreciated.
Please take some time to read the documentation.
http://quickfixengine.org/quickfix/doc/html/repeating_groups.html
--
-----------------------------------------------------
Dale Wilson, Senior Software Engineer
Object Computing, Inc. (OCI)
http://www.ociweb.com/ http://www.theaceorb.com/
----------------------------------------------------
|
|
From: Oren M. <or...@qu...> - 2005-04-27 18:16:37
|
Can you post a copy of this message from your logs?
--oren
----- Original Message -----=20
From: Boby Paul=20
To: qui...@li...=20
Sent: Wednesday, April 27, 2005 1:06 PM
Subject: RE: [Quickfix-developers] NewOrderMultileg compilation issue.
=20
In fact I haven't got up to my=20
onMessage(const FIX43::NewOrderMultileg& aMsg, const FIX::SessionID& =
aSessionID)
{
Printf("Multileg order arrived\n"); // =DF-------not =
coming up here.
=20
/*
All my message handling code here
=20
*/
=20
=20
}
=20
It seems that somewhere behind itself, it is rejecting the order by =
looking at the tag 55
=20
Thanks
Boby
=20
=20
-------------------------------------------------------------------------=
-----
From: qui...@li... =
[mailto:qui...@li...] On Behalf Of =
Dale Wilson
Sent: Wednesday, April 27, 2005 12:40 PM
To: Boby Paul
Cc: 'Caleb Epstein'; qui...@li...
Subject: Re: [Quickfix-developers] NewOrderMultileg compilation issue.
=20
Boby Paul wrote:=20
QuickFIX Documentation: =
http://www.quickfixengine.org/quickfix/doc/html/index.htmlQuickFIX FAQ: =
http://www.quickfixengine.org/wikifix/index.php?QuickFixFAQQuickFIX =
Support: http://www.quickfixengine.org/services.html Thanks. I got it =
the answer from that doc. But some how when a multileg order comes, the =
order is rejecting by saying"Required tag missing" 371=3D55. But 55 is =
not a reqd tag in Multi-leg order.I am wondering why that could be =
happening. FIX43.xml does not specify 55 asa reqd tag either. If you =
attempt to get a field that isn't present in the message without =
enclosing it in a try/catch the quickfix library catches the exception =
and interprets it as a missing required tag.
Dale
-----Original Message-----From: Caleb Epstein =
[mailto:cal...@gm...] Sent: Wednesday, April 27, 2005 10:53 =
AMTo: Boby PaulCc: qui...@li...: Re: =
[Quickfix-developers] NewOrderMultileg compilation issue. On 4/27/05, =
Boby Paul <bpaul@globaltecsolutionscom> wrote: How can I get the leg =
components? How should I loop thru legs?Any helps are highly =
appreciated. Please take some time to read the documentation. =
http://quickfixengine.org/quickfix/doc/html/repeating_groups.html =20
-- ----------------------------------------------------- Dale Wilson, =
Senior Software Engineer Object Computing, Inc. (OCI) =
http://www.ociweb.com/ =
http://www.theaceorb.com/------------------------------------------------=
---- |
|
From: Boby P. <bp...@gl...> - 2005-04-27 18:51:12
|
Thanks a bunch guys. I have the logs below. Temporarily I forced the sender
to send a tag 55 with this Message and it started working. Here is the
non-working logs below.
Incoming
8=FIX.4.3|9=253|35=AB|34=5|49=EXCH|52=20050427-18:00:43|56=PPT|1=62|11=05042
7O0000008|18=l|21=1|38=1|40=1|54=1|59=0|60=20050427-18:00:43|167=MLEG|555=2|
600=GOUFD|608=OCXXXX|610=052005|612=20|623=0|624=1|564=O|600=GOUFF|608=OCXXX
X|610=052005|612=30|623=0|624=1|564=O|10=080|
Outgoing
8=FIX.4.3|9=102|35=3|34=5|49=PPT|52=20050427-18:00:43.978|56=EXCH|45=5|58=Re
quired tag missing|371=55|372=AB|373=1|10=229|
8
Thank you,
Boby
_____
From: qui...@li...
[mailto:qui...@li...] On Behalf Of Oren
Miller
Sent: Wednesday, April 27, 2005 1:16 PM
To: Boby Paul; qui...@li...
Subject: Re: [Quickfix-developers] NewOrderMultileg compilation issue.
Can you post a copy of this message from your logs?
--oren
----- Original Message -----
From: Boby <mailto:bp...@gl...> Paul
To: qui...@li...
Sent: Wednesday, April 27, 2005 1:06 PM
Subject: RE: [Quickfix-developers] NewOrderMultileg compilation issue.
In fact I haven't got up to my
onMessage(const FIX43::NewOrderMultileg& aMsg, const FIX::SessionID&
aSessionID)
{
Printf("Multileg order arrived\n"); // <---------not coming up
here.
/*
All my message handling code here
*/
}
It seems that somewhere behind itself, it is rejecting the order by looking
at the tag 55
Thanks
Boby
_____
From: qui...@li...
[mailto:qui...@li...] On Behalf Of Dale
Wilson
Sent: Wednesday, April 27, 2005 12:40 PM
To: Boby Paul
Cc: 'Caleb Epstein'; qui...@li...
Subject: Re: [Quickfix-developers] NewOrderMultileg compilation issue.
Boby Paul wrote:
QuickFIX Documentation:
http://www.quickfixengine.org/quickfix/doc/html/index.html
QuickFIX FAQ: http://www.quickfixengine.org/wikifix/index.php?QuickFixFAQ
QuickFIX Support: http://www.quickfixengine.org/services.html
Thanks. I got it the answer from that doc.
But some how when a multileg order comes, the order is rejecting by saying
"Required tag missing" 371=55. But 55 is not a reqd tag in Multi-leg order.
I am wondering why that could be happening. FIX43.xml does not specify 55 as
a reqd tag either.
If you attempt to get a field that isn't present in the message without
enclosing it in a try/catch the quickfix library catches the exception and
interprets it as a missing required tag.
Dale
-----Original Message-----
From: Caleb Epstein [mailto:cal...@gm...]
Sent: Wednesday, April 27, 2005 10:53 AM
To: Boby Paul
Cc: qui...@li...
Subject: Re: [Quickfix-developers] NewOrderMultileg compilation issue.
On 4/27/05, Boby Paul <mailto:bp...@gl...>
<bpaul@globaltecsolutionscom> wrote:
How can I get the leg components? How should I loop thru legs?
Any helps are highly appreciated.
Please take some time to read the documentation.
http://quickfixengine.org/quickfix/doc/html/repeating_groups.html
--
-----------------------------------------------------
Dale Wilson, Senior Software Engineer
Object Computing, Inc. (OCI)
http://www.ociweb.com/ http://www.theaceorb.com/
----------------------------------------------------
|
|
From: Dale W. <wil...@oc...> - 2005-04-28 14:56:12
|
Hi Boby,
In FIX43.xml:
Message Type NewOrderMultileg(AB) contains a required component=20
Instrument. Component Instrument contains a required field Symbol (55).
Dale
Boby Paul wrote:
> =20
>
> Thanks a bunch guys. I have the logs below. Temporarily I forced the=20
> sender to send a tag 55 with this Message and it started working. Here=20
> is the non-working logs below.
>
> =20
>
> Incoming
>
> 8=3DFIX.4.3|9=3D253|35=3DAB|34=3D5|49=3DEXCH|52=3D20050427-18:00:43|56=3D=
PPT|1=3D62|11=3D050427O0000008|18=3Dl|21=3D1|38=3D1|40=3D1|54=3D1|59=3D0|=
60=3D20050427-18:00:43|167=3DMLEG|555=3D2|600=3DGOUFD|608=3DOCXXXX|610=3D=
052005|612=3D20|623=3D0|624=3D1|564=3DO|600=3DGOUFF|608=3DOCXXXX|610=3D05=
2005|612=3D30|623=3D0|624=3D1|564=3DO|10=3D080|
>
> =20
>
> =20
>
> Outgoing
>
> 8=3DFIX.4.3|9=3D102|35=3D3|34=3D5|49=3DPPT|52=3D20050427-18:00:43.978|5=
6=3DEXCH|45=3D5|58=3DRequired=20
> tag missing|371=3D55|372=3DAB|373=3D1|10=3D229|
>
> 8
>
> =20
>
> =20
>
> Thank you,
>
> Boby
>
> -----------------------------------------------------------------------=
-
>
> *From:* qui...@li...=20
> [mailto:qui...@li...] *On Behalf Of=20
> *Oren Miller
> *Sent:* Wednesday, April 27, 2005 1:16 PM
> *To:* Boby Paul; qui...@li...
> *Subject:* Re: [Quickfix-developers] NewOrderMultileg compilation issue=
.
>
> =20
>
> Can you post a copy of this message from your logs?
>
> =20
>
> --oren
>
> ----- Original Message -----
>
> *From:* Boby Paul <mailto:bp...@gl...>
>
> *To:* qui...@li...
> <mailto:qui...@li...>
>
> *Sent:* Wednesday, April 27, 2005 1:06 PM
>
> *Subject:* RE: [Quickfix-developers] NewOrderMultileg compilation
> issue.
>
> =20
>
> =20
>
> In fact I haven't got up to my
>
> onMessage(const FIX43::NewOrderMultileg& aMsg, const
> FIX::SessionID& aSessionID)
>
> {
>
> Printf("Multileg order arrived\n"); // =DF-------not
> coming up here.
>
> =20
>
> /*
>
> All my message handling code here
>
> =20
>
> */
>
> =20
>
> =20
>
> }
>
> =20
>
> It seems that somewhere behind itself, it is rejecting the order
> by looking at the tag 55
>
> =20
>
> Thanks
>
> Boby
>
> =20
>
> =20
>
> -------------------------------------------------------------------=
-----
>
> *From:* qui...@li...
> <mailto:qui...@li...>
> [mailto:qui...@li...] *On
> Behalf Of *Dale Wilson
> *Sent:* Wednesday, April 27, 2005 12:40 PM
> *To:* Boby Paul
> *Cc:* 'Caleb Epstein'; qui...@li...
> *Subject:* Re: [Quickfix-developers] NewOrderMultileg compilation
> issue.
>
> =20
>
> Boby Paul wrote:
>
>QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/=
index.html
>
>QuickFIX FAQ: http://www.quickfixengine.org/wikifix/index.php?QuickFixFA=
Q
>
>QuickFIX Support: http://www.quickfixengine.org/services.html
>
>=20
>
>Thanks. I got it the answer from that doc.=20
>
>But some how when a multileg order comes, the order is rejecting by sayi=
ng
>
>"Required tag missing" 371=3D55. But 55 is not a reqd tag in Multi-leg o=
rder.
>
>I am wondering why that could be happening. FIX43.xml does not specify 5=
5 as
>
>a reqd tag either.
>
> =20
>
> If you attempt to get a field that isn't present in the message
> without enclosing it in a try/catch the quickfix library catches
> the exception and interprets it as a missing required tag.
>
> Dale
>
>
>=20
>
>=20
>
>-----Original Message-----
>
>From: Caleb Epstein [mailto:cal...@gm...]=20
>
>Sent: Wednesday, April 27, 2005 10:53 AM
>
>To: Boby Paul
>
>Cc: qui...@li... <mailto:quickfix-developer=
s...@li...>
>
>Subject: Re: [Quickfix-developers] NewOrderMultileg compilation issue.
>
>=20
>
>On 4/27/05, Boby Paul <bpaul@globaltecsolutionscom> <mailto:bpaul@global=
tecsolutions.com> wrote:
>
>=20
>
> =20
>
>>How can I get the leg components? How should I loop thru legs?
>>
>>Any helps are highly appreciated.
>>
>> =20
>>
>=20
>
>Please take some time to read the documentation.
>
>=20
>
>http://quickfixengine.org/quickfix/doc/html/repeating_groups.html
>
>=20
>
> =20
>
>
>
>--=20
>
>-----------------------------------------------------
>
> Dale Wilson, Senior Software Engineer =20
>
> Object Computing, Inc. (OCI)
>
> http://www.ociweb.com/ http://www.theaceorb.com/
>
>----------------------------------------------------
>
--=20
-----------------------------------------------------
Dale Wilson, Senior Software Engineer =20
Object Computing, Inc. (OCI)
http://www.ociweb.com/ http://www.theaceorb.com/
----------------------------------------------------
|