Remote Audit
This service stores a message from a remote application in the message audit database table. For more information about the database table layout, see Message audit log. This service expects a datagram as input, and it does not send a response to the requesting client application. However, the service might send a report message under the conditions described in Process.
- The message to be recorded must be in the message body of the datagram.
- Associated information can be in the ComIbmDni folder, for example:
- Additional information about the message to be recorded, such as a message identifier.
- Context information about the message to be recorded, such as the name of the requesting client application and the timestamp when the message was requested to be recorded.
You can switch the recording of messages on or off for individual OUs during system configuration. How to do this is described in Configuring the recording of message audit data. If switched off, the Remote Audit service accepts the request but does not store the message. The client application might force a negative action notification (NAN) report to be sent if there is a failure and might check the Response folder for information about the failure.
Service interface queue name
instance.ou.DNI_R_AUDIT
Prerequisites
- The CO DniMsgAudit of the type DniMsgAudit, which specifies the schema name of the message audit database table
- The CO DniOptionsRmtMsgAudit of the type DniOptionsMsgAudit, which controls the message audit function
Process
- Determines the name of the target database.
- Enriches the request with configuration data.
- Based on this configuration data, determines the schema name and table name that is to be used when writing the message into the message audit database. The table name is usually of the form DNI_A_MSG_ou.
- Checks whether the recording of messages for auditing purposes
is enabled or disabled for the OU specified in the service request.
Message auditing is only disabled for an OU if both of the following
conditions are true:
- A CO of type DniOptionsRmtMsgAudit exists for this OU.
- The value No is assigned to the DniFlagMsgAudit attribute of the CO of type DniOptionsRmtMsgAudit for this OU.
- Checks whether the datagram contains all mandatory elements.
- Stores the data provided by the datagram, including the message body, in the message audit database table.
Error conditions
- If the requestor can recover the error, the following can occur:
- If the Report field in the MQMD is set to MQRO_NAN, the service sends a report message to the client application. This report message is sent to the queue that is specified by the ReplyToQ and ReplyToQMgr fields in the MQMD. The client application can then check the Remote Audit Store response (the ComIbmDni.Function.DniAuditMessage.Store.Response folder) for error information. If possible, it can repair the request, for example, by providing a missing mandatory field, and resend it to the input queue.
- The IBM® Integration Bus transaction is committed.
Note: Recoverable errors can be, for example, missing elements or invalid data in the audit request. The requestor can repair such errors by correcting the request and reputting it to the queue. - If the error is not recoverable by the requestor, the following
can occur:
- The IBM Integration Bus transaction is rolled back.
- The Remote Audit service retries to process the request. If the error persists, the service puts the request into the backout queue prefix.DNI_R_AUDIT.BACKOUT.
- The next request is processed.
Note: Errors that cannot be recovered by the requestor can be, for example, IBM Integration Bus errors or database errors. Only the service provider can repair these errors. After the error is repaired, the service provider can reinitiate processing of the request by moving the message from the backout queue to the input queue of the service.