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. > >