public void onMessage(NewOrderSingle message, SessionID sessionID) throws FieldNotFound, UnsupportedMessageType, IncorrectTagValue { String senderCompId = message.getHeader().getString(SenderCompID.FIELD); String targetCompId = message.getHeader().getString(TargetCompID.FIELD); String clOrdId = message.getString(ClOrdID.FIELD); String symbol = message.getString(Symbol.FIELD); char side = message.getChar(Side.FIELD); char ordType = message.getChar(OrdType.FIELD); double price = 0; if (ordType == OrdType.LIMIT) { price = message.getDouble(Price.FIELD); } double qty = message.getDouble(OrderQty.FIELD); char timeInForce = TimeInForce.DAY; if (message.isSetField(TimeInForce.FIELD)) { timeInForce = message.getChar(TimeInForce.FIELD); } try { if (timeInForce != TimeInForce.DAY) { throw new RuntimeException("Unsupported TIF, use Day"); } Order order = new Order(clOrdId, symbol, senderCompId, targetCompId, side, ordType, price, (int) qty); processOrder(order); } catch (Exception e) { rejectOrder(targetCompId, senderCompId, clOrdId, symbol, side, e.getMessage()); } }