{"_id":"56b3773f78a1212100900705","category":{"_id":"56b2615b147e900d00d64995","pages":["56b36e000551d31900cec0ab","56b36e0cb008aa1900ab16f1","56b36e1670b0d22100be6512","56b3773f78a1212100900705","56b3778940438c1900004796","56b377b053da320d00c29742","56b377c5023ef30d009b2b82","56b3788453da320d00c29744"],"project":"569407ac73f48f0d0075c9c9","__v":8,"version":"569407ad73f48f0d0075c9cc","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-02-03T20:21:47.739Z","from_sync":false,"order":9999,"slug":"sessions","title":"Sessions"},"githubsync":"","project":"569407ac73f48f0d0075c9c9","__v":6,"user":"563cc6fa8894d20d00014ea3","version":{"_id":"569407ad73f48f0d0075c9cc","project":"569407ac73f48f0d0075c9c9","__v":4,"createdAt":"2016-01-11T19:51:09.439Z","releaseDate":"2016-01-11T19:51:09.439Z","categories":["569407ae73f48f0d0075c9cd","56b25e4794ab060d00067421","56b2615b147e900d00d64995","56b3788d78a1212100900709"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-02-04T16:07:27.896Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":2,"body":"[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"8=FIX.4.2\\n9=66\\n34=5025\\n35=1\\n49=TEST1\\n52=20160131-16:10:10.614\\n56=DWFIX01\\n112=TEST\\n10=096\",\n      \"language\": \"text\",\n      \"name\": \"Test Request\"\n    }\n  ],\n  \"sidebar\": true\n}\n[/block]\n\n[block:textarea]\n{\n  \"text\": \"\",\n  \"sidebar\": true\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"8=FIX.4.2\\n9=52\\n34=17\\n35=0\\n49=DWFIX01\\n52=20160201-19:35:42\\n56=TEST1\\n112=TEST\\n10=146\",\n      \"language\": \"text\",\n      \"name\": \"Test Response (Heartbeat)\"\n    }\n  ]\n}\n[/block]\nThe `Test Request <1>` message forces a heartbeat from the opposing application. The `Test Request <1>` message checks sequence numbers or verifies communication line status. The opposite application responds to the `Test Request <1>` with a `Heartbeat <0>` containing the `TestReqID <112>`.\n\nThe `TestReqID <112>` verifies that the opposite application is generating the heartbeat as the result of `Test Request <1>` and not a normal timeout. The opposite application includes the `TestReqID <112>` in the resulting `Heartbeat <0>`. Any string can be used as the `TestReqID <112>` (one suggestion is to use a timestamp string).\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Tag\",\n    \"h-1\": \"Tag Description\",\n    \"h-2\": \"Value\",\n    \"h-3\": \"Value Description\",\n    \"0-0\": \"`8`\",\n    \"0-1\": \"BeginString\",\n    \"0-2\": \"`FIX.4.2`\",\n    \"0-3\": \"FIX Version\",\n    \"h-4\": \"Required\",\n    \"3-0\": \"`35`\",\n    \"3-1\": \"MsgType\",\n    \"3-2\": \"`1`\",\n    \"3-3\": \"Test Request Message\",\n    \"0-4\": \"**Yes**\",\n    \"1-0\": \"`9`\",\n    \"1-1\": \"BodyLength\",\n    \"1-2\": \"`66`\",\n    \"1-3\": \"Length of message\",\n    \"1-4\": \"**Yes**\",\n    \"3-4\": \"**Yes**\",\n    \"8-0\": \"`10`\",\n    \"8-1\": \"CheckSum\",\n    \"8-2\": \"`{Checksum}`\",\n    \"8-3\": \"Checksum of message\",\n    \"8-4\": \"**Yes**\",\n    \"4-0\": \"`49`\",\n    \"4-1\": \"SenderCompID\",\n    \"4-2\": \"`TEST1`\",\n    \"4-3\": \"Sender ID\",\n    \"4-4\": \"**Yes**\",\n    \"6-0\": \"`56`\",\n    \"6-1\": \"TargetCompID\",\n    \"6-2\": \"`DWFIX01`\",\n    \"6-3\": \"Target ID\",\n    \"5-0\": \"`52`\",\n    \"5-1\": \"SendingTime\",\n    \"5-2\": \"`20160131-16:10:10.614`\",\n    \"5-3\": \"Sending timestamp\",\n    \"5-4\": \"**Yes**\",\n    \"6-4\": \"**Yes**\",\n    \"2-0\": \"`34`\",\n    \"2-1\": \"MsgSeqNum\",\n    \"2-2\": \"`5025`\",\n    \"2-3\": \"Message sequence number\",\n    \"2-4\": \"**Yes**\",\n    \"7-0\": \"`112`\",\n    \"7-2\": \"`TEST`\",\n    \"7-1\": \"TestReqID\",\n    \"7-3\": \"Identifier included this message to be returned in resulting Heartbeat <0>\"\n  },\n  \"cols\": 5,\n  \"rows\": 9\n}\n[/block]","excerpt":"","slug":"test-request-message","type":"basic","title":"Test Request"}
[block:code] { "codes": [ { "code": "8=FIX.4.2\n9=66\n34=5025\n35=1\n49=TEST1\n52=20160131-16:10:10.614\n56=DWFIX01\n112=TEST\n10=096", "language": "text", "name": "Test Request" } ], "sidebar": true } [/block] [block:textarea] { "text": "", "sidebar": true } [/block] [block:code] { "codes": [ { "code": "8=FIX.4.2\n9=52\n34=17\n35=0\n49=DWFIX01\n52=20160201-19:35:42\n56=TEST1\n112=TEST\n10=146", "language": "text", "name": "Test Response (Heartbeat)" } ] } [/block] The `Test Request <1>` message forces a heartbeat from the opposing application. The `Test Request <1>` message checks sequence numbers or verifies communication line status. The opposite application responds to the `Test Request <1>` with a `Heartbeat <0>` containing the `TestReqID <112>`. The `TestReqID <112>` verifies that the opposite application is generating the heartbeat as the result of `Test Request <1>` and not a normal timeout. The opposite application includes the `TestReqID <112>` in the resulting `Heartbeat <0>`. Any string can be used as the `TestReqID <112>` (one suggestion is to use a timestamp string). [block:parameters] { "data": { "h-0": "Tag", "h-1": "Tag Description", "h-2": "Value", "h-3": "Value Description", "0-0": "`8`", "0-1": "BeginString", "0-2": "`FIX.4.2`", "0-3": "FIX Version", "h-4": "Required", "3-0": "`35`", "3-1": "MsgType", "3-2": "`1`", "3-3": "Test Request Message", "0-4": "**Yes**", "1-0": "`9`", "1-1": "BodyLength", "1-2": "`66`", "1-3": "Length of message", "1-4": "**Yes**", "3-4": "**Yes**", "8-0": "`10`", "8-1": "CheckSum", "8-2": "`{Checksum}`", "8-3": "Checksum of message", "8-4": "**Yes**", "4-0": "`49`", "4-1": "SenderCompID", "4-2": "`TEST1`", "4-3": "Sender ID", "4-4": "**Yes**", "6-0": "`56`", "6-1": "TargetCompID", "6-2": "`DWFIX01`", "6-3": "Target ID", "5-0": "`52`", "5-1": "SendingTime", "5-2": "`20160131-16:10:10.614`", "5-3": "Sending timestamp", "5-4": "**Yes**", "6-4": "**Yes**", "2-0": "`34`", "2-1": "MsgSeqNum", "2-2": "`5025`", "2-3": "Message sequence number", "2-4": "**Yes**", "7-0": "`112`", "7-2": "`TEST`", "7-1": "TestReqID", "7-3": "Identifier included this message to be returned in resulting Heartbeat <0>" }, "cols": 5, "rows": 9 } [/block]