[QFJ-776] QuickFix/J Initiator fails to process messages without TargetCompID tag Created: 25/Feb/14 Updated: 02/Apr/15 Resolved: 27/Feb/14 |
|
| Status: | Closed |
| Project: | QuickFIX/J |
| Component/s: | Engine |
| Affects Version/s: | 1.5.3 |
| Fix Version/s: | 1.6.0 |
| Type: | Bug | Priority: | Default |
| Reporter: | exgorth | Assignee: | Christoph John |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
| Description |
|
ASXTrade24 (SFE) gateways don't use TargetCompID in the messaging (they are always one-to-one connections) as described in http://www.asx.com.au/documents/trading_services/asx-trade24-developer-guide-fix-spec.pdf. |
| Comments |
| Comment by Christoph John [ 25/Feb/14 ] |
|
I think checking the data dictionary is a whole new topic. I guess we could check for the Sender/TargetCompID and only fail if CheckCompID=Y is set. |
| Comment by exgorth [ 25/Feb/14 ] |
|
I'm adding a test case which fails on 1.5.3 if CheckCompID=M and TargetCompID isn't mandatory on dictionary. It shold pass after a fix. I think the cleanest and less intrusive solution is to move SenderCompID/TargetCompID fields extraction from quickfix.Session#verify() to quickfix.Session#isCorrectCompID(), eg: Header header = message.getHeader(); Thoughts? |
| Comment by Christoph John [ 25/Feb/14 ] |
|
Sounds correct to me |
| Comment by Christoph John [ 25/Feb/14 ] |
|
Just out of curiosity: but you do have a "dummy" TargetCompID set in your session configuration that you remove on outgoing messages? |
| Comment by exgorth [ 25/Feb/14 ] |
|
I do have TargetCompID set on initiator, but receiver doesn't seem to care much (they ignore it i suppose). |
| Comment by Christoph John [ 27/Feb/14 ] |
|
Committed as http://sourceforge.net/p/quickfixj/code/1137/ |
| Comment by exgorth [ 28/Feb/14 ] |
|
Thanks Christoph. When are you planning 1.6.0 release? (i'm about to contribute another QFJ jira) |
| Comment by Christoph John [ 28/Feb/14 ] |
|
It is a private method so I did not really care about the signature. Re 1.6.0 release: there is no real date set at the moment. There are still some things open which IMHO are needed for completion and are planned for a long time (e.g. |