Timeout Settings Computed Dynamically with an XPath Expression bpelx:timeout Fault Thrown During an Activity Timeout

Using Events and Timeouts in BPEL Processes 14-11 Figure 14–6 Timeout Tab

6. Specify appropriate values, and click Apply. For example:

■ To specify a timeout setting relative from when the activity is invoked, click the For button and enter a value or click the Expression button and specify an XPath expression. ■ To specify a timeout setting as an absolute deadline for a request-response operation, click the Until button and enter a value or click the Expression button and specify an XPath expression.

7. Click Apply, then OK.

14.3.8 What Happens When You Set Timeouts for Request-Response Operations in Receive Activities

The code segment in the .bpel file defines the specific operation after design completion. For example, if you specified that the activity expects an inbound message to arrive no later than five minutes after the activity has started execution, the syntax displays as shown in Example 14–5 . Example 14–5 Static Duration bpelx:for=PT5M For example, if you specified that the activity expects an inbound message to arrive no later than January 24, 2010 11:00 AM UTC+1 after the activity has started execution, the syntax displays as shown in Example 14–6 . Example 14–6 datetime Value bpelx:until=2010-01-24T11:00:00-08:00 14-12 Oracle Fusion Middleware Developers Guide for Oracle SOA Suite For example, if you specified an XPath expression to obtain a value for a timeout relative from when the activity is invoked, syntax similar to that shown in Example 14–7 can display. Example 14–7 XPath Expression bpelx:for=bpws:getVariableDatainputVariable,payload,tns:waitValuetns:for

14.4 Creating a Wait Activity to Set an Expiration Time

The wait activity allows a process to wait for a given time period or until a time limit has been reached. Exactly one of the expiration criteria must be specified. A typical use of this activity is to invoke an operation at a certain time. You typically enter an expression that is dependent on the state of a process. When specifying a time period for waiting, note the following: ■ Wait times cannot be guaranteed if they are scheduled with other events that require processing. Due to this additional processing, the actual wait time can be greater than the wait time specified in the BPEL process. ■ Wait times of less than two seconds are ignored by the server. Wait times above two seconds, but less than one minute, may not get executed in the exact, specified time. However, wait times in minutes do execute in the specified time. ■ The default value of 2 seconds for wait times is specified with the MinBPELWait property in the System MBean Browser of Oracle Enterprise Manager Fusion Middleware Control. You can set this property to any value and the wait delay is bypassed for any waits less than MinBPELWait.

14.4.1 How To Specify the Minimum Wait Time

You can specify the minimum time duration for a BPEL process to perform a wait that involves a dehydration. If the wait duration is less than or equal to the value, BPEL continues executing activities in the same thread and transaction.

1. From the SOA Infrastructure menu, select SOA Administration BPEL

Properties .

2. At the bottom of the BPEL Service Engine Properties page, click More BPEL

Configuration Properties .

3. Click MinBPELWait.

4. In the Value field, specify a value in seconds.

5. Click Apply.

6. Click Return.

14.4.2 How to Create a Wait Activity

To create a wait activity: 1. In the Component Palette, expand BPEL Constructs. Note: Quartz version 1.6 is supported for scheduling expiration events on wait activities.