How to add support for custom messages and custom signature to QuickFix?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

How to add support for custom messages and custom signature to QuickFix?

Reiner Nix
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

Hi,

I need to extend QuickFix to support custom messages. As a first step a new an
additional data dictionary was created. Now QuickFix must be build again to
generate the code according the additional data dictionary.
What is the correct way to build QuickFix to support this data dictionary?


I also need to add a custom defined tag containing a digital signature to a
FIX message. To do this, I need to retrieve the body in FIX notation of a
message where almost all fields are populated. After calculating the
signature the message must be extended with the custom field containing the
signature and then the message can be sent.

My questions:
How can I retrieve the message body in FIX notation? I do not need the header
nor the trailer but only the body for the calculation.

What is the best way to add the custom field?
Using Java, I guess the methods Application.toApp or before calling
Session.sendToTarget can be used. Is there a recommendation whether to use
toApp or before calling sendToTarget.

Cheers
Reiner


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Quickfix-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfix-developers
Reply | Threaded
Open this post in threaded view
|

Re: How to add support for custom messages and custom signature to QuickFix?

Oren Miller
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

If you want to generate all the classes, you will need to run the generation
scripts in the 'spec' directory.

I don't believe there is a mehod for retrieving just the body fields.  In
C++ this would be possible if you cast the Message to a FieldMap, but this
isn't an option in java.  A getBody method would probably be a good
compliment to getHeader and getTrailer.  What you can do however is iterate
through all the fields and call toString on them one by one.  If you append
each of the fields to a StringBuffer you should be able to reconstruct the
body of the message.

Where you add the field is a function of what you know, when you know it,
and how generally applicable it is.  In general, if you have a field that
you want to make sure gets appended to every outgoing message, you should
put it in the toApp method.  If you have a field that is specific to one
type of message, it would make more sense to append it at the same place you
construct that message.

--oren

----- Original Message -----
From: "Reiner Nix" <[hidden email]>
To: <[hidden email]>
Sent: Wednesday, June 22, 2005 7:58 AM
Subject: [Quickfix-developers] How to add support for custom messages and
custom signature to QuickFix?


> 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
>
> Hi,
>
> I need to extend QuickFix to support custom messages. As a first step a
> new an
> additional data dictionary was created. Now QuickFix must be build again
> to
> generate the code according the additional data dictionary.
> What is the correct way to build QuickFix to support this data dictionary?
>
>
> I also need to add a custom defined tag containing a digital signature to
> a
> FIX message. To do this, I need to retrieve the body in FIX notation of a
> message where almost all fields are populated. After calculating the
> signature the message must be extended with the custom field containing
> the
> signature and then the message can be sent.
>
> My questions:
> How can I retrieve the message body in FIX notation? I do not need the
> header
> nor the trailer but only the body for the calculation.
>
> What is the best way to add the custom field?
> Using Java, I guess the methods Application.toApp or before calling
> Session.sendToTarget can be used. Is there a recommendation whether to use
> toApp or before calling sendToTarget.
>
> Cheers
> Reiner
>
>
> -------------------------------------------------------
> SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
> from IBM. Find simple to follow Roadmaps, straightforward articles,
> informative Webcasts and more! Get everything you need to get up to
> speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
> _______________________________________________
> Quickfix-developers mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfix-developers
>



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Quickfix-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfix-developers
Reply | Threaded
Open this post in threaded view
|

Re: How to add support for custom messages and custom signature to QuickFix?

Bugzilla from Joerg.Thoennes@macd.com
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, Oren!

> If you want to generate all the classes, you will need to run the
> generation scripts in the 'spec' directory.

IMHO, it would be a good idea if we could separate the QF engine and the FIX classes
completely, ie have a engine package and a package (library, dll, jar) for each FIX
4.0-4.4. The generation scripts could be part of the engine package and generate the FIX
message package out of the data dictionary. In the end, you would have (for C++):

        libquickfix.so + libquickfix_fix42.so etc.

Correspondingly for the other APIs.

