ActiveVOS Server Console Help

Process Exception Management

A process can receive an unplanned-for fault during its execution. In such an event, the process may not have the necessary fault handling logic, and the result is process termination. A more desirable result is to suspend the process, retry, step over, or make corrections and then complete the process normally.

You can configure the ActiveVOS server to suspend processes on uncaught faults. You can then use the following process exception management techniques available in the ActiveVOS Console:

Suspending a Process on an Uncaught Fault

You can configure the engine to suspend processes on uncaught faults so that you can inspect a problem, make corrections, if desired, and continue the process. For details, see Server Properties. In addition, on a process-by-process basis, you can override the engine-wide setting with a setting in the PDD file. The global setting may not be desirable for all process types. For example, a “straight-through” process, which has someone waiting for a response, may not be a desirable candidate to suspend due to timeout values set on the server.

Finding and Correcting Faults on a Faulting Activity

Use the Selection Filters on the Active Processes page to view a list of faulting processes.

Select a process from the list and then from the Active Process Details page, you can do any of the following to correct a problem:

Selecting a Faulting Process

  1. From the Active Processes page, select a process with a Suspended-Faulting state. Use the Selection Filters to quickly locate the process you are looking for.
  2. Select the Process Id to display the Active Process Details page.

Updating the Value of a Variable on a Faulting Activity

A variable may cause an uncaught fault if it is invalid with regard to an activity’s operation.

  1. From the Outline view of the Active Process Details page, select a variable. The current value of the variable is shown in the Variable Data Instance box.
  2. Select Edit at the bottom of the Variable Data Instance box.
  3. In the Update Variable Data dialog, make the modifications necessary. Possible modifications include:
  4. The following example shows where you can make edits.

    Update variable data box

  5. Select Update.

Updating Partner Link Data on a Faulting Activity

A partner link endpoint reference may cause an uncaught fault for a variety of reasons:

If an endpoint is not available or the address is incorrect or incomplete, you can supply new <wsa:Address> information for a faulting partner link, as follows.

  1. From the Outline view of the Active Process Details page, select a partner link. The current value of the endpoint reference is shown in the Partner Role Data box.
  2. Select Edit at the bottom of the box.
  3. In the Update Partner Role Data dialog, make the modifications necessary. The following illustration shows the text box where you can make edits.
  4. Select Update.

Updating Correlation Data on a Faulting Activity

A correlation set is a set of properties shared by messages. The purpose of the correlation set is to act as a conversation identifier: it keeps together all messages intended for the same process instance. If an activity is faulting due to bad message data, you may need to correct the correlation property data as well as the message variable data.

Correcting correlation data requires a comprehensive understanding of the message properties defined in the process’s WSDL file and the expected value in the property alias associated with the input/output variables of receive, onMessage, invoke, and reply activities. Also, be aware that a correlation set can be declared at the process level or at a scope level. For details on defining and using correlation sets, see the ActiveVOS Designer Online Help.

  1. From the Outline view of the Active Process Details page, select a correlation set. The current value of the correlation property is shown in the Correlation Set Property box, as shown.
  2. Correlation set property box

  3. Select Edit at the bottom of the box.
  4. In the Update Correlation Set Data dialog, make the modifications necessary. The following illustration shows the text box where you can make edits.
  5. Edit correlation set data

  6. Select Update.

Using the Step, Retry and Complete Actions

After correcting the variables, correlation properties, or partner links causing an uncaught fault (if desired), you can retry or complete (step over) the faulting activity or an enclosing scope.

On the Active Process Details page, select the faulting activity or scope from the Outline view or Graph view. The activity shows a Faulting state and includes an Action bar, as the following illustration shows.

Step, Retry and Complete actions annotated

Actions include the following.

1

Step

Steps the current activity. After stepping an activity, the next activity (if any) becomes ready for execution, and you can continue to step through the process or use the process level Resume button to continue. This button is disabled for a faulting activity since you can accomplish the same result simply by resuming the process from the Outline view menu bar.

2

Retry

Retries the faulting activity or scope. If you corrected the cause of an uncaught fault, the next activity will become ready to execute and you can either resume the process or continue to step through the process one activity at a time. If you retry an executing scope, then the scope will first terminate any of its enclosed activities that are still running and also issue a compensate call to any eligible enclosed scopes prior to retrying.

3

Complete

Marks the activity or scope as completed normally. The next activity will become ready to execute, and you can either resume the process or continue to step through the process one activity at a time. Keep in mind that you may have to take some additional steps to fix a process if you use the Complete button. Since the activity that you are marking as complete does not execute, there may be variables or correlation sets that are not properly initialized as a result of completing the activity.

Setting Up Alerts for Faulting Processes

When unexpected faults occur, you can manually check for the occurrence of suspended processes through the Active Process Page. Alternately, you may want to have the system notify you if there was a problem with one of your processes. To do so, you can designate a service to be notified of these faults. The service can then take steps to dispatch notifications of the problem (e.g., to an enterprise management system or pager) or in systemic cases automate recovery of the process.

ActiveVOS server allows you to designate a process as an alerting service. The service, which you can create in ActiveVOS Designer, is based on a WSDL file that defines the schema, messages, port types, operations, and partner link types available for building an alerting system. Once the process is deployed, you can go to the Alerts tab of the Configuration page to set up the service to handle alerts.

For more information, see:

Process Exception Management and Endpoint Policies

ActiveVOS server uses endpoint policies governed by the WS-Policy specification. A policy can describe when to avoid invoking a service, based on system downtime and how many times to retry a service that does not reply. The endpoint policy information is added to the PDD file of a process.

For more information, see BPEL Processes as Engine Services in the ActiveVOS Server User’s Guide.