Selecting Simulation Paths and Properties
Add an endpoint reference address to simulate with.
You can modify certain BPEL elements to cause different simulation events to occur.
For example, you can change a data value in a receive message variable to cause a link transition to be true or false. You can also change sample data values for output and fault messages.
Similarly, you can update the value of correlation properties, if needed, and also update the address information for a partner link.
The following table lists the simulation property for each BPEL element that you can modify.
Activity | Simulation Property | Description |
---|
Receive | Input Message Input attachments | Set the instance data for the simulated message to receive |
Pick | Execute | Select the onMessage or onAlarm branch to execute for simulation. You must select an option before you simulate a Pick. |
onMessage branch of pick or onEvent Event Handler | Input Message | Set the instance data for the simulated message to receive |
Invoke | Output Message Output attachments | Set the instance data for the simulated message to return |
| Result | Set the result of the output message to Normal or Fault |
| Fault Name | When the Result is set to Fault, you can select a Fault Name from the list. Fault names are defined in the associated WSDL file. |
| Fault Message Fault Attachments | Set the instance data for the simulated Fault message. |
| Subprocess | |
Wait | Wait in Seconds | Actual wait time in seconds for simulation. The activity wait time can be longer than you want to wait during simulation. This is a way to shorten that time. |
Partner Link | My Role and Partner Role | Endpoint reference address that is used in a dynamic assignment within a Copy operation |
The following table lists the execution property for each BPEL element that you can modify. Note that the Execution properties are only available during simulation or remote debugging and do not normally appear in the Properties view.
Element | Execution Property | Description |
---|
Correlation Set | Correlation Set Data | Update the current value of the correlation property |
Partner link | Address | Add or update address information for the partner link |
For details on scenarios using correlation sets, see
Process Exception Management.
Selecting an Invoke Subprocess for Simulation
Select a different process to synchronize with the process deployed to the server. If this invoke activity is defined with a BPEL process, you can step into it during simulation.
A subprocess is a BPEL process that is invoked by another BPEL process. You can create one BPEL process, deploy it, and then use the resulting service's operation to create an invoke activity.
During simulation, you can use the invoke activity's simulation property, subprocess, to select a BPEL process. By making this selection, you can step into the subprocess and simulate it when you step to the invoke activity. For details on creating a subprocess, see Creating a BPEL Process as a Service for Another BPEL Process.
To select an invoke subprocess for simulation:
- 1. Select an invoke activity that calls a BPEL process.
- 2. In the Properties view, select All.
- 3. In the Simulation category, select Subprocess.
- 4. At the end of the row, click the Dialog button to open the Process Selection dialog.
- 5. Select a process from the workspace.
If the sub-process has a process-level compensation handler, be sure to set a breakpoint on an activity in the compensation handler. If you do not have a breakpoint set on the compensation handler, simulation steps over it rather than into it.
Note that during simulation, depending on your process logic, you can go back and forth for execution steps between the main process and the subprocess. In the Debug view, select the execution thread that you wish to execute next.
Simulating Event Handlers
During simulation, there are different debug targets for the main process and for event handlers. You can step into an event handler at any point in the simulation of its scope, and then select the main target to continue simulating the scope in the main process.
The following illustration shows the simulation targets:
Simulating Fault Handlers
During simulation, you can execute a fault handler by setting a simulation property for the relevant invoke activity.
In the Properties view, set the Result property to Fault and then select the appropriate fault name and variable.