This make the handling of custom messages or fields much easier: The user just takes the
basic QF engine, sets up its own data dictionary and generates/builds the message package.

What do you think?

> I don't believe there is a mehod for retrieving just the body fields.  
> In C++ this would be possible if you cast the Message to a FieldMap, but
> this isn't an option in java.  A getBody method would probably be a good
> compliment to getHeader and getTrailer.  What you can do however is
> iterate through all the fields and call toString on them one by one.  If
> you append each of the fields to a StringBuffer you should be able to
> reconstruct the body of the message.

Yes, browsing the source code I saw this could be an option, but did not check in detail.

Cheers, J├Ârg

--
Joerg Thoennes
                                http://macd.com
Tel.: +49 (0)241 44597-24      Macdonald Associates GmbH
Fax : +49 (0)241 44597-10      Lothringer Str. 52, D-52070 Aachen


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Quickfix-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfix-developers
Reply | Threaded
Open this post in threaded view
|

Re: How to add support for custom messages and custom signature to QuickFix?

Reiner Nix
In reply to this post by Oren Miller
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

Hi,

> If you want to generate all the classes, you will need to run the
> generation scripts in the 'spec' directory.

Is there a file to register the used specs?
Or do I need to run the generation scripts manually instead of just rebuild
the whole stuff?


> I don't believe there is a mehod for retrieving just the body fields.  In
> C++ this would be possible if you cast the Message to a FieldMap, but this
> isn't an option in java.  A getBody method would probably be a good
> compliment to getHeader and getTrailer.  What you can do however is iterate
> through all the fields and call toString on them one by one.  If you append
> each of the fields to a StringBuffer you should be able to reconstruct the
> body of the message.

Is there a method to check wether a field is a header, trailor or body field?

> Where you add the field is a function of what you know, when you know it,
> and how generally applicable it is.  In general, if you have a field that
> you want to make sure gets appended to every outgoing message, you should
> put it in the toApp method.  If you have a field that is specific to one
> type of message, it would make more sense to append it at the same place
> you construct that message.
Thanks. This sounds good.

Many thanks for the hints
Reiner Nix

> --oren
>
> ----- Original Message -----
> From: "Reiner Nix" <[hidden email]>
> To: <[hidden email]>
> Sent: Wednesday, June 22, 2005 7:58 AM
> Subject: [Quickfix-developers] How to add support for custom messages and
> custom signature to QuickFix?
>
> > 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
> >
> > Hi,
> >
> > I need to extend QuickFix to support custom messages. As a first step a
> > new an
> > additional data dictionary was created. Now QuickFix must be build again
> > to
> > generate the code according the additional data dictionary.
> > What is the correct way to build QuickFix to support this data
> > dictionary?
> >
> >
> > I also need to add a custom defined tag containing a digital signature to
> > a
> > FIX message. To do this, I need to retrieve the body in FIX notation of a
> > message where almost all fields are populated. After calculating the
> > signature the message must be extended with the custom field containing
> > the
> > signature and then the message can be sent.
> >
> > My questions:
> > How can I retrieve the message body in FIX notation? I do not need the
> > header
> > nor the trailer but only the body for the calculation.
> >
> > What is the best way to add the custom field?
> > Using Java, I guess the methods Application.toApp or before calling
> > Session.sendToTarget can be used. Is there a recommendation whether to
> > use toApp or before calling sendToTarget.
> >
> > Cheers
> > Reiner
> >
> >
> > -------------------------------------------------------
> > SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
> > from IBM. Find simple to follow Roadmaps, straightforward articles,
> > informative Webcasts and more! Get everything you need to get up to
> > speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
> > _______________________________________________
> > Quickfix-developers mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/quickfix-developers

--
Reiner B. Nix       IT-Architect
[hidden email]       http://www.macd.com
Tel.: +49 (0)241 44597-23      Macdonald Associates GmbH
Fax : +49 (0)241 44597-10      Lothringer Str. 52, D-52070 Aachen


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Quickfix-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfix-developers