Hi Kostabanderas,

You are not doing something wrong. FIX Protocol has been designed in a non
client - server mode but as session created over HTTP protocol allowing to
send incoming OR outgoing messages. More info here :
http://www.fixprotocol.org/specifications/

1. Is it fair to say that Camel quickFix Component handles ONLY the "session
- level" messages (=logon, logout, heartbeat, testRequest...) ?

Camel component, when the session is established will receive all the
"technical" messages (logon,logout, heartbeat, ...) but business too
depending if you are connected to a FIX server 4.1, 4.2, ...

2. Is it anyhow possible to implement a "client - server" architecture using
this component? Meaning to be able to respond to messages that get to the
quickFixAcceptor? By looking at quickFix dist examples the response is sent
over the session.send(response). Is it possible to achieve similar behavior
using a Camel component? I didn't get the chance to investigate Mina yet but
maybe using plain Mina to send to the socket (just to make sure to use the
same SessionId, if applicable at all)??

I don't think that this is the good solution but you can receive messages
from quickfix:client, process them and finally resend them using another
quickfix:server endpoint but the parameters (session, ...) will be
different. To send messages to the same endpoint, your route must be defined
as InOut. So after processing the messages, validating it and so on, you can
send the ACK to the FIX server through the same endpoint

You can compare the quickFix compare with camel-jetty or camel-http
componants. To send HTTP messages (or produce) to an HTTP Server, you will
use the component camel-http like this in your route
(from().to(bean:process).to(http://). When you want to process HTTP request
messages (=consume)  you will use a camel-jetty component. You will never
use camel-http or camel-jetty to both consume or produce using the same
endpoints

Kind regards,

Charles Moulliard
Senior Enterprise Architect
Apache Camel Committer

*****************************
blog : http://cmoulliard.blogspot.com
twitter : http://twitter.com/cmoulliard
Linkedlin : http://www.linkedin.com/in/charlesmoulliard

Apache Camel Group :
http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm


On Fri, Mar 19, 2010 at 5:47 PM, kostabanderas <kostabande...@gmail.com>wrote:

>
> Hi all,
>
> I'm still confused about this. I started investigating the quickFix
> component and I noticed this behavior but was sure that I was doing
> something wrong :)
> So, a couple of questions:
>
> 1. Is it fair to say that Camel quickFix Component handles ONLY the
> "session
> - level" messages (=logon, logout, heartbeat, testRequest...)?
> 2. Is it anyhow possible to implement a "client - server" architecture
> using
> this component? Meaning to be able to respond to messages that get to the
> quickFixAcceptor? By looking at quickFix dist examples the response is sent
> over the session.send(response). Is it possible to achieve similar behavior
> using a Camel component? I didn't get the chance to investigate Mina yet
> but
> maybe using plain Mina to send to the socket (just to make sure to use the
> same SessionId, if applicable at all)??
> This from(quickfixserver).to(quickfixclient) configuration seems to be
> applicable only if I want to use fixClient and fixServer inside the same
> app. Is that fair to say? Can I anyhow make the client and server separate
> apps not aware of each other?
> 3. Is it possible to reconfigure these "session - level" message handlers?
> For example, how to decide who can logon to my server?
>
>
>
> cmoulliard wrote:
> >
> > Hi,
> >
> > Communication with FIX engine is different from a pure client - server
> > communication. AS mentioned in the documentation the quickfix engine that
> > we
> > use behind the camel-quickfix endpoint will establish a communication
> with
> > a
> > FIX Server and FIX messages will be exchanged regularly (=hearbeat,
> logon,
> > logout) to keep the communication alive. So this is not a true socket
> > channel created between the two partners but a communication channel. To
> > send messages to FIX server you must use the quickfix-client even if FIX
> > will provide you feedback on the messages exchanged and to receive from a
> > FIX server messages (as a client), you to use the other endpoint.
> >
> > So you can use from(quickfixserver).to(quickfixclient) otherwise you will
> > resend messages receive through a FIX session to another FIX server with
> > same sesssion id.
> >
> > Kind regards
> > Charles Moulliard
> > Senior Enterprise Architect
> > Apache Camel Committer
> >
> > *****************************
> > blog : http://cmoulliard.blogspot.com
> > twitter : http://twitter.com/cmoulliard
> > Linkedlin : http://www.linkedin.com/in/charlesmoulliard
> >
> > Apache Camel Group :
> > http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm
> >
> >
> > On Wed, Mar 10, 2010 at 9:24 PM, grabiarz <grabi...@gmail.com> wrote:
> >
> >>
> >> I wanted to use camel and Quickfix combo in my project and I noticed
> this
> >> warning (on http://camel.apache.org/quickfix.html) :
> >>
> >> Warning: You cannot use a quickfix engine to send or receive messages in
> >> both direction as the FIX protocol handle logon/logout sessions with
> >> heartbeat messages which are send to verify if the server or client is
> >> still
> >> alive in only one direction.
> >>
> >> I'm not quite sure how to understand it as I managed to get camel to
> >> forward
> >> a message from one endpoint to another like this:
> >>
> >> from("quickfix-server:server.cfg").to("quickfix-client:client.cfg");
> >>
> >> (Listen for incoming fix messages and then forward them to a different
> >> system)
> >>
> >> Does the warning mean I would not be able to return an "ACK" type
> message
> >> to
> >> whoever sent a message to my 'server' unless I configured another
> >> endpoint
> >> to point back to them and an endpoint to target system I want to forward
> >> to?
> >> --
> >> View this message in context:
> >>
> http://old.nabble.com/Quickfix-send-receive-messages-in-both-directions-tp27855316p27855316.html
> >> Sent from the Camel - Users mailing list archive at Nabble.com.
> >>
> >>
> >
> >
> > -----
> > Charles Moulliard
> > SOA Architect
> >
> > My Blog : http://cmoulliard.blogspot.com/
> >
>
> --
> View this message in context:
> http://old.nabble.com/Quickfix-send-receive-messages-in-both-directions-tp27855316p27950996.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>

Reply via email to