Imported from previous forum
I noticed that there is no quickfix.fix50.Logon message type like there is for quickfix44.Logon and I feel that it is causing me problems when I try to logon. On logon, I receive the following error (by 'logon)
<20091222-19:32:27, FIX.5.0:1BD2->EXEC, event> (Error accessing message fields
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:1499)
at quickfix.Session.next(Session.java:1423)
at quickfix.mina.SessionConnector$SessionTimerTask.run(SessionConnector.java:248)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
)
<20091222-19:32:27, FIX.5.0:1BD2->EXEC, event> (Error during logon request initiation)
I noticed that there is no quickfix.fix50.Logon message type like there is for quickfix44.Logon and I feel that it is causing me problems when I try to logon. On logon, I receive the following error (by 'logon)
<20091222-19:32:27, FIX.5.0:1BD2->EXEC, event> (Error accessing message fields
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:1499)
at quickfix.Session.next(Session.java:1423)
at quickfix.mina.SessionConnector$SessionTimerTask.run(SessionConnector.java:248)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
)
<20091222-19:32:27, FIX.5.0:1BD2->EXEC, event> (Error during logon request initiation)
Sample Code::
public void toAdmin(Message message, SessionID sessionId) {
System.out.println("Initiator ToAdmin Message:"+message+" "+"SessionID:"+sessionId);
String msgType=null;
try {
msgType=message.getString(MsgType.FIELD);
} catch (FieldNotFound e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(msgType==null){
System.out.println("Message Type is null");
}
}
I don’t know about quickfix in this specific case, but the transport protocol has been separated from the rest in FIX 5, so it should not be located in quickfix.fix50.
Looking at the quickfix website, there’s http://www.quickfixengine.org/FIXT11.xml, so I would guess quickfix.fixt11.Logon exists.
I noticed that there is no quickfix.fix50.Logon message type like there is for quickfix44.Logon and I feel that it is causing me problems when I try to logon. On logon, I receive the following error (by 'logon)
<20091222-19:32:27, FIX.5.0:1BD2->EXEC, event> (Error accessing message fields
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:1499)
at quickfix.Session.next(Session.java:1423)
at quickfix.mina.SessionConnector$SessionTimerTask.run(SessionConnector.java:248)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
)
<20091222-19:32:27, FIX.5.0:1BD2->EXEC, event> (Error during logon request initiation)
Correct, there is a separation as of FIX 5. FIXimate continues to show both together for convenience but QuickFIX apparently did a proper split on the XML level. Up to FIX 4.4 the names for the application level and the transport level were identical. With FIX 5 you could have a non-FIX transport with a different logon etc.
I don’t know about quickfix in this specific case, but the transport protocol has been separated from the rest in FIX 5, so it should not be located in quickfix.fix50.
Looking at the quickfix website, there’s http://www.quickfixengine.org/FIXT11.xml, so I would guess quickfix.fixt11.Logon exists.
I noticed that there is no quickfix.fix50.Logon message type like there is for quickfix44.Logon and I feel that it is causing me problems when I try to logon. On logon, I receive the following error (by 'logon)
<20091222-19:32:27, FIX.5.0:1BD2->EXEC, event> (Error accessing message fields
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:1499)
at quickfix.Session.next(Session.java:1423)
at quickfix.mina.SessionConnector$SessionTimerTask.run(SessionConnector.java:248)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
)
<20091222-19:32:27, FIX.5.0:1BD2->EXEC, event> (Error during logon request initiation)