The Business Message Reject (j) message can reject an application-level message which fulfills session-level rules and cannot be rejected via any other means. Note if the message fails a session-level rule (e.g. body length is incorrect), a session-level Reject message should be issued.
See the session-level Reject message
Scenarios for Business Message Reject:
BusinessRejectReason
0 = Other
1 = Unkown ID
2 = Unknown Security
3 = Unsupported Message Type (receive a valid, but unsupported MsgType)
4 = Application not available
5 = Conditionally Required Field Missing
Whenever possible, it is strongly recommended that the cause of the failure be described in the Text (58) field (e.g. UNKNOWN SYBMOL: XYZ).
The business message reject format is as follows:
Business Message Reject
| Tag | Field Name | Req'd | Comments | ||
|---|---|---|---|---|---|
| <Standard Message Header> | Y | MsgType = j |
|||
| 45 | RefSeqNum | N | MsgSeqNum of rejected message |
||
| 372 | RefMsgType | Y | The MsgType (35) of the FIX message being referenced. |
||
| 379 | BusinessRejectRefID | N | The value of the business-level ID field on the message being referenced. Required unless the corresponding ID field (see
list above) was not specified. |
||
| 380 | BusinessRejectReason | Y | Code to identify reason for a Business Message Reject (j) message. |
||
| 58 | Text | N | Where possible, message to explain reason for rejection |
||
| 354 | EncodedTextLen | N | Must be set if EncodedText (355) field is specified and must immediately precede it. |
||
| 355 | EncodedText | N | Encoded (non-ASCII characters) representation of the Text (58) field in the encoded format specified via the MessageEncoding (347) field. |
||
| <Standard Message Trailer> | Y | ||||