Asynchronous Messages
The Adapter Framework provides a transactional concept that provides a secure solution for the quality of service Exactly Once for the message flow from the sender and a near secure solution for the message flow to the receiver. The concept uses distributed transactions (XAResources).
An asynchronous message always has the quality of service Exactly Once or Exactly Once In Order. For more information, see Parts of an XI Message.
With regard to asynchronous messages, an adapter
● Must not send response messages in the receiver/outbound direction
● Does not expect response messages in the sender/inbound direction
The following prerequisite exists for the receiver/outbound direction:
● The adapter must make known the types of acknowledgment messages that it does not support.
● The adapter must ensure that the supported acknowledgment messages are returned asynchronously or synchronously to the Integration Server.

At the moment, acknowledgment messages are not supported for the sender/inbound direction. For later changes, see SAP Note 766332.
To implement an Exactly Oncedelivery, the adapter uses the following services:
This service enables you to map an external message ID to an XI message ID. The mapping is saved in the database and can be executed in the same logical unit of work (LUW) as the Adapter Framework messaging service. See also: Generating, Persisting, and Mapping a Message ID

The Adapter Framework expects the adapter to provide an external message ID. You can use either the message ID of the external protocol or generate message IDs using algorithms (for example, hash).

An example of an ID of an external protocol is the JMS message ID.
It is generated from the following elements: file name, file directory, and time of change.
The SAP J2EE server provides the functions of the javax.transaction package. You use the TransactionManager to control LUWs.

For more information, see java.sun.com/j2ee/transactions.
Message processing involves various steps in the sender and receiver direction:
● Transactions in the asynchronous sender/inbound message flow
● Transactions in the asynchronous receiver/outbound message flow
For more information about acknowledgments, see Creating Acknowledgment Messages.