I developing something with QuickFixJ and I meet a strange situation. We have a stub to simulate the fix acceptor, locally on my environment is working I can send/receive messages we use a custom message type the quickfixj jar is regenerated based on new dictionary, new message types...
Example message from my env. communication between the FIX initiator and FIX_STUB(acceptor) :
16:49:58.475 [http-8080-4] INFO quickfixj.msg.outgoing - FIXT.1.1:FIX->FIX_STUB: 8=FIXT.1.1|9=267|35=RQS|34=3|49=FIX|52=20160628-13:49:58.474|56=FIX_STUB|20000=1|20001={json string}|20002=1.0|10=171|
<20160628-13:49:58, FIXT.1.1:FIX_STUB->FIX, incoming> (8=FIXT.1.1|9=267|35=RQS|34=3|49=FIX|52=20160628-13:49:58.474|56=FIX_STUB|20000=1|20001={json string}|20002=1.0|10=171|)
16:49:58.476 [QFJ Message Processor] INFO c.r.fix.api.stub.FixApplication - FIX STUB MESSAGE TYPE:quickfix.fix50sp2.Request
<20160628-13:49:58, FIXT.1.1:FIX_STUB->FIX, outgoing> (8=FIXT.1.1|9=308|35=RSP|34=3|49=FIX_STUB|52=20160628-13:49:58.527|56=FIX|20000=1|20001={json string}||20002=1.0|10=240|)
16:49:58.528 [NioProcessor-2] INFO quickfixj.msg.incoming - FIXT.1.1:FIX->FIX_STUB: 8=FIXT.1.1|9=308|35=RSP|34=3|49=FIX_STUB|52=20160628-13:49:58.527|56=FIX|20000=1|20001={json string}||20002=1.0|10=240|
16:49:58.529 [QFJ Message Processor] INFO c....fix.engine.FixEngineImpl - FIX MESSAGE TYPE:quickfix.fix50sp2.Response
on Tomcat is working but when we try to use the exactly same code in a test environment and deploy to a Websphere server I get this error:
2016-06-28 11:17:44,196 appl="rtv" env="SYS" version="3.8.12" loglevel="INFO " message="FIXT.1.1:FIX->FIX_STUB: 8=FIXT.1.19=26735=RQS34=249=FIX52=20160628-09:17:44.19656=FIX_STUB20000=120001={json string}20002=1.010=147" thread="WebContainer : 1" logger="quickfixj.msg.outgoing"
2016-06-28 11:17:44,198 appl="rtv" env="SYS" version="3.8.12" loglevel="INFO " message="FIX STUB MESSAGE TYPE:quickfix.fix50sp2.Message" thread="QFJ Message Processor" logger="c.r.fix.api.stub.FixApplication"
2016-06-28 11:17:44,202 appl="rtv" env="SYS" version="3.8.12" loglevel="ERROR" message="FIX STUB MESSAGE CRACK FAILED" thread="QFJ Message Processor" logger="c.r.fix.api.stub.FixApplication"
quickfix.UnsupportedMessageType: null
at quickfix.fix50sp2.MessageCracker.onMessage(MessageCracker.java:39) ~[quickfixj-messages-all-1.6.2.jar:1.6.2]
at quickfix.fix50sp2.MessageCracker.crack50(MessageCracker.java:1787) ~[quickfixj-messages-all-1.6.2.jar:1.6.2]
at quickfix.fix50sp2.MessageCracker.crack(MessageCracker.java:1555) ~[quickfixj-messages-all-1.6.2.jar:1.6.2]
at com....fix.api.stub.FixApplication.fromApp(FixApplication.java:97) ~[rita-web-3.8.jar:na]
As you can see in the example the type(message sub class) it's handled correctly (quickfix.fix50sp2.Request,quickfix.fix50sp2.Response ) but on Websphere is NOT (quickfix.fix50sp2.Message). MessageCracker is used.
Can you help me to fix this issue, to find out why this is happening is related to OS, web server or some FIX configuration?