Reporting and Handling Errors
The options for error handling depend on the type of communication chosen:
· Asynchronous Communication: On the outbound side, the application can handle errors that occur when the message is being sent (for example, if the outbound queue is full). These errors can be caught and persisted using the exception class SystemFaultException. Senders of asynchronous messages can also request acknowledgement messages (see also: Acknowledgments).
· Synchronous Communication: Using fault messages, you can handle errors that occur on the inbound side. To confirm an error, the proxy runtime sends a message from the receiver back to the sender, which can then respond to the message.
In the following graphic, synchronous communication is used to report an error from the receiver system to the sender system.

...
1. If an application on the receiver side triggers an error, the proxy runtime converts the corresponding exception class to a fault message and transfers it to the sender system using the Integration Server.
2. The proxy runtime in the sender system interprets the fault message and triggers the exception for the outbound message interface.
3. In the sender system, the application can catch and handle the exception using a try/catch block. Using the super exception class ApplicationFaultException, you can catch all remaining application errors.