IBM BPM, V8.0.1, All platforms > Troubleshooting and support > Tools for troubleshooting your applications > Work with failed events

Manage failed SCA events

When problems processing a Service Component Architecture (SCA) request or response message create a failed SCA event in the Recovery subsystem, decide how to manage that event. Use the information in this topic to help you identify and fix the error and clear the event from the Recovery subsystem.

A Service Component Architecture event is a request or response that is received by a service application. It might come from an external source, such as an inbound application adapter, or an external invocation to a web service. The event consists of a reference to the business logic that it wants to operate and its data, which is stored in a Service Data Object. When an event is received, it is processed by the appropriate application business logic.

A single thread of execution might branch off into multiple branches. The individual branches are linked to the main invoking event by the same session.If the business logic in a branch cannot run due to system failure, component failure, or component unavailability, a failed event is created. If multiple branches fail, a failed event is created for each branch. The Recovery service handles the following types of failed SCA events:

The Recovery service does not handle failures from synchronous invocations.

The Recovery service sends failed SCA asynchronous interactions to failed event destinations that have been created on the SCA system bus (SCA.SYSTEM. cell_name.Bus). The data for failed events is stored in the failed event database (by default, WPCRSDB). You can find the data in the failed event manager.

Failed SCA events typically have source and destination information associated with them. The source and destination are based on the failure point (the location where the invocation fails), regardless of the type of interaction. Consider the following example, where Component A is asynchronously invoking Component B. The request message is sent from A to B, and the response callback message is sent from B to A.

This pattern is true for all asynchronous invocations.

Because runtime exceptions are not declared as part of the interface, component developers should attempt to resolve the exception and thus prevent a runtime exception from inadvertently being propagated to the client if the client is a user interface.

To manage a failed SCA event...


Procedure

  1. Use the failed event manager to locate information about the failed SCA event, taking note of the exception type.
  2. Locate the exception type in Table 1 to determine the location and possible causes of the error, as well as suggested actions for managing the failed event.

    Failed SCA events
    Exception type Possible cause of error Suggested action
    ServiceBusinessException A business exception occurred during the execution of a business operation. Look at the exception text to determine the exact cause, and then take appropriate action.
    ServiceExpirationRuntimeException A SCA asynchronous message has expired. Set the expiration time using the RequestExpiration qualifier on the service reference.

    Investigate why the service is not responding fast enough.

    ServiceRuntimeException A runtime exception occurred during the invocation or execution of a service. Look at the exception text to determine the exact cause, and then take appropriate action.
    ServiceTimeoutRuntimeException Response to an asynchronous request was not received within the configured period of time. Set the expiration time using the RequestExpiration qualifier on the service reference.

    Investigate why the service is not responding fast enough.

    ServiceUnavailableException This exception is used to indicate that there was an exception thrown while invoking an external service via an import. Look at the exception text to determine the exact cause, and then take appropriate action.
    ServiceUnwiredReferenceRuntimeException A SCA reference used to invoke a service is not wired correctly. Look at the exception text to determine the exact cause, and then take appropriate action to correctly wire the SCA reference.

Work with failed events in IBM BPM