[
https://issues.apache.org/jira/browse/CAMEL-5979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13600860#comment-13600860
]
Yogesh Rao commented on CAMEL-5979:
-----------------------------------
I have been using the patch in my code long time ago and the code fix has been
working for us. We had tampered the camel-quickfix jar for us, now will upgrade
the version of camel to check if it works.. This would take time but I am sure
should work.
Thank you for the fix...
Cheers!
-Yogesh
> Camel-Quickfix dynamic SenderSubId/TargetSubId issue
> ----------------------------------------------------
>
> Key: CAMEL-5979
> URL: https://issues.apache.org/jira/browse/CAMEL-5979
> Project: Camel
> Issue Type: New Feature
> Components: camel-quickfix
> Affects Versions: 2.10.3
> Environment: QuickFix/J version 1.5 on JDK 1.6.x
> Reporter: Yogesh Rao
> Assignee: Christian Müller
> Priority: Minor
> Fix For: 2.9.7, 2.10.5, 2.11.0
>
> Attachments: QuickfixjConsumer.java.patch
>
>
> I am facing an issue with camel-quickfix component for the following scenario.
> We have a FIX message coming in to the Quickfix/J engine i.e. logon request
> with only the senderID and TargetID populated and the engine successfully
> processes the logon request based on the configuration. The subsequent
> requests for Single Order (Tag # 35 = D) the message received contains the
> optional values SenderSubID and TargetSubID populated, the message is picked
> up by the camel component without any issue but its only when a reply has to
> sent to the sender the component ends up throwing a error i.e.
> IllegalStateException : Unknown Session... I looked into the code
> https://svn.apache.org/repos/asf/camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjConsumer.java
> and found the issue. The session ID is being reconstructed from the in value
> being set into the exchange object, which as per API used would construct the
> session containing SenderID,SenderSubID,TargetID and TargetSubID which is
> getting compared to the session set during the logon process which only
> contains the SenderID and TargetID and hence doesn't matches and returns a
> null. On receiving the null value the code ends up throwing the
> IllegalStateException. Looking at the QuickFixJConsumer code i do understand
> the importance of reconstructing the SessionID object from the Message set as
> Out in Exchange but from what i read about various client implementations on
> using FIX the above scenario mentioned also holds good. For now I have gone
> ahead and patched the QuickFixJConsumer code for my project by picking up the
> session id set in Exchange object rather than recreating it using the
> MessageUtils. But i feel in a longer run a elegant solution has to be put in
> place rather than user of camel patching the code up for their use:)
> In case you need any further details do let me know..
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira