IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Services and service-related functions > Access external services with adapters > Configure and using adapters > IBM WebSphere Adapters > Adapter Toolkit > Implementing code from the IBM WebSphere Adapter Toolkit > Problem determination
Fault handling support
Through enhancements to the Service Component Architecture (SCA) and the Adapter Foundation Classes (AFC), the WebSphere Adapter Toolkit provides fault handling support. Fault handling allows the developer to differentiate information technology (IT) exceptions from business processing exceptions during outbound processing.
A fault is an exception condition that alters the normal flow of a business process. Typically, a fault represents a predictable error that has a well-defined action. Presenting errors as faults instead of exceptions makes it easier for you to configure recovery processing, because fault handling does not require you to write Java™ code to catch and handle an exception. Adapters created with the WebSphere Adapter Toolkit generate several faults.
Fault handling support adheres to the DataBinding model, in that when an exception is thrown by an adapter, a fault selector determines that it is a fault and the fault (data) binding converts the exception to a fault business object and returns it to the server run time.
- Fault artifacts
To facilitate fault handling support, WebSphere Adapter Toolkit provides artifacts that include fault classes, fault business objects, a fault selector, and a fault binding class.- How to support fault handling
Understand the following concepts for implementing fault handling into your adapter.- Implementing faults
As part of the external service discovery process, you generate fault business objects and create the method that copies them to your outbound module.- Configuration for fault handling
Adapter Foundation Classes fault names and the corresponding fault binding names are used in the fault configuration.- Defining custom faults
You can define custom faults for fault handling.