The exchange can send the Business Message Reject message to reject an application-level message which fulfills session-level rules but fails the business rules.
This message is reported via the OnixS::CME::iLink3::SessionListener::onBusinessReject method.
- When the sequence number of the rejected message is absent in the received "Business Message Reject" message, this indicates the exchange did not increment the message sequence number of the rejected application-level message and:
- The client system should not increment the message sequence number of the next business message to be sent
- If the client system increments the message sequence number of the next application-level message to be sent, a NotApplied message will be sent to the customer to let them know that the sequence number has not been applied by the exchange.
std::clog << "\nReceived:\n" << reject << std::endl
std::clog << "The sequence number of the rejected message is " << rejectedMessageSequenceNumber << std::endl;
session->outSeqNum(session->outSeqNum() - 1);