XML Message Delivery Callback allows messaging systems (such as Oracle Transport Agent) to report message delivery status back to the Workflow process that initiated message creation. If delivery fails, a Workflow notification is sent to the System Administrator who has the option to retry/resend or abort/ignore the process.
Prior to the introduction of this feature, the common Workflow process to send an outbound document to a Trading Partner was the Send Document function activity as follows:

The Send Document function activity consists of message creation and message enqueue onto the ECX_OUTBOUND queue. If XML message delivery fails, the entire Workflow is re-executed causing the message creation step to be performed again unnecessarily.
With message delivery callback, the message creation is separated from the message enqueue, so that only the message enqueue is re-executed if the message delivery fails. The new model consists of the Generate Trading Partner XML Document function activity and the Workflow Send as follows:

The Generate Trading Partner XML Document function activity is responsible for gathering the message data. The Workflow Send event activity is responsible for enqueuing the message onto the ECX_OUTBOUND queue.
The Oracle E-Business Suite application module delivers a Workflow with the event subscription in support of outbound documents that follows this model. Both models are valid. As with any seeded event subscription, you have the option to disable it. For information on how to disable a seeded event subscription, see: Manage Workflow Processes.
There are four ways that XML Message Delivery Callback can be used. They are summarized as follows:
Block Mode is an attribute of the Workflow Send event activity. A Block Mode value of "Y" implies that your Workflow process will await the message delivery status before proceeding to the next activity in the Workflow process. If delivery fails, the Workflow Default Error Process is executed to send a notification to the System Administrator. The System Administrator has the option to "Retry" the process assuming the error was corrected, or "Ignore" the process if the error cannot be corrected.
User Event Defined
The XML message generated by the XML Gateway is enqueued onto the ECX_OUTBOUND queue. The messaging system (such as OTA or webMethods) dequeues the message from the ECX_OUTBOUND queue and attempts to deliver the message to the Trading Partner. Any user-defined events (defined in the Workflow Send event) will be raised and corresponding event subscriptions will be executed.
The message delivery status is returned regardless of success or failure. If the delivery fails, the Workflow Default Error Process is executed, allowing the System Administrator to retry or abort the process.
No User Event Defined
The XML message generated by the XML Gateway is enqueued onto the ECX_OUTBOUND queue. The messaging system (such as OTA or webMethods) dequeues the message from the ECX_OUTBOUND queue and attempts to deliver the message to the Trading Partner. The delivery status is returned regardless of success or failure. If the delivery fails, the Workflow Default Error Process is executed, allowing the System Administrator to retry or abort the process.
A Block Mode value of "N" implies that your Workflow process will proceed to the next activity on the Workflow process without waiting for the message delivery status. If delivery fails, the FYI_MESSAGE_DELIVERY_ERROR process is executed to send a notification to the System Administrator.
The System Administrator has the option to "Resend" the message assuming the error was corrected or "Ignore" the notification if no action is required.
The (FYI) Message Delivery Error is a seeded process that is part of the XML Gateway Error Processing Item Type.
User Event Defined
The XML message generated by the XML Gateway is enqueued onto the ECX_OUTBOUND queue. The messaging system (such as OTA or webMethods) dequeues the message from the ECX_OUTBOUND queue and attempts to deliver the message to the Trading Partner. Any user-defined events (defined in the Workflow Send event) will be raised and corresponding event subscriptions will be executed.
If the delivery fails, the apps.ecx.processing.message.callback event is raised. The corresponding event subscription for the FYI_MESSAGE_DELIVERY_ERROR process is executed allowing the System Administrator to resend or ignore the message notification.
No User Event Defined
The XML message generated by the XML Gateway is enqueued onto the ECX_OUTBOUND queue. The messaging system (such as OTA or webMethods) dequeues the message from the ECX_OUTBOUND queue and attempts to deliver the message to the Trading Partner.
If the delivery fails, the apps.ecx.processing.message.callback event is raised. The corresponding event subscription for the FYI_MESSAGE_DELIVERY_ERROR process is executed allowing the System Administrator to resend or ignore the message notification.
For more details, see XML Gateway Error Processing Item Type.
Other messaging systems such as webMethods and iAS can use the XML Message Delivery Callback feature by calling the ECX_ERRORLOG.external_system API. The API is used by all messaging systems (both Oracle and non-Oracle) to report message delivery status. The status information is written to the XML Gateway log tables to track and report message delivery data.
For details on the API see: ECX_ERRORLOG.external_system.