/// <summary> /// /// </summary> /// <param name="reject"></param> /// <param name="sessionId"></param> private void OnMessage(QuickFix.FIX44.Reject reject, SessionID sessionId) { try { // SessionRejectReason (373) // 0 = Invalid tag number // 1 = Required tag missing // 2 = Tag not defined for this message type // 3 = Undefined Tag // 4 = Tag specified without a value // 5 = Value is incorrect (out of range) for this tag // 6 = Incorrect data format for value // 7 = Decryption problem // 8 = Signature problem // 9 = CompID problem // 10 = SendingTime (52) accuracy problem // 11 = Invalid MsgType (35) // (Note other session-level rule violations may exist in which case SessionRejectReason (373) is not specified) if (Logger.IsInfoEnabled) { Logger.Info( "Message rejected at business level : " + reject.GetField(58).ToString(CultureInfo.InvariantCulture), _type.FullName, "OnMessage"); } } catch (Exception exception) { Logger.Error(exception.ToString(), _type.FullName, "OnMessage"); } }
public virtual void OnMessage(QuickFix.FIX44.Reject message, SessionID session) { try { string sessionRejectReason = message.IsSetSessionRejectReason() ? message.SessionRejectReason.ToString() : "0"; string refSeqNum = message.IsSetRefSeqNum() ? message.RefSeqNum.ToString() : "no-ref-seq-num"; string refTagID = message.IsSetRefTagID() ? message.RefTagID.ToString() : "no-tag-id"; string refMsgType = message.IsSetRefMsgType() ? message.RefMsgType.ToString() : "no-ref-msg-type"; string text = message.IsSetText() ? message.Text.ToString() : "no-text"; logger.Error("onMessage(Reject): onMessage(Reject) SessionID: " + session.ToString()); logger.Error("onMessage(Reject): Reason =[" + sessionRejectReason + "]"); logger.Error("onMessage(Reject): RefSeqNum=[" + refSeqNum + "]"); logger.Error("onMessage(Reject): RefTagID=[" + refTagID + "]"); logger.Error("onMessage(Reject): RefMsgType=[" + refMsgType + "]"); logger.Error("onMessage(Reject): Error=[" + text + "]"); } catch (QuickFix.UnsupportedMessageType uex) { logger.Error("onMessage(Reject): " + uex.Message + "\r\n Data: " + uex.Data, uex); } catch (Exception ex) { logger.Error("onMessage(Reject): " + ex.Message, ex); } }