If there are no version-specific MessageFactory's in the classpath the DefaultMessageFactory will create an empty message. Unfortunately it forgets to set the MsgType which other elements of the QuickFIX/J code rely upon e.g. quickfix.Session. Below is an example stack trace in that situation:
quickfix.FieldNotFound: Field [35] was not found in message.
at quickfix.FieldMap.getField(FieldMap.java:213)
at quickfix.FieldMap.getString(FieldMap.java:207)
at quickfix.Session.sendRaw(Session.java:1758)
at quickfix.Session.generateLogon(Session.java:1746)
at quickfix.Session.nextLogon(Session.java:1591)
at quickfix.Session.next(Session.java:782)
at quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:107)
at quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:70)
at quickfix.mina.SingleThreadedEventHandlingStrategy$1.run(SingleThreadedEventHandlingStrategy.java:87)
at java.lang.Thread.run(Thread.java:637)
|