예제 #1
0
        public string InitiatorTestRequestMessage(int id, [FromQuery] string msg)
        {
            msg = msg.Trim().Substring(0, Math.Min(msg.Length, 20));
            if (msg == "")
            {
                msg = "TestMessage.";
            }

            // do zero-based indexing
            var initiator = _fixInitiatorHostService.GetInitiators().Skip(id).FirstOrDefault();

            if (initiator == null)
            {
                return("initiator not found");
            }

            var sessionIdFromInitiator = initiator.GetSessionShortname(); // careful

            var testRequest = new QuickFix.FIX42.TestRequest();

            // testRequest.SetField(new QuickFix.Fields.Text(msg));
            testRequest.SetField(new QuickFix.Fields.TestReqID(msg));
            var sessionId = new QuickFix.SessionID("FIX.4.2", "MJV_CLIENT1", "SIMPLE"); // todo: grab from different session tracking resource // from initiator probably.

            // about to Send A Message!
            QuickFix.Session.SendToTarget(testRequest, sessionId);

            return($"Partial sent message: {testRequest.ToString()}");
        }
예제 #2
0
        /// <summary>
        /// Creates a FIX4.2 TestRequest Message
        /// </summary>
        /// <param name="testId"></param>
        /// <returns></returns>
        public QuickFix.FIX42.TestRequest TestRequest(string testId)
        {
            QuickFix.FIX42.TestRequest testRequest = new QuickFix.FIX42.TestRequest();

            QuickFix.Fields.TestReqID testReqId = new QuickFix.Fields.TestReqID(testId);
            testRequest.SetField(testReqId);

            return(testRequest);
        }