The DniSampleProlog subflow

If an exception occurs after the TryCatch node, an error reply message is created and sent to the reply queue. An event is also created from the exception by a DniExceptionToEvent node and is stored in the event database table.

If an error in the catch path occurs, the message is sent to the MQInput node of the service. The message is then sent to the Sample service backout queue <prefix>.DNI_SAMPLE.BACKOUT.

Figure 1. The DniSampleProlog subflow
This figure shows the DniSampleProlog subflow
This flow is made up of the following nodes whereby the nodes are listed in the form Node Type: Node Name.
  • InputTerminal: in
  • DniConfigProvider: DniSample

    This node inserts all necessary configuration data for the message in the Properties folder.

  • DniConfigProvider: SetCommonData

    If an error occurs, this node fills the Common folder for later error handling.

  • MQOutput: StoreEvent

    This node puts all inbound messages in the remote event input queue flow. This node is set out of the global transaction to ensure that the message persists in the queue if there is a rollback in the message flow.

  • DniExceptionToEvent: GenerateEvent

    This generates an event request out of the inbound exception.

  • TryCatch: TryCatch

    This leads to the error handling message flow path in the Sample message flow.

  • FlowOrder: FlowOrder1

    This propagates the message containing the exception first to the StoreEvent node and reply message generation, and then to a Throw node that initializes rollback of the database entries, for example, in the message audit log.

  • Throw: Throw

    This initializes rollback of the database operations during the Sample message flow error handling.

  • FlowOrder: FlowOrder2

    This propagates the message containing the exception first to the StoreEvent node and then to the sample reply message generation.

  • Compute: CreateFailureReply

    This node creates a sample response, which is stored in the body.

  • DniMessageAudit: AuditIncomingMessage

    This node records the inbound message in the message audit database.

  • Filter: CheckAccessControlFlag

    This node checks if an access control check needs to be done.

  • Compute: CreateAccessControlRequest

    This node inserts an access control request into the message.

  • DniAccessControl: CheckAccessControl

    This node performs an access control check.

  • Compute: CreateEventRequest

    This node creates an Event Store request that provides an event indicating that access was denied. This event is to be stored in the event database.

  • OutputTerminal: failure
  • OutputTerminal: out