blob: 096dd42c7969b922c83eb436b4a7663bcd09858f [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory">JBoss
BPEL User Guide</title>
<link rel="stylesheet" href="css/jbossorg.css" type="text/css" />
<meta xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
name="generator" content="DocBook XSL Stylesheets V1.74.0" />
</head>
<body>
<div class="book" lang="en-US">
<div class="titlepage">
<div>
<p id="title">
<a href="http://www.jboss.org" class="site_href"><strong>JBoss.org</strong>
</a><a href="http://docs.jboss.org/" class="doc_href"><strong>Community
Documentation</strong>
</a>
</p>
<div>
<h1 class="title">
<a id="d0e1" />JBoss BPEL User Guide
</h1>
</div>
<div>
<h3 class="corpauthor">
<span class="inlinemediaobject"><img src="" />
</span>
</h3>
</div>
<div>
<div class="author">
<h3 class="author">
<span class="firstname">Denny</span> <span class="surname">Xu</span>
</h3>
<code class="email">
&lt;<a class="email" href="mailto:dxu@redhat.com">dxu@redhat.com</a>&gt;
</code>
</div>
</div>
<div>
<div class="author">
<h3 class="author">
<span class="firstname">Grid</span> <span class="surname">Qian</span>
</h3>
<code class="email">
&lt;<a class="email" href="mailto:fqian@redhat.com">fqian@redhat.com</a>&gt;
</code>
</div>
</div>
<div>
<div class="author">
<h3 class="author">
<span class="firstname">Bob</span> <span class="surname">Brodt</span>
</h3>
<code class="email">
&lt;<a class="email" href="mailto:bbrodt@redhat.com">bbrodt@redhat.com</a>&gt;
</code>
</div>
</div>
<div>
<p class="releaseinfo">Version: 1.0.0.trunk</p>
</div>
<div>
<p class="copyright">Copyright © 2009, 2010 JBoss by Red Hat</p>
</div>
</div>
<hr />
</div>
<div class="toc">
<dl>
<dt>
<span class="chapter"><a href="#overview">1. JBoss BPEL
project Overview</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e70">1.1. Key
Features of JBoss BPEL project</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="chapter"><a href="#tasks">2. Tasks</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#detail">2.1. Creating
and editing a BPEL project</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#createproject">2.1.1.
Creating a BPEL project</a>
</span>
</dt>
<dt>
<span class="section"><a href="#createprocess">2.1.2.
Creating a BPEL process</a>
</span>
</dt>
<dt>
<span class="section"><a href="#editprocess">2.1.3.
Editing a BPEL process file</a>
</span>
</dt>
<dt>
<span class="section"><a href="#wsdl">2.1.4. Adding
Service to WSDL file</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#deploy">2.2. Deploy a
JBoss BPEL project to JBoss BPEL Runtime</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#createdeploy">2.2.1.
Creating a deploy.xml file</a>
</span>
</dt>
<dt>
<span class="section"><a href="#createruntime">2.2.2.
Creating JBoss BPEL Server</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#d0e987">2.3. Creating
correlation sets</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="chapter"><a href="#reference">3. Reference</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e1089">3.1. Wizards</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e1092">3.1.1. New
BPEL project</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e1135">3.1.2. New
BPEL Process file</a>
</span>
</dt>
<dt>
<span class="section"><a
href="#Reference-Wizard-Deployment_Descriptor">3.1.3. New
BPEL Deployment Descriptor</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#d0e1360">3.2.
Perspectives</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e1363">3.2.1. BPEL
Perspective</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#Reference-Views">3.3.
Views</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e1390">3.3.1.
Outline</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e1412">3.3.2.
Palette</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e1471">3.3.3.
Dashboard</a>
</span>
</dt>
<dt>
<span class="section"><a
href="#Reference-Property_sections">3.3.4. Property
sections</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#d0e2434">3.4. Editors</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e2437">3.4.1. BPEL
Designer</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3246">3.4.2. BPEL
Deployment Descriptor editor</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#d0e3300">3.5.
Preference pages</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e3305">3.5.1.
Editor</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3316">3.5.2.
Expression editors</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3327">3.5.3. WSIL
browser</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#d0e3340">3.6. Dialogs</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e3343">3.6.1.
XPath expression editor (embedded control)</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3367">3.6.2.
Quick pick (embedded control)</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3378">3.6.3. Type
selection</a>
</span>
</dt>
<dt>
<span class="section"><a
href="#Reference-Dialog-WSDL_Selection">3.6.4. Select WSDL
property</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3483">3.6.5.
Create WSDL property</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3530">3.6.6.
Create WSDL property alias</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3560">3.6.7.
Cheat sheets</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#d0e3591">3.7. Icons,
buttons and menus</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e3596">3.7.1.
Context menu</a>
</span>
</dt>
</dl>
</dd>
</dl>
</dd>
<dt>
<span class="chapter"><a href="#troubleshooting">4.
Troubleshooting</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e3639">4.1. Error
messages</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e4336">4.2. Warning
messages</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e4388">4.3.
Information messages</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="chapter"><a href="#d0e4420">5. Summary</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e4426">5.1. Other
relevant resources on the topic</a>
</span>
</dt>
</dl>
</dd>
</dl>
</div>
<div class="chapter" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="overview" />Chapter 1. JBoss BPEL project Overview
</h2>
</div>
</div>
</div>
<div class="toc">
<dl>
<dt>
<span class="section"><a href="#d0e70">1.1. Key
Features of JBoss BPEL project</a>
</span>
</dt>
</dl>
</div>
<p>
JBoss BPEL is based on WS-BPEL 2.0, and provides a way to create,
edit, validate and deploy BPEL files to JBoss BPEL runtime. It is
based on Eclipse <a class="ulink"
href="http://www.eclipse.org/bpel/">BPEL project</a>.
</p>
<p>It improves the Eclipse BPEL project in the following ways:</p>
<div class="itemizedlist">
<ul>
<li><p>Implements close integration with JBoss BPEL
runtime, and adds a new project type for the deployment to the
JBoss BPEL runtime.</p>
</li>
<li><p>Supports two deployment methods. The first method
is to deploy a BPEL project directly to the JBoss BPEL runtime.
The second method is to deploy BPEL files in JBoss ESB project to
the JBoss BPEL runtime.</p>
</li>
<li><p>Enhances the BPEL validator and improves the
quality of the Eclipse BPEL editor.</p>
</li>
</ul>
</div>
<p>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html">WS-BPEL
2.0</a> stands for Web Service Business Process Execution Language.
Like EAI, BPEL is an XML-based language, but BPEL is more specific
and targeted. BPEL is used by developers to join sometimes disparate
functions into an integrated process, resulting in a seamless use of
the Internet to conduct business transactions ranging from simple
money exchanges to complex calculations and asset reallocation.
</p>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="d0e70" />1.1. Key Features of JBoss BPEL project
</h2>
</div>
</div>
</div>
<p>The table below lists the main features of the JBoss BPEL
editor:</p>
<div class="table">
<a id="d0e75" />
<p class="title">
<b>Table 1.1. Key Functionality for JBoss BPEL editor project</b>
</p>
<div class="table-contents">
<table summary="Key Functionality for JBoss BPEL editor project"
border="1">
<colgroup>
<col align="left" />
<col />
</colgroup>
<thead>
<tr>
<th align="left">Feature</th>
<th>Benefit</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">
<p>WS-BPEL 2.0 support</p></td>
<td>
<p>JBoss BPEL project supports the most recent WS-BPEL 2.0
specifications.</p></td>
</tr>
<tr>
<td align="left">
<p>Close integration with JBoss BPEL runtime</p></td>
<td>
<p>There are two methods to deploy BPEL files to JBoss
BPEL runtime. The user can deploy a BPEL project as a whole
and can deploy BPEL files in a JBoss ESB project to the JBoss
BPEL runtime.</p></td>
</tr>
<tr>
<td align="left">
<p>BPEL file editor</p></td>
<td>
<p>The editor can be used separately to edit a BPEL file.
</p></td>
</tr>
<tr>
<td align="left">
<p>BPEL file validator</p></td>
<td>
<p>The validator displays a list of BPEL file errors.</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break" />
</div>
</div>
<div class="chapter" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="tasks" />Chapter 2. Tasks
</h2>
</div>
</div>
</div>
<div class="toc">
<dl>
<dt>
<span class="section"><a href="#detail">2.1. Creating
and editing a BPEL project</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#createproject">2.1.1.
Creating a BPEL project</a>
</span>
</dt>
<dt>
<span class="section"><a href="#createprocess">2.1.2.
Creating a BPEL process</a>
</span>
</dt>
<dt>
<span class="section"><a href="#editprocess">2.1.3.
Editing a BPEL process file</a>
</span>
</dt>
<dt>
<span class="section"><a href="#wsdl">2.1.4. Adding
Service to WSDL file</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#deploy">2.2. Deploy a
JBoss BPEL project to JBoss BPEL Runtime</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#createdeploy">2.2.1.
Creating a deploy.xml file</a>
</span>
</dt>
<dt>
<span class="section"><a href="#createruntime">2.2.2.
Creating JBoss BPEL Server</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#d0e987">2.3. Creating
correlation sets</a>
</span>
</dt>
</dl>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="detail" />2.1. Creating and editing a BPEL project
</h2>
</div>
</div>
</div>
<p>
In this chapter we describe the necessary steps to create a new
BPEL project and edit the BPEL files. You can get the example
source code from
<code class="filename">riftsaw/samples/quickstart/hello_world</code>
. In this guide we will create a simple echo example, used to
respond to a message with a modified version of the request
message.
</p>
<p>The first step is to create a BPEL project.</p>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="createproject" />2.1.1. Creating a BPEL project
</h3>
</div>
</div>
</div>
<p>
Create the project by selecting <span class="guimenuitem"><strong>File</strong>
</span><span class="guimenuitem"><strong>New</strong>
</span><span class="guimenuitem"><strong>Project...</strong>
</span><span class="guimenuitem"><strong>BPEL 2.0</strong>
</span><span class="guimenuitem"><strong>BPEL Project</strong>
</span> from the menu bar. Then click the <span class="guibutton"><strong>Next</strong>
</span> button.
</p>
<div class="figure">
<a id="d0e165" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/detail_createproject_1.png"
alt="New BPEL Project" />
</div>
</div>
<p class="title">
<b>Figure 2.1. New BPEL Project</b>
</p>
</div>
<br class="figure-break" />
<p>
On this page of the <span class="property">New BPEL Project
Wizard</span> enter a project name in the <span class="property">Project
Name</span> field, e.g. enter <span class="property">HelloWorld</span>.
</p>
<div class="figure">
<a id="d0e182" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/detail_createproject_2.png"
alt="New BPEL Project Wizard" />
</div>
</div>
<p class="title">
<b>Figure 2.2. New BPEL Project Wizard</b>
</p>
</div>
<br class="figure-break" />
<p>
Click the <span class="guibutton"><strong>Finish</strong>
</span> button. So you have created the BPEL project named <span
class="property">HelloWorld</span>. Its structure is like this:
</p>
<div class="figure">
<a id="d0e196" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/detail_createproject_3.png"
alt="The BPEL Project structure" />
</div>
</div>
<p class="title">
<b>Figure 2.3. The BPEL Project structure</b>
</p>
</div>
<br class="figure-break" />
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="createprocess" />2.1.2. Creating a BPEL process
</h3>
</div>
</div>
</div>
<p>
Now you should create a BPEL process. You can create it by
selecting <span class="guimenuitem"><strong>File</strong>
</span><span class="guimenuitem"><strong>New</strong>
</span><span class="guimenuitem"><strong>Others...</strong>
</span><span class="guimenuitem"><strong>BPEL 2.0</strong>
</span><span class="guimenuitem"><strong>New BPEL
Process File</strong>
</span>.
</p>
<div class="figure">
<a id="d0e219" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/detail_createprocess_1.png"
alt="New BPEL Process File" />
</div>
</div>
<p class="title">
<b>Figure 2.4. New BPEL Process File</b>
</p>
</div>
<br class="figure-break" />
<p>
Click the <span class="guibutton"><strong>Next</strong>
</span> button. Enter the following information:
</p>
<div class="table">
<a id="d0e230" />
<p class="title">
<b>Table 2.1. Fields and values</b>
</p>
<div class="table-contents">
<table summary="Fields and values" border="1">
<colgroup>
<col align="left" />
<col />
</colgroup>
<thead>
<tr>
<th align="left">Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">
<p>BPEL Process Name</p></td>
<td>
<p>
Enter a process name. For example, <span class="property">HelloWorld</span>.
</p></td>
</tr>
<tr>
<td align="left">
<p>Namespace</p></td>
<td>
<p>Enter or select a namespace for the BPEL process.</p></td>
</tr>
<tr>
<td align="left">
<p>Template</p></td>
<td>
<p>
Select the appropriate template for the BPEL process. When
you select the template, you will see the information about
the template below on the page. In this case you should
select <span class="guilabel"><strong>Synchronous
BPEL Process</strong>
</span>.
</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break" />
<div class="figure">
<a id="d0e282" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/detail_createprocess_2.png"
alt="New BPEL Process File Wizard" />
</div>
</div>
<p class="title">
<b>Figure 2.5. New BPEL Process File Wizard</b>
</p>
</div>
<br class="figure-break" />
<p>
Click the <span class="guibutton"><strong>Next</strong>
</span> button. On the second page, you can customize your WSDL service
details. Enter the following information:
</p>
<div class="table">
<a id="d0e293" />
<p class="title">
<b>Table 2.2. Fields and values</b>
</p>
<div class="table-contents">
<table summary="Fields and values" border="1">
<colgroup>
<col align="left" />
<col />
</colgroup>
<thead>
<tr>
<th align="left">Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">
<p>Service Name</p></td>
<td>
<p>
A wsdl service name for the BPEL process. The default value
is <span class="guilabel"><strong>HelloWorld</strong>
</span>.
</p></td>
</tr>
<tr>
<td align="left">
<p>Port Name</p></td>
<td>
<p>
A wsdl port name for the BPEL process. The default value is
<span class="guilabel"><strong>HelloWorldPort</strong>
</span>.
</p></td>
</tr>
<tr>
<td align="left">
<p>Service Address</p></td>
<td>
<p>
An address of the WSDL service for the BPEL process. The
default value is <span class="guilabel"><strong>http://localhost:8080/HelloWorld</strong>
</span>.
</p></td>
</tr>
<tr>
<td align="left">
<p>Binding Protocol</p></td>
<td>
<p>
The binding protocol that you use in the wsdl. You can
choose SOAP or HTTP. The default value is <span
class="guilabel"><strong>SOAP</strong>
</span>.
</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break" />
<div class="figure">
<a id="d0e362" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/detail_createprocess_2a.png"
alt="Create WSDL file for the BPEL Process wizard page" />
</div>
</div>
<p class="title">
<b>Figure 2.6. Create WSDL file for the BPEL Process wizard
page</b>
</p>
</div>
<br class="figure-break" />
<p>
Click the <span class="guibutton"><strong>Next</strong>
</span> button. On the third page, you can select a folder for the
process file from the projects in your workspace. If a folder is
not selected, the default folder
<code class="filename">HelloWorld/bpelContent</code>
will be used. Click the <span class="guibutton"><strong>Finish</strong>
</span> button.
</p>
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="note">
<h2>Note</h2>
<p>
All of your files that are used in your BPEL project must be
under the
<code class="filename">bpelContent</code>
folder of a BPEL project. Only in this case these files can be
deployed to JBoss server.
</p>
</div>
<p>This will create a simple BPEL process as shown in the image
below.</p>
<div class="figure">
<a id="d0e387" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/detail_createprocess_3.png"
alt="A simple BPEL Process File" />
</div>
</div>
<p class="title">
<b>Figure 2.7. A simple BPEL Process File</b>
</p>
</div>
<br class="figure-break" />
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="editprocess" />2.1.3. Editing a BPEL process file
</h3>
</div>
</div>
</div>
<p>
If the <span class="guilabel"><strong>Properties
view</strong>
</span> and <span class="guilabel"><strong>Palette view</strong>
</span> are not opened, you can open the views by right-clicking the BPEL
editor and selecting the <span class="guilabel"><strong>Show
in Properties</strong>
</span> or <span class="guilabel"><strong>Show Palette in
Palette view</strong>
</span> options. Then you should have the view like this:
</p>
<div class="figure">
<a id="d0e410" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/detail_editprocess_1.png"
alt="The BPEL editor view" />
</div>
</div>
<p class="title">
<b>Figure 2.8. The BPEL editor view</b>
</p>
</div>
<br class="figure-break" />
<p>
In the <span class="guilabel"><strong>Palette</strong>
</span> view, you can drag a BPEL element to the BPEL editor and drop it
in the place you want.
</p>
<p>
In the <span class="guilabel"><strong>Properties</strong>
</span> view, you can view the information on every element in the BPEL
process. The contents of the <span class="guilabel"><strong>Properties</strong>
</span> view is automatically updated as elements are selected in the
BPEL editor. The table below describes the tabs shown in the <span
class="guilabel"><strong>Properties</strong>
</span> view:
</p>
<div class="table">
<a id="d0e432" />
<p class="title">
<b>Table 2.3. Tabs of the Property view</b>
</p>
<div class="table-contents">
<table summary="Tabs of the Property view" border="1">
<colgroup>
<col align="left" />
<col />
</colgroup>
<thead>
<tr>
<th align="left">Tab</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">
<p>Description</p></td>
<td>
<p>
Shows the descriptive information about the element, e.g. <span
class="property">Name</span> of the element.
</p></td>
</tr>
<tr>
<td align="left">
<p>Details</p></td>
<td>
<p>Shows the detailed and important information about the
element. It is the most important section of an element.
Most of the properties of an element are set in this
section.</p></td>
</tr>
<tr>
<td align="left">
<p>Join Behavior</p></td>
<td>
<p>
Shows the <span class="property">Join Failure</span>
property of the element.
</p></td>
</tr>
<tr>
<td align="left">
<p>Documentation</p></td>
<td>
<p>
Shows the <span class="property">documentation</span>
sub-element of an element.
</p></td>
</tr>
<tr>
<td align="left">
<p>Other</p></td>
<td>
<p>Every BPEL element has its own sections: Correlation
section, Message Exchange section, and so on. These sections
will be covered in later sections.</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break" />
<p>In order to see how a simple BPEL process works in action,
you should do some steps as below:</p>
<div class="itemizedlist">
<ul>
<li><p>Modify two variables of the process:</p>
<div class="itemizedlist">
<ul>
<li><p>
Click on the details tab of the input variable, and then
click the <span class="guibutton"><strong>Browse...</strong>
</span> button.
</p>
<div class="figure">
<a id="d0e522" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/bpel_task_0.png"
alt="Select the input variable" />
</div>
</div>
<p class="title">
<b>Figure 2.9. Select the input variable</b>
</p>
</div>
<br class="figure-break" />
<p>
Then choose <span class="guilabel"><strong>string</strong>
</span> primitive from the list of <span class="guilabel"><strong>Matches</strong>
</span>.
</p>
<div class="figure">
<a id="d0e536" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/bpel_task_1.png"
alt="Edit variable in process file" />
</div>
</div>
<p class="title">
<b>Figure 2.10. Edit variable in <span class="property">process</span>
file</b>
</p>
</div>
<br class="figure-break" />
</li>
<li><p>
Select <span class="guilabel"><strong>xsd</strong>
</span> as a namespace in the popup menu.
</p>
</li>
</ul>
</div>
</li>
<li><p>
Add an <span class="property">Assign</span> element between the
<span class="property">receiveInput</span> element and <span
class="property">replyOutput</span> element.
</p>
</li>
<li><p>
Click the <span class="property">Assign</span> element in the
BPEL editor in order to get the properties information of it in
the Properties view.
</p>
</li>
<li><p>
Set its name in the <span class="property">Description</span>
tab as <span class="property">assignHelloMesg</span>.
</p>
<p>
In the <span class="property">Details</span> section of
Properties view, you should click the <span class="property">New</span>
button to add a <span class="property">copy</span> sub-element
to the element. Assign "Variable to Variable"(input:string to
output). At this time, an "<span class="property">initializer</span>"
popup dialog appears. Click on the <span class="property">Yes</span>
button in the dialog.
</p>
<div class="figure">
<a id="d0e595" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/bpel_task_3.png"
alt="Add Assign to the process" />
</div>
</div>
<p class="title">
<b>Figure 2.11. Add <span class="property">Assign</span>
to the process</b>
</p>
</div>
<br class="figure-break" />
<p>
Then you should click the <span class="guibutton"><strong>New</strong>
</span> button once more and select Expression to Variable (assign
<code class="code">concat($input,' World')</code>
) to <span class="guilabel"><strong>result:string</strong>
</span>.
</p>
<div class="figure">
<a id="d0e615" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/bpel_task_2.png"
alt="Add Expression assign to the process" />
</div>
</div>
<p class="title">
<b>Figure 2.12. Add <span class="property">Expression
assign</span> to the process</b>
</p>
</div>
<br class="figure-break" />
</li>
</ul>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="wsdl" />2.1.4. Adding Service to WSDL file
</h3>
</div>
</div>
</div>
<p />
<p>
The
<code class="filename">HelloWorldArtifacts.wsdl</code>
file is added a service when you create a BPEL process file. A
default service is already defined in this WSDL file. However, if
you want to add your own service, follow the steps below:
</p>
<div class="itemizedlist">
<ul>
<li><p>
Open the file
<code class="filename">HelloWorldArtifacts.wsdl</code>
in the <span class="guilabel"><strong>HelloWorld</strong>
</span> project by double-clicking the file. Right-click the WSDL
editor and select the <span class="guilabel"><strong>Add
Service</strong>
</span> option. A new service should appear in the editor. Name it <span
class="guilabel"><strong>HelloWorldProcessService</strong>
</span>. It has the Port named <span class="guilabel"><strong>NewPort</strong>
</span>. Select it, right-click on it and rename it to <span
class="guilabel"><strong>HelloWorldProcessPort</strong>
</span> in the <span class="guilabel"><strong>Properties</strong>
</span> view.
</p>
<div class="figure">
<a id="d0e658" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/detail_editprocess_3.png"
alt="Add Service to the WSDL file" />
</div>
</div>
<p class="title">
<b>Figure 2.13. Add <span class="property">Service</span>
to the WSDL file</b>
</p>
</div>
<br class="figure-break" />
</li>
<li><p>
Right-click somewhere in the whitespace of the WSDL editor and
select the <span class="guilabel"><strong>Add
Binding</strong>
</span> option. A new Binding component will appear in the editor.
Name it <span class="guilabel"><strong>HelloWorldSOAPBinding</strong>
</span>. Select it, and in the <span class="guilabel"><strong>General</strong>
</span> tab of the <span class="guilabel"><strong>Properties</strong>
</span> view and select <span class="guilabel"><strong>HelloWorld</strong>
</span> as a port type in the <span class="guilabel"><strong>PortType</strong>
</span> field. Then click on the <span class="guibutton"><strong>Generate
Binding Content...</strong>
</span> button to open the <span class="guilabel"><strong>Binding
Wizard</strong>
</span>. In the wizard, select <span class="guilabel"><strong>SOAP</strong>
</span> as the <span class="guilabel"><strong>Protocol</strong>
</span>. Finally, click the <span class="guibutton"><strong>Finish</strong>
</span> button to close the wizard.
</p>
<div class="figure">
<a id="d0e703" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/detail_editprocess_4.png"
alt="Add a Binding to the WSDL file" />
</div>
</div>
<p class="title">
<b>Figure 2.14. Add a <span class="property">Binding</span>
to the WSDL file</b>
</p>
</div>
<br class="figure-break" />
</li>
<li><p>
Click the <span class="guilabel"><strong>HelloWorldProcessPort</strong>
</span> property in the <span class="guilabel"><strong>General</strong>
</span> section of the <span class="guilabel"><strong>Properties</strong>
</span> view, select <span class="guilabel"><strong>HelloWorldSOAPBinding</strong>
</span> in the <span class="guilabel"><strong>Binding</strong>
</span> combobox. Enter <a class="ulink"
href="http://localhost:8080/bpel/processes/HelloWorld?wsdl">http://localhost:8080/bpel/processes/HelloWorld?wsdl</a>
in the <span class="guilabel"><strong>Address</strong>
</span> field.
</p>
<div class="figure">
<a id="d0e736" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/detail_editprocess_5.png"
alt="Add the HelloWorldSOAPBinding to the HelloWorldProcessPort" />
</div>
</div>
<p class="title">
<b>Figure 2.15. Add the <span class="property">HelloWorldSOAPBinding</span>
to the <span class="property">HelloWorldProcessPort</span> </b>
</p>
</div>
<br class="figure-break" />
</li>
</ul>
</div>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="deploy" />2.2. Deploy a JBoss BPEL project to JBoss BPEL
Runtime
</h2>
</div>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="createdeploy" />2.2.1. Creating a deploy.xml file
</h3>
</div>
</div>
</div>
<p>
If you want to deploy a BPEL project to the JBoss BPEL Runtime, a
<code class="filename">deploy.xml</code>
file needs to be created. The steps below show you how to create
this file:
</p>
<div class="itemizedlist">
<ul>
<li><p>
Create the
<code class="filename">deploy.xml</code>
file by selecting <span class="guimenuitem"><strong>File</strong>
</span><span class="guimenuitem"><strong>New</strong>
</span><span class="guimenuitem"><strong>Other...</strong>
</span><span class="guimenuitem"><strong>BPEL 2.0</strong>
</span><span class="guimenuitem"><strong>Apache ODE
Deployment Descriptor</strong>
</span>. Click the <span class="guibutton"><strong>Next</strong>
</span> button.
</p>
<div class="figure">
<a id="d0e782" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/deploy_createdeploy_1.png"
alt="New BPEL Deploy file" />
</div>
</div>
<p class="title">
<b>Figure 2.16. New BPEL Deploy file</b>
</p>
</div>
<br class="figure-break" />
</li>
<li><p>On the next wizard page you should enter the
following information:</p>
<p>
<span class="emphasis"><em><span class="property">BPEL
Project</span> </em>
</span>: Click the <span class="guibutton"><strong>Browse...</strong>
</span> button to select the BPEL project in your workspace where you
want to deploy to the runtime. Please note that you should
select the
<code class="filename">bpelContent</code>
folder in your new BPEL project for the <span class="property">BPEL
Project</span> field because this is the correct location for the
<code class="filename">deploy.xml</code>
file.
</p>
<p>
<span class="emphasis"><em><span class="property">File
name</span>
</em>
</span>: The default value is
<code class="filename">deploy.xml</code>
. This should not be changed.
</p>
<p>
Click on the <span class="guibutton"><strong>Finish</strong>
</span> button to close the wizard and a new
<code class="filename">deploy.xml</code>
file will be created.
</p>
<div class="figure">
<a id="d0e827" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/deploy_createdeploy_2.png"
alt="New BPEL Deploy file Wizard" />
</div>
</div>
<p class="title">
<b>Figure 2.17. New BPEL Deploy file Wizard</b>
</p>
</div>
<br class="figure-break" />
</li>
<li><p>
Double-click the
<code class="filename">deploy.xml</code>
file to open it in <span class="guilabel"><strong>ODE
Descriptor Deployment Editor</strong>
</span>. In the <span class="guilabel"><strong>Inbound
Interfaces</strong>
</span> section, click the <span class="guilabel"><strong>Associated
Port</strong>
</span> column and select <span class="guilabel"><strong>HelloWorldProcessPort</strong>
</span> in the combobox.The <span class="guilabel"><strong>Related
Service</strong>
</span> and <span class="guilabel"><strong>Binding
Used</strong>
</span> columns should be automatically filled in. Save the changes to
the
<code class="filename">deploy.xml</code>
file.
</p>
<div class="figure">
<a id="d0e860" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/deploy_createdeploy_3.png"
alt="deploy.xml file editor" />
</div>
</div>
<p class="title">
<b>Figure 2.18. deploy.xml file editor</b>
</p>
</div>
<br class="figure-break" />
</li>
</ul>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="createruntime" />2.2.2. Creating JBoss BPEL Server
</h3>
</div>
</div>
</div>
<p>
Once you have installed the <span class="property">JBoss
BPEL Runtime-RiftSaw</span>, you can create a server for JBoss BPEL
runtime.
</p>
<div class="itemizedlist">
<ul>
<li><p>
Open the <span class="guilabel"><strong>Servers</strong>
</span> view by selecting <span class="guimenuitem"><strong>Windows</strong>
</span><span class="guimenuitem"><strong>Show View</strong>
</span><span class="guimenuitem"><strong>Other...</strong>
</span><span class="guimenuitem"><strong>Server</strong>
</span><span class="guimenuitem"><strong>Servers</strong>
</span>.
</p>
</li>
<li><p>
Right-click the <span class="guilabel"><strong>Servers</strong>
</span> view and select <span class="guimenuitem"><strong>New</strong>
</span><span class="guimenuitem"><strong>Server</strong>
</span> to open the <span class="guilabel"><strong>New
Server</strong>
</span> wizard:
</p>
<div class="figure">
<a id="d0e909" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/deploy_createdeploy_4.png"
alt="New Server Wizard" />
</div>
</div>
<p class="title">
<b>Figure 2.19. New Server Wizard</b>
</p>
</div>
<br class="figure-break" />
</li>
<li><p>
Select <span class="guilabel"><strong>JBoss AS
5.1</strong>
</span> as a server type.
</p>
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="note">
<h2>Note</h2>
<p>Please note, that only JBoss As 5.1 or higher version
supports BPEL.</p>
</div>
</li>
<li><p>
Click the <span class="guibutton"><strong>Next</strong>
</span> button. On the next page, you should input your <span
class="productname">JBoss As</span>™ location. Then click the
<span class="guibutton"><strong>Next</strong>
</span> button and you will get the page like this:
</p>
<div class="figure">
<a id="d0e936" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/deploy_createdeploy_5.png"
alt="Add resource to the server" />
</div>
</div>
<p class="title">
<b>Figure 2.20. Add resource to the server</b>
</p>
</div>
<br class="figure-break" />
</li>
<li><p>
Select <span class="guilabel"><strong>HelloWorld</strong>
</span>, then click the <span class="guibutton"><strong>Add</strong>
</span> button to add the project to the server. Finally, click the <span
class="guibutton"><strong>Finish</strong>
</span> button.
</p>
<p>
Start the server by right-clicking on the server and selecting
the <span class="guilabel"><strong>Start</strong>
</span> item.
</p>
<div class="figure">
<a id="d0e959" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/deploy_createdeploy_6.png"
alt="The started server" />
</div>
</div>
<p class="title">
<b>Figure 2.21. The started server</b>
</p>
</div>
<br class="figure-break" />
<p>
Read the <a class="ulink"
href="http://download.jboss.org/jbosstools/nightly-docs/en/as/html_single/index.html">JBoss
Server Manager Reference Guide</a> for more detail on this
process.
</p>
</li>
<li><p>
You can enter the link <a class="ulink"
href="http://localhost:8080/bpel-console/app.html">http://localhost:8080/bpel-console/app.html</a>
in your web browser to access the deployed processes.
</p>
<div class="figure">
<a id="d0e976" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/deploy_createdeploy_7.png"
alt="The BPEL console" />
</div>
</div>
<p class="title">
<b>Figure 2.22. The BPEL console</b>
</p>
</div>
<br class="figure-break" />
</li>
</ul>
</div>
<p>
Please visit the <a class="ulink"
href="http://www.jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=201">JBoss
Tools Users Forum</a> for more information and assistance.
</p>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="d0e987" />2.3. Creating correlation sets
</h2>
</div>
</div>
</div>
<p>Correlation sets are used to identify ongoing conversations
between a client and the BPEL process. Typically, a correlation is
an element in a message that uniquely identifies the conversation
between client and service; for example, an Order ID or Social
Security Number. This also identifies a specific process instance
being managed by the BPEL engine.</p>
<p>In many cases a single element of a message is not enough to
make it unique, so correlations can be defined as composites of
several fields. Since a conversation can involve many different
types of messages. Different correlations will need to be defined
for each message type.</p>
<p>
To create a correlation for a messaging activity (for example: <span
class="property">Invoke</span>, <span class="property">Receive</span>,
<span class="property">Reply</span>), select the activity and then
click <span class="guibutton"><strong>Add</strong>
</span> on the <span class="guilabel"><strong>Correlation
Detail</strong>
</span> property tab. This will display the <span class="guilabel"><strong>Select
a Property</strong>
</span> dialog.
</p>
<div class="figure">
<a id="d0e1014" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Handlers_07.png"
alt="Select a Property" />
</div>
</div>
<p class="title">
<b>Figure 2.23. Select a Property</b>
</p>
</div>
<br class="figure-break" />
<p>
You canselect an existing property defined in the WSDL or click <span
class="guibutton"><strong>New</strong>
</span> to create a new WSDL property, which will display the <span
class="guilabel"><strong>Create Message Property</strong>
</span> dialog.
</p>
<div class="figure">
<a id="d0e1028" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Handlers_08.png"
alt="Create Message Property" />
</div>
</div>
<p class="title">
<b>Figure 2.24. Create Message Property</b>
</p>
</div>
<br class="figure-break" />
<p>Enter a name for the new WSDL property and its type. Either
an XSD simple type or an XML Schema element.</p>
<p>
Next, click the <span class="guibutton"><strong>Browse</strong>
</span> button to select a type. This will display the <span
class="guilabel"><strong>Type Selection</strong>
</span> dialog.
</p>
<p>
Click <span class="guilabel"><strong>New</strong>
</span> in the <span class="guilabel"><strong>Aliases</strong>
</span> section to create a new WSDL property alias.
</p>
<div class="figure">
<a id="d0e1052" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Handlers_09.png"
alt="Create Property Alias" />
</div>
</div>
<p class="title">
<b>Figure 2.25. Create Property Alias</b>
</p>
</div>
<br class="figure-break" />
<p>
Select either the <span class="guilabel"><strong>Message
Type</strong>
</span>, XSD <span class="guilabel"><strong>Simple Type</strong>
</span> or XML scheme <span class="guilabel"><strong>Element</strong>
</span> radio button and click <span class="guibutton"><strong>Browse</strong>
</span> to select its type. Then click <span class="guibutton"><strong>OK</strong>
</span>.
</p>
</div>
</div>
<div class="chapter" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="reference" />Chapter 3. Reference
</h2>
</div>
</div>
</div>
<div class="toc">
<dl>
<dt>
<span class="section"><a href="#d0e1089">3.1. Wizards</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e1092">3.1.1. New
BPEL project</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e1135">3.1.2. New
BPEL Process file</a>
</span>
</dt>
<dt>
<span class="section"><a
href="#Reference-Wizard-Deployment_Descriptor">3.1.3. New
BPEL Deployment Descriptor</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#d0e1360">3.2.
Perspectives</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e1363">3.2.1. BPEL
Perspective</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#Reference-Views">3.3.
Views</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e1390">3.3.1.
Outline</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e1412">3.3.2.
Palette</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e1471">3.3.3.
Dashboard</a>
</span>
</dt>
<dt>
<span class="section"><a
href="#Reference-Property_sections">3.3.4. Property
sections</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#d0e2434">3.4. Editors</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e2437">3.4.1. BPEL
Designer</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3246">3.4.2. BPEL
Deployment Descriptor editor</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#d0e3300">3.5.
Preference pages</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e3305">3.5.1.
Editor</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3316">3.5.2.
Expression editors</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3327">3.5.3. WSIL
browser</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#d0e3340">3.6. Dialogs</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e3343">3.6.1. XPath
expression editor (embedded control)</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3367">3.6.2. Quick
pick (embedded control)</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3378">3.6.3. Type
selection</a>
</span>
</dt>
<dt>
<span class="section"><a
href="#Reference-Dialog-WSDL_Selection">3.6.4. Select WSDL
property</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3483">3.6.5.
Create WSDL property</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3530">3.6.6.
Create WSDL property alias</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e3560">3.6.7. Cheat
sheets</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="#d0e3591">3.7. Icons,
buttons and menus</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#d0e3596">3.7.1.
Context menu</a>
</span>
</dt>
</dl>
</dd>
</dl>
</div>
<p>
Described are the user interface controls of BPEL Designer, and how
they relate to the OASIS standard. If you are new to BPEL it is
recommended that you first become familiar with the concepts
surrounding the technology, detailed in <a class="xref" href="#">???</a>.
</p>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="d0e1089" />3.1. Wizards
</h2>
</div>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e1092" />3.1.1. New BPEL project
</h3>
</div>
</div>
</div>
<p>
The New BPEL Project wizard creates a faceted project which allows
it to be deployed to the JBoss Riftsaw runtime engine. It is
available by selecting <span class="guimenuitem"><strong>File</strong>
</span><span class="guimenuitem"><strong>New</strong>
</span><span class="guimenuitem"><strong>Other</strong>
</span><span class="guimenuitem"><strong>BPEL 2.0</strong>
</span><span class="guimenuitem"><strong>BPEL Project</strong>
</span>.
</p>
<div class="figure">
<a id="d0e1109" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/New_BPEL_Project.png"
alt="New BPEL Project Wizard" />
</div>
</div>
<p class="title">
<b>Figure 3.1. New BPEL Project Wizard</b>
</p>
</div>
<br class="figure-break" />
<p>The wizard consists of a single page:</p>
<p>Enter the project name and select its location. When the
wizard is completed the following files would have been created:</p>
<div class="itemizedlist">
<ul>
<li><p>
<code class="filename">bpelContent</code>
folder
</p>
</li>
<li><p>Project facet metadata</p>
</li>
</ul>
</div>
<p>
The
<code class="filename">bpelContent</code>
folder contains all the files necessary for your project. This
includes all WSDL and XSD files.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e1135" />3.1.2. New BPEL Process file
</h3>
</div>
</div>
</div>
<p>
The <span class="guilabel"><strong>New BPEL
Process File Wizard</strong>
</span> will create a BPEL process based on one of several templates
defined by the wizard. The wizard assumes the new BPEL process is
to be created in the curently selected project of the <span
class="guilabel"><strong>Project Explorer</strong>
</span> or <span class="guilabel"><strong>Navigator</strong>
</span> view. If a BPEL process of the same name already exists within
the project, a warning message will be displayed before any action
is performed.
</p>
<div class="figure">
<a id="d0e1149" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Create_a_BPEL_Process_File_01.png"
alt="New BPEL Process" />
</div>
</div>
<p class="title">
<b>Figure 3.2. New BPEL Process</b>
</p>
</div>
<br class="figure-break" />
<div class="itemizedlist">
<ul>
<li><p>The first page includes the following options:</p>
<div class="table">
<a id="d0e1159" />
<p class="title">
<b>Table 3.1. New BPEL Process file wizard. First page
options.</b>
</p>
<div class="table-contents">
<table
summary="New BPEL Process file wizard. First page options."
border="1">
<colgroup>
<col align="left" />
<col align="left" />
<col align="left" />
</colgroup>
<thead>
<tr>
<th align="left">Field</th>
<th align="left">Description</th>
<th align="left">Default</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Name</td>
<td align="left">Enter the process name.</td>
<td align="left">no default value</td>
</tr>
<tr>
<td align="left">Namespace</td>
<td align="left">Enter the namespace URL. All
namespaces should follow the W3C recommendation (<a
class="ulink" href="http://www.w3.org/1999/10/nsuri">
http://www.w3.org/1999/10/nsuri</a>).</td>
<td align="left">no default value</td>
</tr>
<tr>
<td align="left">Template</td>
<td align="left">Select one of the provided templates:
<div class="itemizedlist">
<ul>
<li><p>
<span class="emphasis"><em>Asynchronous
BPEL Process</em>
</span> - generates the basis of orchestration logic: receive
and reply activities are included into the process;
client WSDL is generated, service is defined in the <span
class="property">parentlink</span> of the process.
The caller is notified asynchronously when the process
completes.
</p>
</li>
<li><p>
<span class="emphasis"><em>Empty BPEL
Process</em>
</span> - list of services participating in this BPEL process
together with the one of messages used within the
process is empty.There are no any orchestration logic.
</p>
</li>
<li><p>
<span class="emphasis"><em>Synchronous
BPEL Process</em>
</span> - similar to Asynchronous BPEL Process template
except the fact that here the caller is notified
synchronously when the process completes.
</p>
</li>
</ul>
</div>
</td>
<td align="left">Asynchronous BPEL Process</td>
</tr>
<tr>
<td align="left">Abstract Process</td>
<td align="left">Specifies the created process as an
abstract one -partially specified processes that are not
intended to be executed.</td>
<td align="left">unchecked</td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break" />
<p>The second page of the wizard defines the process
interface (WSDL file) including the web service address, port
definition and protocol. The wizard will populate all of these
fields with appropriate default values based on the information
provided on the previous page.</p>
<div class="figure">
<a id="d0e1227" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Create_a_BPEL_Process_File_02.png"
alt="New BPEL Process" />
</div>
</div>
<p class="title">
<b>Figure 3.3. New BPEL Process</b>
</p>
</div>
<br class="figure-break" />
</li>
<li><p>The second page includes the following options:</p>
<div class="table">
<a id="d0e1236" />
<p class="title">
<b>Table 3.2. New BPEL process file wizard. Second page
options.</b>
</p>
<div class="table-contents">
<table
summary="New BPEL process file wizard. Second page options."
border="1">
<colgroup>
<col align="left" />
<col align="left" />
<col align="left" />
</colgroup>
<thead>
<tr>
<th align="left">Field</th>
<th align="left">Description</th>
<th align="left">Default</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Service Name</td>
<td align="left">Enter a WDSL service name for the
BPEL process.</td>
<td align="left">The process name</td>
</tr>
<tr>
<td align="left">Port Name</td>
<td align="left">Enter a WDSL port name for the BPEL
process.</td>
<td align="left">The process name + 'Port'</td>
</tr>
<tr>
<td align="left">Service Address</td>
<td align="left">Enter an address of the WDSL service
for the BPEL process.</td>
<td align="left">http://localhost:8080/ + process name
</td>
</tr>
<tr>
<td align="left">Binding Protocol</td>
<td align="left">Choose the binding protocol that you
use in the WDSL: SOAP or HTTP</td>
<td align="left">SOAP</td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break" />
</li>
<li><p>The final page allows you to select the target
project and folder for the new process artifacts. If a process
with the name you provided already exists in that project and
folder, the wizard will display an error message.</p>
<p>
If the project is not a BPEL Project (does not define a BPEL
facet) the wizard will display a warning message. You can still
create the BPEL process, however it will not be deployable to a
BPEL runtime engine until the BPEL facet has been added to the
project (see the <span class="guimenuitem"><strong>Help</strong>
</span> menu for more information about project facets).
</p>
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="important">
<h2>Important</h2>
<p>
BPEL artifacts must be contained somewhere within the
<code class="filename">bpelContent</code>
folder hierarchy if you intend to deploy the process. Complex
projects may be organized into a folder hierarchy, but these
folders must be contained within
<code class="filename">bpelContent</code>
.
</p>
<p>
The
<code class="filename">Deployment Descriptor</code>
file must be contained within the
<code class="filename">bpelContent</code>
folder and at the root of any folder hierarchy.
</p>
</div>
<div class="figure">
<a id="d0e1306" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Create_a_BPEL_Process_File_03.png"
alt="New BPEL Process" />
</div>
</div>
<p class="title">
<b>Figure 3.4. New BPEL Process</b>
</p>
</div>
<br class="figure-break" />
<p>You will be asked if you wish for the BPEL persepective to
be opened once this wizard completes.</p>
</li>
</ul>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="Reference-Wizard-Deployment_Descriptor" />3.1.3. New
BPEL Deployment Descriptor
</h3>
</div>
</div>
</div>
<p>
Use this wizard to create a
<code class="filename">Deployment Descriptor</code>
file. This file is a manifest for the web service and is required
if the BPEL process is to be deployed to a runtime engine.
</p>
<div class="figure">
<a id="d0e1322" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Deyployment_Descriptor_01.png"
alt="BPEL Deployment Descriptor" />
</div>
</div>
<p class="title">
<b>Figure 3.5. BPEL Deployment Descriptor</b>
</p>
</div>
<br class="figure-break" />
<div class="itemizedlist">
<ul>
<li><p>The page includes the following options:</p>
<div class="table">
<a id="d0e1332" />
<p class="title">
<b>Table 3.3. New BPEL Process file wizard. First page
options.</b>
</p>
<div class="table-contents">
<table
summary="New BPEL Process file wizard. First page options."
border="1">
<colgroup>
<col align="left" />
<col align="left" />
</colgroup>
<thead>
<tr>
<th align="left">Field</th>
<th align="left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">BPEL Project</td>
<td align="left">Select the project and folder where
the new <code class="filename">Deployment
Descriptor</code> will be created. This must also be the root
folder that contains the BPEL processes.</td>
</tr>
<tr>
<td align="left">File name</td>
<td align="left">This field is automatically filled
and cannot be edited.</td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break" />
<p>The BPEL Deployment Descriptor Editor will open once this
wizard completes.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="d0e1360" />3.2. Perspectives
</h2>
</div>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e1363" />3.2.1. BPEL Perspective
</h3>
</div>
</div>
</div>
<p>
The BPEL Perspective is designed to facilitate the development and
deployment of BPEL processes and their artifacts. To open this
perspective navigate to <span class="guimenuitem"><strong>Window</strong>
</span><span class="guimenuitem"><strong>Open
Perspective</strong>
</span><span class="guimenuitem"><strong>Other</strong>
</span><span class="guimenuitem"><strong>BPEL</strong>
</span> and click <span class="guibutton"><strong>OK</strong>
</span>.
</p>
<div class="figure">
<a id="d0e1381" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Perspective_01.png"
alt="BPEL Perspective default layout" />
</div>
</div>
<p class="title">
<b>Figure 3.6. BPEL Perspective default layout</b>
</p>
</div>
<br class="figure-break" />
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="Reference-Views" />3.3. Views
</h2>
</div>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e1390" />3.3.1. Outline
</h3>
</div>
</div>
</div>
<p>
The <span class="guilabel"><strong>Outline</strong>
</span> view provides a structural layout of the BPEL process. You can
view the process as either a hierarchical tree-structured outline
(<span class="inlinemediaobject"><img
src="images/reference/View_Outline_icon_01.png" />
</span>) or as a thumbnail view (<span class="inlinemediaobject"><img
src="images/reference/View_Outline_icon_02.png" />
</span>), by pressing the associated button.
</p>
<div class="figure">
<a id="d0e1406" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/View_Outline_01.png"
alt="Outline view" />
</div>
</div>
<p class="title">
<b>Figure 3.7. Outline view</b>
</p>
</div>
<br class="figure-break" />
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e1412" />3.3.2. Palette
</h3>
</div>
</div>
</div>
<p>
The primary editing, creation and viewing tools of the BPEL
Designer are accessed from the <span class="guilabel"><strong>Palette</strong>
</span>. The <span class="guilabel"><strong>Palette</strong>
</span> can be docked either at the right or left edge of the BPEL
Designer main window, or it can be detached and displayed in its
own view.
</p>
<div class="figure">
<a id="d0e1423" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Palette_01.png" alt="Palette" />
</div>
</div>
<p class="title">
<b>Figure 3.8. Palette</b>
</p>
</div>
<br class="figure-break" />
<h5 xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="formalpara">Selection Tools</h5>
<p class="formalpara">
The <span class="guilabel"><strong>Selection Tool</strong>
</span> is used to select individual activities in the editors drawing
canvas. Multiple activities can be selected by holding the <span
class="keycap"><strong>CTRL</strong>
</span> or <span class="keycap"><strong>SHIFT</strong>
</span> keys in combination with left mouse click. The <span
class="guilabel"><strong>Marquee Tool</strong>
</span> allows selection of groups of activities by dragging a selection
rectangle around them.
</p>
<h5 xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="formalpara">Tool Drawers</h5>
<p class="formalpara">
BPEL activities are created by dragging icons from the labeled <span
class="guilabel"><strong>Actions</strong>
</span>, <span class="guilabel"><strong>Controls</strong>
</span> and <span class="guilabel"><strong>Faults</strong>
</span> palette sections (or drawers), onto the editor’s drawing canvas.
These sections can be collapsed and expanded by clicking on
individual palette section titles. They can also be <span
class="emphasis"><em>pinned</em>
</span> to prevent them from collapsing if another section is expanded.
</p>
<h5 xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="formalpara">Zoom Tools</h5>
<p class="formalpara">
The tools at the bottom of the <span class="guilabel"><strong>Palette</strong>
</span> are used to expand or shrink the drawing canvas.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e1471" />3.3.3. Dashboard
</h3>
</div>
</div>
</div>
<p>This panel is embedded in the BPEL Designer canvas and
provides a quick overview of the BPEL elements that are defined
for the currently selected activity or BPEL process.</p>
<div class="figure">
<a id="d0e1476" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Dashboard_01.png" alt="Palette" />
</div>
</div>
<p class="title">
<b>Figure 3.9. Palette</b>
</p>
</div>
<br class="figure-break" />
<p>
The process name appears at the top of the Dashboard. The main
Dashboard area lists all of the <span class="guilabel"><strong>Partner
Links</strong>
</span>, <span class="guilabel"><strong>Variables</strong>
</span>,<span class="guilabel"><strong>Correlation Sets</strong>
</span> and <span class="guilabel"><strong>Message
Exchanges</strong>
</span> currently defined for the process. The green plus symbol and grey
x symbol allow you to add and delete each of these elements.
In-line editing of all element names works by selecting the name
and then clicking again to enable the editor.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="Reference-Property_sections" />3.3.4. Property sections
</h3>
</div>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a id="d0e1499" />3.3.4.1. Common property section tabs
</h4>
</div>
</div>
</div>
<p>This section describes the Property Sheet tabs that are
common to many activities.</p>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e1504" />3.3.4.1.1. Description tab
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1507" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Common_Property_Tabs_01.png"
alt="Description tab" />
</div>
</div>
<p class="title">
<b>Figure 3.10. Description tab</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="guilabel"><strong>Description</strong>
</span> tab contains the activity name. Names must follow XML element
naming conventions, limiting characters to letters, numbers and
certain special characters only (spaces are not permited). For
further information on XML element naming conventions, see <a
class="ulink" href="http://www.w3.org/TR/xml/">http://www.w3.org/TR/xml/</a>
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e1521" />3.3.4.1.2. Join Behavior tab
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1524" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Common_Property_Tabs_02.png"
alt="Join Behavior tab" />
</div>
</div>
<p class="title">
<b>Figure 3.11. Join Behavior tab</b>
</p>
</div>
<br class="figure-break" />
<p>
Join conditions are evaluated by the target activities of links.
With the drop-down <span class="guilabel"><strong>Expression
language</strong>
</span> menu, enter an XPath expression that defines the condition of
the join. The <span class="guilabel"><strong>Suppress
Join Failure</strong>
</span> behavior defined by the process or a containing scope can be
overridden with the radio buttons at the bottom.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e1538" />3.3.4.1.3. Correlation tab
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1541" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Common_Property_Tabs_03.png"
alt="Correlation tab" />
</div>
</div>
<p class="title">
<b>Figure 3.12. Correlation tab</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="guilabel"><strong>Correlation</strong>
</span> tab lists all correlations that are used by the currently
selected <span class="guilabel"><strong>Receive</strong>
</span>, <span class="guilabel"><strong>Reply</strong>
</span> or <span class="guilabel"><strong>Invoke</strong>
</span> activity. Correlations can be added to or removed from the
activity through this tab.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="Common_Property_sheet_tabs-Namespaces_tab" />3.3.4.1.4. Namespaces
tab
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1569" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Common_Property_Tabs_04.png"
alt="Namespaces tab" />
</div>
</div>
<p class="title">
<b>Figure 3.13. Namespaces tab</b>
</p>
</div>
<br class="figure-break" />
<p>Namespaces are URIs (Uniform Resource Identifiers) that
uniquely identify a set of resources on the Internet. Because
URIs can be very lengthy, shorthand aliases called prefixes are
typically defined and used in XML files to make the XML more
readable.</p>
<p>
The <span class="guilabel"><strong>Namespaces</strong>
</span> tab lists all of the namespace URIs and their prefixes in scope
for the currently selected activity. Whenever you create a
reference to an external property (an element defined in an XSD)
whose namespace has not yet been assigned a prefix, the BPEL
Designer will prompt you to create a prefix. This can also be
done beforehand through the <span class="guilabel"><strong>Namespace</strong>
</span> tab of the <span class="guilabel"><strong>Properties</strong>
</span> sheet for the property by clicking the <span class="guibutton"><strong>Assign
Prefix</strong>
</span> button.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e1591" />3.3.4.1.5. Message Exchange tab
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1594" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Common_Property_Tabs_05.png"
alt="Message Exchange tab" />
</div>
</div>
<p class="title">
<b>Figure 3.14. Message Exchange tab</b>
</p>
</div>
<br class="figure-break" />
<p>
Message exchanges are used to associate a <span class="property">Reply</span>
activity with an <span class="property">inbound message</span>
activity and can be either a <span class="property">Receive</span>,
<span class="property">OnMessage</span> or <span
class="property">OnEvent</span>. These are descriptive names
given to a request-response conversation between two parties and
must conform to XML element naming conventions. For further
informaiton on XML element naming conventions, see <a
class="ulink" href="http://www.w3.org/TR/xml/">http://www.w3.org/TR/xml/</a>.
</p>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a id="d0e1620" />3.3.4.2. Process Property sheet tabs
</h4>
</div>
</div>
</div>
<p>This section describes the Property Sheet tabs that are
unique to process activities.</p>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e1625" />3.3.4.2.1. Description tab
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1628" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Property_Sheet_01.png"
alt="Description tab" />
</div>
</div>
<p class="title">
<b>Figure 3.15. Description tab</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="guilabel"><strong>Description</strong>
</span> tab allows you to change the process name and its namespace
URI. All namespaces should follow the W3C recommendation (<a
class="ulink" href="http://www.w3.org/2005/07/13-nsuri">http://www.w3.org/2005/07/13-nsuri</a>.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e1642" />3.3.4.2.2. Details tab
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1645" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Property_Sheet_02.png"
alt="Details tab" />
</div>
</div>
<p class="title">
<b>Figure 3.16. Details tab</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="guilabel"><strong>Process
Details</strong>
</span> tab allows you to select the default <span class="guilabel"><strong>Expression</strong>
</span> and <span class="guilabel"><strong>Query</strong>
</span> language. If you set <span class="guilabel"><strong>Exit
on Standard Fault</strong>
</span> to <span class="guilabel"><strong>Yes</strong>
</span>, it will cause the process to terminate if a WS-BPEL standard
fault, other than a join failure, is encountered.
</p>
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="note">
<h2>Note</h2>
<p>Currently only XPath 1.0 is supported.</p>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e1671" />3.3.4.2.3. Join Behavior tab
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1674" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Property_Sheet_03.png"
alt="Join Behavior tab" />
</div>
</div>
<p class="title">
<b>Figure 3.17. Join Behavior tab</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="guilabel"><strong>Process Join
Behavior</strong>
</span> tab determines how the process will handle join failures. When
set to <span class="guilabel"><strong>Yes</strong>
</span>, any
<code class="exceptionname">JoinFailure</code>
fault (detailed in the WS-BPEL Standard Faults section of the
OASIS specification: <a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#_Toc164738543">http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#_Toc164738543</a>)
will be ignored for all activities in the process. An activity
is able override this value, or inherit the value from its
parent.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e1694" />3.3.4.2.4. Imports tab
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1697" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Property_Sheet_04.png"
alt="Imports tab" />
</div>
</div>
<p class="title">
<b>Figure 3.18. Imports tab</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="guilabel"><strong>Imports
Detail</strong>
</span> tab lists all of the imported service interfaces (WSDL) and XML
Schemas (XSD) used by the process. Additional WSDL and XSD files
can be added to the imports on this page. After a new resource
has been imported, you may assign a prefix to the namespace URI
from the <span class="guilabel"><strong>Namespaces</strong>
</span> tab.
</p>
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="note">
<h2>Note</h2>
<p>
Imported resources must be located in the project root folder (
<code class="filename">bpelContent</code>
by default) or in a sub-folder.
</p>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e1717" />3.3.4.2.5. Namespaces
</h5>
</div>
</div>
</div>
<p>
For information on the <span class="guilabel"><strong>Namespaces</strong>
</span> tab, see <a class="xref"
href="#Common_Property_sheet_tabs-Namespaces_tab"
title="3.3.4.1.4. Namespaces tab">Section 3.3.4.1.4,
“Namespaces tab”</a>
</p>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a id="d0e1727" />3.3.4.3. Details tab
</h4>
</div>
</div>
</div>
<p>
This section describes the <span class="guilabel"><strong>Details</strong>
</span> tab and its attributes as they will appear for individual
activities. Several activities share common detail elements, but
all are presented here for your reference.
</p>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e1735" />3.3.4.3.1. Partner Links
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1738" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_01.png"
alt="Partner Links" />
</div>
</div>
<p class="title">
<b>Figure 3.19. Partner Links</b>
</p>
</div>
<br class="figure-break" />
<p>
<span class="property">Partner Links</span> help define the
conversations between two services. They define the roles each
partner plays in the conversation and the types of messages that
can be exchanged between them.
</p>
<p>
The <span class="guilabel"><strong>Details</strong>
</span> tab allows you to choose the <span class="guilabel"><strong>Expression
language</strong>
</span> and <span class="guilabel"><strong>Query
language</strong>
</span> for selecting elements of a <span class="property">Partner
Link</span>.
</p>
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="note">
<h2>Note</h2>
<p>Currently only XPath 1.0 is supported.</p>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e1766" />3.3.4.3.2. Variables
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1769" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_02.png" alt="Variables" />
</div>
</div>
<p class="title">
<b>Figure 3.20. Variables</b>
</p>
</div>
<br class="figure-break" />
<p>
<span class="property">Variables</span> are used in BPEL to
store inbound and outbound messages for examination and
manipulation by the business logic; they can also be used to
save intermediate results and the process state. There are three
kinds of variable declarations: messages types, XML Schema types
and XML Schema elements.
</p>
<p>
The <span class="guilabel"><strong>Details</strong>
</span> tab allows you to define the variable declared type and its
structure by selecting from known types. Once a variable type
has been defined, the structure of the variable is shown.
Clicking on the hyperlink will open the WSDL or XML Schema
editor for the selected type or element.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e1787" />3.3.4.3.3. Empty
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1790" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_03.png" alt="Empty" />
</div>
</div>
<p class="title">
<b>Figure 3.21. Empty</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Empty</span> activity is a
placeholder for any undefined <span class="property">Basic
Activity</span> and is intended to eventually be replaced by a real
activity before the process can actually be executed. If the
BPEL engine encounters an <span class="property">Empty</span>
activity, it is ignored.
</p>
<p>
The <span class="guilabel"><strong>Details</strong>
</span> tab allows you to select one of four basic actions: <span
class="property">Invoke</span>, <span class="property">Receive</span>,
<span class="property">Reply</span> and <span class="property">Assign</span>.
Hovering the mouse over one of the selection buttons displays a
brief description of that activity.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="Reference-Details_tab-Invoke" />3.3.4.3.4. Invoke
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1827" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_04.png" alt="Invoke" />
</div>
</div>
<p class="title">
<b>Figure 3.22. Invoke</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Invoke</span> activity requires a <span
class="property">Partner Link</span> name and an <span
class="property">Operation</span> as defined in the WSDL for
that service. You can use the <span class="guilabel"><strong>Quick
Pick</strong>
</span> tree control at the right to select the <span class="property">Partner
Link</span> and <span class="property">Operation</span>. For one-way
invocations of the service, specify only an <span
class="property">Input Variable</span>; for request-response
invocations you must also specify an <span class="property">Output
Variable</span>.
</p>
<p>
The checkbox labeled <span class="guilabel"><strong>Use
WSDL Message Parts Mapping</strong>
</span> provides an alternative to using variables for the request
message.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="Reference-Details_tab-Receive" />3.3.4.3.5. Receive
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1867" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_05.png" alt="Receive" />
</div>
</div>
<p class="title">
<b>Figure 3.23. Receive</b>
</p>
</div>
<br class="figure-break" />
<p>
A <span class="property">Receive</span> activity requires a <span
class="property">Partner Link</span> name and an Operation as
defined in the WSDL for this service. You can use the <span
class="guilabel"><strong>Quick Pick</strong>
</span> tree control at the right to select the <span class="property">Partner
Link</span> and <span class="property">Operation</span>. A previously
defined variable can be used to hold the message data, or the <span
class="guilabel"><strong>Use WSDL Message Parts
Mapping</strong>
</span> checkbox can be set to store the incoming message in an
anonymous WSDL message variable.
</p>
<p>
The <span class="guilabel"><strong>Create a new
Process Instance</strong>
</span> checkbox, when enabled, will cause the BPEL engine to start a
new process. This will start a new conversation with a client.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="Reference-Details_tab-Reply" />3.3.4.3.6. Reply
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e1901" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_06.png" alt="Reply" />
</div>
</div>
<p class="title">
<b>Figure 3.24. Reply</b>
</p>
</div>
<br class="figure-break" />
<p>
A <span class="property">Reply</span> activity requires a <span
class="property">Partner Link</span> name and an <span
class="property">Operation</span> as defined in the WSDL for
this service. You can use the <span class="guilabel"><strong>Quick
Pick</strong>
</span> tree control at the right to select the <span class="property">Partner
Link</span> and <span class="property">Operation</span>. A previously
defined variable can be used to provide the response message
data, or the <span class="guilabel"><strong>Use
WSDL Message Parts Mapping</strong>
</span> checkbox can be set to use the data from the anonymous WSDL
message variable.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e1930" />3.3.4.3.7. Opaque
</h5>
</div>
</div>
</div>
<p>
<span class="property">Opaque</span> activities are only used in
abstract processes, and are meant as placeholders for other
activities or complex business logic that has not yet been
determined. When you drag and drop an <span class="property">Opaque</span>
activity onto the drawing canvas, the process will be converted
to a non-executable, abstract process. The BPEL Designer will
inform you about this by displaying a warning dialog.
</p>
<div class="figure">
<a id="d0e1941" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_07-Opaque_Warning.png"
alt="Opaque" />
</div>
</div>
<p class="title">
<b>Figure 3.25. Opaque</b>
</p>
</div>
<br class="figure-break" />
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="Reference-Details_tab-Assign" />3.3.4.3.8. Assign
</h5>
</div>
</div>
</div>
<p>
The <span class="property">Assign</span> section is probably one
of the more complex pages in the BPEL Designer, due to the
nature of the BPEL <span class="property">Assign</span>
activity. The figure below shows the detail tab of an empty <span
class="property">Assign</span> activity with callouts
describing each component:
</p>
<div class="figure">
<a id="d0e1961" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_08.png" alt="Assign" />
</div>
</div>
<p class="title">
<b>Figure 3.26. Assign</b>
</p>
</div>
<br class="figure-break" />
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="orderedlist">
<ol>
<li><p>List (initially empty) of assignment operations
currently defined.</p>
</li>
<li><p>
<span class="guilabel"><strong>From</strong>
</span> combo box for selecting the source element category.
</p>
</li>
<li><p>
<span class="guilabel"><strong>To</strong>
</span> combo box for selecting the target element category.
</p>
</li>
<li><p>
Contents and order management buttons. The <span
class="guibutton"><strong>New</strong>
</span> button adds a new assignment operation to the list. When
clicked, the <span class="guilabel"><strong>From</strong>
</span> and <span class="guilabel"><strong>To</strong>
</span> combo boxes become active and display <span class="property">Variable</span>.
These allow you to select the source and categories for
target items.
</p>
</li>
<li><p>
<span class="guilabel"><strong>Validate
checkbox</strong>
</span>; when enabled will cause the BPEL engine to validate the
data after the assignment. If an error is detected it will
cause a fault, which can be caught by a fault handler in the
BPEL process.
</p>
</li>
<li><p>
<span class="guilabel"><strong>Ignore Missing
Source Data checkbox</strong>
</span>; When enabled, missing source data is not considered an
error (no fault will be generated).
</p>
</li>
<li><p>
<span class="guilabel"><strong>Keep Source
Element Name checkbox</strong>
</span>; when enabled, the complex target variable element names
will not be replaced by the source element names if they
differ.
</p>
</li>
</ol>
</div>
<p>
The following figure shows the detail tab of an <span
class="property">Assign</span> activity which has an XPath
expression as the source (<span class="guilabel"><strong>From</strong>
</span>) and a process variable element as the target (<span
class="guilabel"><strong>To</strong>
</span>):
</p>
<div class="figure">
<a id="d0e2027" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_08b.png" alt="Assign" />
</div>
</div>
<p class="title">
<b>Figure 3.27. Assign</b>
</p>
</div>
<br class="figure-break" />
<p>A requirement of the BPEL language is that all complex
variables must be initialized with valid XML before they are
referenced either as a target of an assignment, or in another
BPEL activity. The BPEL Designer understands this and, once you
have selected the target of an assignment operation, it will ask
if you would like to have an XML fragment generated for the
target variable:</p>
<div class="figure">
<a id="d0e2036" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_08c-Initializer.png"
alt="Assign" />
</div>
</div>
<p class="title">
<b>Figure 3.28. Assign</b>
</p>
</div>
<br class="figure-break" />
<p>
Unless you are certain that the variable has been initialized
during a previous assignment operation or other activity, you
should click <span class="guibutton"><strong>Yes</strong>
</span>. The figure below shows the <span class="property">Assign</span>
details tab after the initializer has been generated:
</p>
<div class="figure">
<a id="d0e2050" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_08d.png" alt="Assign" />
</div>
</div>
<p class="title">
<b>Figure 3.29. Assign</b>
</p>
</div>
<br class="figure-break" />
<h5 xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="formalpara">Assignment Operation Categories</h5>
<p class="formalpara">
Additional type selection or data entry widgets will appear
below the <span class="guilabel"><strong>From</strong>
</span> and <span class="guilabel"><strong>To</strong>
</span> combo boxes, depending on the source and target item categories
selected in the combo boxes. Initially these will be controls
for the selection of process variables, since the default combo
box selection is <span class="property">Variable</span>. The
possible source and target categories are described in the
following table:
</p>
<div class="table">
<a id="d0e2070" />
<p class="title">
<b>Table 3.4. Possible source and target categories</b>
</p>
<div class="table-contents">
<table summary="Possible source and target categories"
border="1">
<colgroup>
<col align="left" />
<col align="left" />
<col align="left" />
<col align="left" />
<col align="left" />
</colgroup>
<thead>
<tr>
<th align="left">Category</th>
<th align="left">Control type</th>
<th align="left">Can be source?</th>
<th align="left">Can be target?</th>
<th align="left">Further information</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Variable</td>
<td align="left">Tree</td>
<td align="left">Yes</td>
<td align="left">Yes</td>
<td align="left">Select an in-scope variable or any
portion if it is a complex variable. The target of the
assignment must have the same type (for simple variables)
or structure (for complex variables) as the source.</td>
</tr>
<tr>
<td align="left">Expression</td>
<td align="left">XPath</td>
<td align="left">Yes</td>
<td align="left">Yes</td>
<td align="left">Enter a valid XPath expression with
the XPath editor. For targets, the expression must resolve
to an L-Value; that is, it must be a variable reference.</td>
</tr>
<tr>
<td align="left">Fixed Value</td>
<td align="left">Text</td>
<td align="left">Yes</td>
<td align="left">No</td>
<td align="left">Enter a valid XML fragment that is
compatible in structure and data type with the target.</td>
</tr>
<tr>
<td align="left">Property of a Variable</td>
<td align="left">List</td>
<td align="left">Yes</td>
<td align="left">Yes</td>
<td align="left">N/A</td>
</tr>
<tr>
<td align="left">Partner Link reference</td>
<td align="left">List</td>
<td align="left">Yes</td>
<td align="left">Yes</td>
<td align="left">N/A</td>
</tr>
<tr>
<td align="left">Endpoint reference</td>
<td align="left">List</td>
<td align="left">Yes</td>
<td align="left">No</td>
<td align="left">N/A</td>
</tr>
<tr>
<td align="left">Opaque</td>
<td align="left">None</td>
<td align="left">Yes</td>
<td align="left">No</td>
<td align="left">N/A</td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break" />
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="Reference-Details_tab-Validate" />3.3.4.3.9. Validate
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2172" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_09.png" alt="Validate" />
</div>
</div>
<p class="title">
<b>Figure 3.30. Validate</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Validate</span> details tab contains
a list of variables to be validated.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2183" />3.3.4.3.10. While and RepeatUntil
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2186" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_10.png"
alt="While and RepeatUntil" />
</div>
</div>
<p class="title">
<b>Figure 3.31. While and RepeatUntil</b>
</p>
</div>
<br class="figure-break" />
<p>These activities have the same details tab, which allows
you to specify an XPath expression to be evaluated for the
conditional activity.</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2196" />3.3.4.3.11. Link
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2199" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_11.png" alt="Link" />
</div>
</div>
<p class="title">
<b>Figure 3.32. Link</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Link</span> detail tab allows you to
specify a condition that will cause <span class="property">Flow</span>
synchronization to be satisfied and allow the target activity to
continue. This is similar to the details tab of the other
conditional activities.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2213" />3.3.4.3.12. Pick
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2216" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_12.png" alt="Pick" />
</div>
</div>
<p class="title">
<b>Figure 3.33. Pick</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Pick</span> details tab allows you to
specify whether the event will create a new process instance.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="Reference-Details_tab-OnMessage" />3.3.4.3.13. OnMessage
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2232" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_13.png" alt="OnMessage" />
</div>
</div>
<p class="title">
<b>Figure 3.34. OnMessage</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">OnMessage</span> activity is used in
either a <span class="property">Pick</span> or event handler.
</p>
<p>
The <span class="guilabel"><strong>Details</strong>
</span> tab allows you to specify the <span class="property">Partner
Link</span>, <span class="property">Operation</span> and <span
class="property">Message Type</span> expected by the activity,
and the process variable that will contain the received message
data.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="Reference-Details_tab-OnAlarm" />3.3.4.3.14. OnAlarm
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2263" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_14.png" alt="OnAlarm" />
</div>
</div>
<p class="title">
<b>Figure 3.35. OnAlarm</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">OnAlarm</span> activity is used in
either a <span class="property">Pick</span> or event handler to
handle timeouts while waiting for messages to arrive. This
activity can be configured to wait for a certain period of time
or until a specific date and time.
</p>
<p>
The <span class="guilabel"><strong>Details</strong>
</span> tab allows you to specify the <span class="property">Partner
Link</span>, <span class="property">Operation</span> and <span
class="property">Message Type</span> expected by the activity,
and the process variable that will contain the received message
data.
</p>
<p>
<span class="guilabel"><strong>Repeat</strong>
</span> conditions are only allowed for an <span class="property">OnAlarm</span>
in an event handler. This allows the activities enclosed in the
activity to be executed repeatedly. <span class="guilabel"><strong>Repeat</strong>
</span> duration is the amount of time the process will wait before
each repetition. The <span class="guilabel"><strong>Repeat</strong>
</span> screen follows:
</p>
<div class="figure">
<a id="d0e2305" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_14b.png" alt="OnAlarm" />
</div>
</div>
<p class="title">
<b>Figure 3.36. OnAlarm</b>
</p>
</div>
<br class="figure-break" />
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2311" />3.3.4.3.15. ForEach
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2314" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_15.png" alt="ForEach" />
</div>
</div>
<p class="title">
<b>Figure 3.37. ForEach</b>
</p>
</div>
<br class="figure-break" />
<p>
The details tab of the <span class="property">ForEach</span>
activity allows you to specify a counter variable to be used for
keeping track of the loop iterations. The <span class="guilabel"><strong>Parallel
execution</strong>
</span> checkbox, when enabled, will execute all iterations in
parallel.
</p>
<div class="figure">
<a id="d0e2330" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_15b.png" alt="ForEach" />
</div>
</div>
<p class="title">
<b>Figure 3.38. ForEach</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="guilabel"><strong>Counter
Values</strong>
</span> tab is where the required starting and ending counter values
are specified.
</p>
<div class="figure">
<a id="d0e2341" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_15c.png" alt="ForEach" />
</div>
</div>
<p class="title">
<b>Figure 3.39. ForEach</b>
</p>
</div>
<br class="figure-break" />
<p>
The optional <span class="guilabel"><strong>Completion</strong>
</span> tab allows you to specify the early termination condition for
the loop.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="Reference-Details_tab-Wait" />3.3.4.3.16. Wait
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2355" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_16.png" alt="Wait" />
</div>
</div>
<p class="title">
<b>Figure 3.40. Wait</b>
</p>
</div>
<br class="figure-break" />
<p>
The details tab of the <span class="property">Wait</span>
activity allows you set a delay (<span class="property">Duration</span>)
or specify a date and time (<span class="property">Date</span>)
for when to continue process execution.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2372" />3.3.4.3.17. Scope
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2375" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_17.png" alt="Scope" />
</div>
</div>
<p class="title">
<b>Figure 3.41. Scope</b>
</p>
</div>
<br class="figure-break" />
<p>
The details tab for the <span class="property">Scope</span>
activity allows you to define whether the Scope is <span
class="guilabel"><strong>isolated</strong>
</span>.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2391" />3.3.4.3.18. Throw
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2394" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_18.png" alt="Throw" />
</div>
</div>
<p class="title">
<b>Figure 3.42. Throw</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Throw</span> activity will invoke a
fault handler in an enclosing <span class="property">Scope</span>
activity. <span class="property">Throw</span> requires the name
of either a standard BPEL fault, or the name of a user-defined
fault message. A variable is used to hold the value of the fault
data.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2411" />3.3.4.3.19. CompensateScope
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2414" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Details_tab_19.png"
alt="CompensateScope" />
</div>
</div>
<p class="title">
<b>Figure 3.43. CompensateScope</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">CompensateScope</span> activity will
invoke a compensation handler in the <span class="property">Scope</span>
or the <span class="property">Invoke</span> activity given by
the name of the <span class="guilabel"><strong>Target
Activity</strong>
</span>.
</p>
</div>
</div>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="d0e2434" />3.4. Editors
</h2>
</div>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e2437" />3.4.1. BPEL Designer
</h3>
</div>
</div>
</div>
<p>
This section discusses the features of the BPEL Designer. See <a
class="xref" href="#Reference-Views" title="3.3. Views">Section 3.3,
“Views”</a> for a detailed discussion of each of these features.
</p>
<div class="figure">
<a id="d0e2444" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_01.png"
alt="BPEL Designer" />
</div>
</div>
<p class="title">
<b>Figure 3.44. BPEL Designer</b>
</p>
</div>
<br class="figure-break" />
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="orderedlist">
<ol>
<li><p>
<span class="emphasis"><em>Drawing Canvas</em>
</span>: This contains the graphical representation of the BPEL
process and is displayed when the <span class="guilabel"><strong>Design</strong>
</span> tab at the bottom of the editor window is selected. The
primary mouse click action (default is left mouse button) on
any of the activity names activates an in-line editor, allowing
you to edit the process name. To finish editing, simply press
the <span class="keycap"><strong>ENTER</strong>
</span> key or change focus by clicking on a different window control.
</p>
<p>
The <span class="guilabel"><strong>Source</strong>
</span> tab displays the XML (text) representation of the process. Any
changes made in one view are immediately reflected in the
other. The default layout of activities is top-to-bottom, but
can be changed to horizontal layout from the context menu.
</p>
</li>
<li><p>
<span class="emphasis"><em>Palette</em>
</span>: The primary editing, creation and viewing tools of the BPEL
Designer are accessed from the tool <span class="guilabel"><strong>Palette</strong>
</span>.
</p>
</li>
<li><p>
<span class="emphasis"><em>Dashboard</em>
</span>: Provides an overview of the BPEL process.
</p>
</li>
<li><p>
<span class="emphasis"><em>Property Sheet</em>
</span>: When an activity is selected in the drawing canvas, its
properties are displayed in the tabbed <span class="guilabel"><strong>Properties</strong>
</span> sheet.
</p>
</li>
<li><p>
<span class="emphasis"><em>Outline</em>
</span>: This panel provides a structural view of the BPEL process.
</p>
</li>
</ol>
</div>
<p>
The BPEL Designer will validate your business process every time
it is saved. If an activity is found to be incomplete or
incorrectly configured, it will be decorated with an error icon
(red circle with an X) as for example the <span class="property">Assign</span>
activity below:
</p>
<div class="figure">
<a id="d0e2503" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_02.png"
alt="Assign error" />
</div>
</div>
<p class="title">
<b>Figure 3.45. Assign error</b>
</p>
</div>
<br class="figure-break" />
<p>Hovering your mouse over this icon will display an error
message in a tooltip:</p>
<div class="figure">
<a id="d0e2511" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_03.png"
alt="Assign error with tooltip" />
</div>
</div>
<p class="title">
<b>Figure 3.46. Assign error with tooltip</b>
</p>
</div>
<br class="figure-break" />
<p>The remainder of this section discusses some basic BPEL
concepts and how they relate to the BPEL Designer.</p>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a id="d0e2519" />3.4.1.1. Basic activities
</h4>
</div>
</div>
</div>
<p>
Basic activities are represented on the drawing canvas as rounded
rectangles containing an icon and the user-defined name of the
activity. The <span class="guilabel"><strong>Actions</strong>
</span> section of the <span class="guilabel"><strong>Palette</strong>
</span> contains all of the basic activities. For example: <span
class="property">Assign</span>, <span class="property">Invoke</span>
and <span class="property">Receive</span>.
</p>
<p>
Most basic activities will require some additional configuration.
See <a class="xref" href="#Reference-Property_sections"
title="3.3.4. Property sections">Section 3.3.4, “Property
sections”</a> for more information.
</p>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2543" />3.4.1.1.1. Start and End
</h5>
</div>
</div>
</div>
<p>
Every BPEL process has implicit <span class="property">Start</span>
<span class="inlinemediaobject"><img
src="images/reference/BPEL_Designer_04.png" />
</span> and <span class="property">End</span> <span
class="inlinemediaobject"><img
src="images/reference/BPEL_Designer_05.png" />
</span> activities. These do not correspond to actual BPEL elements
however, and are simply placeholders for visualizing the
beginning and end of the process flow.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2562" />3.4.1.1.2. Assign
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2565" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_06.png"
alt="Assign activity" />
</div>
</div>
<p class="title">
<b>Figure 3.47. Assign activity</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Assign</span> activity allows you to
manipulate variables and message contents that are defined in
the process. See <a class="xref"
href="#Reference-Details_tab-Assign" title="3.3.4.3.8. Assign">Section 3.3.4.3.8,
“Assign”</a> for more information.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2578" />3.4.1.1.3. Invoke
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2581" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_07.png"
alt="Invoke activity" />
</div>
</div>
<p class="title">
<b>Figure 3.48. Invoke activity</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Invoke</span> activity is used to
send a message to an external service (one-way invocation), and
optionally wait for a response (request and response). An <span
class="property">Invoke</span> can also define a compensation
handler and a fault handler to handle exception conditions. See
<a class="xref" href="#Reference-Details_tab-Invoke"
title="3.3.4.3.4. Invoke">Section 3.3.4.3.4, “Invoke”</a> for
more information.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2597" />3.4.1.1.4. Receive
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2600" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_08.png"
alt="Receive activity" />
</div>
</div>
<p class="title">
<b>Figure 3.49. Receive activity</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Receive</span> activity will wait for
a specific message type from a service client. See <a
class="xref" href="#Reference-Details_tab-Receive"
title="3.3.4.3.5. Receive">Section 3.3.4.3.5, “Receive”</a> for
more information.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2613" />3.4.1.1.5. Reply
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2616" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_09.png"
alt="Reply activity" />
</div>
</div>
<p class="title">
<b>Figure 3.50. Reply activity</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Reply</span> activity is used to
respond to clients with a specific message type, or fault
message (if defined for the process interface). See <a
class="xref" href="#Reference-Details_tab-Reply"
title="3.3.4.3.6. Reply">Section 3.3.4.3.6, “Reply”</a> for
more information.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2629" />3.4.1.1.6. Validate
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2632" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_10.png"
alt="Validate Input activity" />
</div>
</div>
<p class="title">
<b>Figure 3.51. Validate Input activity</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Validate</span> activity is used to
validate the values of variables against their XML Schema and
WSDL data definitions. This includes the variable’s data type as
well as structure. If validation fails, the BPEL standard fault
invalidVariables is thrown.
</p>
<p>
Validation is typically performed just before sending messages
to a partner or client, or after receiving a message to ensure
the message contains all required data and that the data is as
expected. See <a class="xref"
href="#Reference-Details_tab-Validate"
title="3.3.4.3.9. Validate">Section 3.3.4.3.9, “Validate”</a>
for more information.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2647" />3.4.1.1.7. Wait
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2650" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_11.png"
alt="Wait activity" />
</div>
</div>
<p class="title">
<b>Figure 3.52. Wait activity</b>
</p>
</div>
<br class="figure-break" />
<p>
A <span class="property">Wait</span> activity will delay process
execution for a certain amount of time, or until a given date
and time; this is typically used to invoke an operation at a
certain time. For example to update process state hourly or
daily, or to collect some information from another service at a
certain time of day. See <a class="xref"
href="#Reference-Details_tab-Wait" title="3.3.4.3.16. Wait">Section 3.3.4.3.16,
“Wait”</a> for more information.
</p>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a id="d0e2663" />3.4.1.2. Structured activities
</h4>
</div>
</div>
</div>
<p>
Structured activities can be thought of as containers that can
hold one or more activities. The <span class="guilabel"><strong>Controls</strong>
</span> section of the <span class="guilabel"><strong>Palette</strong>
</span> contains all of the <span class="emphasis"><em>structured
activities</em>
</span>. When you drag and drop one of these onto the drawing canvas,
the BPEL Designer will create a basic skeleton of the activity,
and assign default properties.
</p>
<p>
All structured activities will require some additional
configuration before they are considered valid. For example, BPEL
does not allow an empty <span class="property">Sequence</span>
activity. Invalid structured activities will be decorated with an
error icon similar to basic activities.
</p>
<p>
Structured activities can be expanded and collapsed on the
drawing canvas by clicking the plus and minus buttons at the
bottom of the figure. Illustrated below is a collapsed and
expanded <span class="property">Sequence</span>:
</p>
<div class="figure">
<a id="d0e2687" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_12.png"
alt="Collapsed Sequence" />
</div>
</div>
<p class="title">
<b>Figure 3.53. Collapsed Sequence</b>
</p>
</div>
<br class="figure-break" />
<div class="figure">
<a id="d0e2693" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_13.png"
alt="Expanded Sequence" />
</div>
</div>
<p class="title">
<b>Figure 3.54. Expanded Sequence</b>
</p>
</div>
<br class="figure-break" />
<p>The following sections describe the structured activities
and how each must be configured to be considered vaid for BPEL.</p>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2701" />3.4.1.2.1. If
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2704" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_14.png"
alt="If, ElseIf and Else" />
</div>
</div>
<p class="title">
<b>Figure 3.55. If, ElseIf and Else</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">If</span> activity allows conditional
execution of one or more sequences of activities. It consists of
a sequence of one or more conditional branches defined by <span
class="property">If</span> and optional <span class="property">ElseIf</span>
elements. The elements are evaluated in left-to-right order (or
top-to-bottom if you have selected horizontal layout). An
optional <span class="property">Else</span> branch will be
executed if none of the other conditions are true.
</p>
<p>
An <span class="property">If</span> activity must define a
condition (expressed as an XPath) and an activity which is
executed if the condition evaluates true. To insert additional <span
class="property">ElseIf</span> and <span class="property">Else</span>
elements, right-click the <span class="property">If</span>
figure and select the desired element from the context menu. The
figure above shows a complete <span class="property">If</span>
activity with optional <span class="property">ElseIf</span> and
<span class="property">Else</span> elements.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2747" />3.4.1.2.2. Pick
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2750" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_15.png" alt="Pick" />
</div>
</div>
<p class="title">
<b>Figure 3.56. Pick</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Pick</span> activity will cause the
process to wait for one of any number of messages to be
received. An optional timer can be set to limit the time to wait
for receipt of these messages. Activities to handle receipt of
messages and timer expiration are defined in the <span
class="property">Pick</span>. Message receipts are handled by <span
class="property">OnMessage</span> activities (<a class="xref"
href="#Reference-Details_tab-OnMessage"
title="3.3.4.3.13. OnMessage">Section 3.3.4.3.13,
“OnMessage”</a>), and timer expiration is handled by the <span
class="property">OnAlaram</span> activity (<a class="xref"
href="#Reference-Details_tab-OnAlarm"
title="3.3.4.3.14. OnAlarm">Section 3.3.4.3.14, “OnAlarm”</a>).
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2774" />3.4.1.2.3. While
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2777" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_16.png" alt="While" />
</div>
</div>
<p class="title">
<b>Figure 3.57. While</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">While</span> activity repeatedly
executes the contained activity as long as a condition evaluates
true at the beginning of each iteration. A <span
class="property">While</span> activity must define a condition
and must contain an activity.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2791" />3.4.1.2.4. ForEach
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2794" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_17.png" alt="ForEach" />
</div>
</div>
<p class="title">
<b>Figure 3.58. ForEach</b>
</p>
</div>
<br class="figure-break" />
<p>
<span class="property">ForEach</span> is a looping activity that
executes the activities contained in its <span class="property">Scope</span>
a specified number of times. A counter variable, defined in the
<span class="property">ForEach</span> property detail tab, is
used to keep track of the iterations. The <span class="property">ForEach</span>
properties must be configured with starting and ending value
expressions for this counter variable. The counter is initially
set to the starting value and activities in the <span
class="property">Scope</span> are executed until the counter
exceeds the ending value.
</p>
<p>
This activity can also be configured to execute all iterations
in parallel, meaning the enclosed <span class="property">Scope</span>
activity behaves as if multiple <span class="property">Scopes</span>
are enclosed in a <span class="property">Flow</span> activity.
</p>
<p>
An optional early termination value can be defined, which will
cause the loop to complete before the counter has reached its
ending value. The <span class="property">ForEach</span> will
complete when the counter is equal to this early termination
value for the sequential execution case. For the parallel
execution case, the early termination value is the number of
completed iterations. For example, the <span class="property">ForEach</span>
completes when at least <span class="emphasis"><em>some
number</em>
</span> of <span class="emphasis"><em>some action</em>
</span> have finished.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2842" />3.4.1.2.5. RepeatUntil
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2845" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_18.png"
alt="RepeatUntil" />
</div>
</div>
<p class="title">
<b>Figure 3.59. RepeatUntil</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">RepeatUntil</span> activity
repeatedly executes the contained activity as long as a
condition evaluates true at the end of each iteration. A
condition must be defined for a <span class="property">RepeatUntil</span>,
and it must contain an activity.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2859" />3.4.1.2.6. Sequence
</h5>
</div>
</div>
</div>
<p>
A <span class="property">Sequence</span> is a container for one
or more other activities, which are executed in sequential order
and (unlike <span class="property">Scope</span> and <span
class="property">Flow</span> activities), has no other special
characteristics. Because the conditional activities (<span
class="property">If</span>, <span class="property">While</span>,
<span class="property">RepeatUntil</span> and <span
class="property">ForEach</span>) can have only one activity as
the target of their execution, a <span class="property">Sequence</span>
is typically used to execute multiple activities.
</p>
<p>
For example, the <span class="property">If</span> shown below
contains only a single Assign activity:
</p>
<div class="figure">
<a id="d0e2893" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_19.png"
alt="Sequence" />
</div>
</div>
<p class="title">
<b>Figure 3.60. Sequence</b>
</p>
</div>
<br class="figure-break" />
<p>
If it were necessary to perform an assignment and then invoke
another web service, the <span class="property">Assign</span>
and <span class="property">Invoke</span> could be contained
within a <span class="property">Sequence</span>. The <span
class="property">Sequence</span> would then become the target
of the <span class="property">If</span>:
</p>
<div class="figure">
<a id="d0e2916" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_20.png"
alt="Sequence" />
</div>
</div>
<p class="title">
<b>Figure 3.61. Sequence</b>
</p>
</div>
<br class="figure-break" />
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="note">
<h2>Note</h2>
<p>
The BPEL Designer will automatically create a <span
class="property">Sequence</span> if you drag-drop a second
activity into any of the conditional activities.
</p>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e2928" />3.4.1.2.7. Scope
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e2931" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_21.png" alt="Scope" />
</div>
</div>
<p class="title">
<b>Figure 3.62. Scope</b>
</p>
</div>
<br class="figure-break" />
<p>
A <span class="property">Scope</span> provides a context for its
enclosed activity. This context includes variables, partner
links, message exchanges, correlation sets, event handlers,
fault handlers, a compensation handler and a termination
handler. These <span class="property">Scope</span> contexts can
be nested hierarchically where the root context is provided by
the process itself.
</p>
<p>
A <span class="property">Scope</span> can be thought of as a
compartmentalized sub-process. If the <span class="property">Scope</span>
is declared as being <span class="emphasis"><em>isolated</em>
</span>, then the variables and partner links shared with the process
are locked to prevent other concurrent <span class="property">Scopes</span>
from altering them while a <span class="property">Scope</span>
is executing. <span class="property">Scope</span> may also be
nested to any depth and all variables, partner links and others
defined in a <span class="property">Scope</span>, are inherited
by its children. Refer to <a class="xref"
href="#Reference-BPEL_Designer-Structured_Activities-Flow"
title="3.4.1.2.8. Flow">Section 3.4.1.2.8, “Flow”</a> for a
discussion of concurrent execution.
</p>
<p>
To be valid, a <span class="property">Scope</span> must have a
single activity. The typical use of a Scope activity is to
invoke a service and wait for a response message or timeout. In
the above figure, the <span class="property">Scope</span> has
defined a message variable and a partner link used to interact
with the invoked service.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="Reference-BPEL_Designer-Structured_Activities-Flow" />3.4.1.2.8. Flow
</h5>
</div>
</div>
</div>
<p>
The <span class="property">Flow</span> activity allows multiple
activities to be executed in parallel. All activities or <span
class="property">Sequences</span> of activities that are
contained in a <span class="property">Flow</span>, are executed
(or begun) at the same time by the BPEL engine. A <span
class="property">Flow</span> completes when all of its enclosed
activities have completed.
</p>
<p>
Parallel processing is typically used to save time by doing more
than one thing at a time and as a result, speed up the process.
However, in many situations several tasks can be started at the
same time, but one or more tasks may depend on the successful
completion of other tasks. This task dependency sequencing is
called <span class="emphasis"><em>synchronization</em>
</span> and is achieved using <span class="property">Links</span>.
</p>
<p>For example, a process that handles purchase orders for
material goods needs to:</p>
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="orderedlist">
<ol>
<li><p>Calculate the total order price</p>
</li>
<li><p>Calculate shipping costs for the order</p>
</li>
<li><p>Send a customer invoice</p>
</li>
</ol>
</div>
<p>All of these activities can be started at the same time,
however the shipping cost must be finalized before the total
order price can be determined, and the invoice can be sent.</p>
<p>
To create a <span class="property">Link</span>, right-click on
the activity that must be completed first (the activity that is
the <span class="emphasis"><em>source</em>
</span> of the dependency) and select <span class="guimenuitem"><strong>Add
Link</strong>
</span> from the context menu. Next, move the mouse to the activity in
the <span class="property">Flow</span> that depends on this one
(the <span class="emphasis"><em>target</em>
</span>) and click the left mouse button to create the link.
</p>
<p>
A <span class="property">Link</span> is identified by a name
that must be unique within the <span class="property">Flow</span>.
The BPEL Designer generates a reasonable default name, but you
can change this in its properties. You can also add a test to
the <span class="property">Link</span> that defines the
conditions for considering an activity to be complete. For
example an activity in a <span class="property">Flow</span> may
require two pieces of information, provided by other services,
in order to continue. Consider the process <span
class="property">Flow</span> shown below:
</p>
<div class="figure">
<a id="d0e3051" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_22.png"
alt="Flow example" />
</div>
</div>
<p class="title">
<b>Figure 3.63. Flow example</b>
</p>
</div>
<br class="figure-break" />
<p>
In this example, the <span class="emphasis"><em>Billing</em>
</span> department can begin preparation of a customer invoice, but it
needs to know if sufficient stock is on hand to fulfill the
order and if an outside vendor needs to provide the additional
quantities ordered. The following condition would enable the <span
class="property">Link</span> so that execution can continue for
the price calculation and customer invoicing:
</p>
<div class="figure">
<a id="d0e3065" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/BPEL_Designer_23.png"
alt="Link example" />
</div>
</div>
<p class="title">
<b>Figure 3.64. Link example</b>
</p>
</div>
<br class="figure-break" />
<p>This process is only partially complete though as it does
not consider the number of outside vendors, or if the total
quantity being ordered can ever be filled.</p>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a id="d0e3073" />3.4.1.3. Fault Activities
</h4>
</div>
</div>
</div>
<p>Fault activities cause the normal process execution flow to
jump to a specialized handler, similar to exceptions in modern
programming languages. There are five different types of fault
activities, described in this section.</p>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e3078" />3.4.1.3.1. Exit
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e3081" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Fault_Activities_01.png" alt="Exit" />
</div>
</div>
<p class="title">
<b>Figure 3.65. Exit</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Exit</span> activity causes the
process to immediately terminate.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e3092" />3.4.1.3.2. Throw
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e3095" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Fault_Activities_02.png"
alt="Throw" />
</div>
</div>
<p class="title">
<b>Figure 3.66. Throw</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Throw</span> activity propagates a
specified fault to its ancestor <span class="property">Scope</span>,
or the process itself.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e3109" />3.4.1.3.3. Rethrow
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e3112" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Fault_Activities_03.png"
alt="Rethrow" />
</div>
</div>
<p class="title">
<b>Figure 3.67. Rethrow</b>
</p>
</div>
<br class="figure-break" />
<p>
A <span class="property">Rethrow</span> activity can only be
used inside a fault handler. It is used to propagate the fault
that was caught by the handler, using the original fault data.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e3123" />3.4.1.3.4. Compensate
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e3126" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Fault_Activities_04.png"
alt="Compensate" />
</div>
</div>
<p class="title">
<b>Figure 3.68. Compensate</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">Compensate</span> activity is used to
invoke a compensation handler. This activity can only be used
within a fault handler, compensation handler or termination
handler.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e3137" />3.4.1.3.5. CompensateScope
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e3140" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Fault_Activities_05.png"
alt="CompensateScope" />
</div>
</div>
<p class="title">
<b>Figure 3.69. CompensateScope</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="property">CompensateScope</span> activity is
used to invoke a compensation handler in the enclosing <span
class="property">Scope</span>. This activity can only be used
within a fault handler, compensation handler or termination
handler.
</p>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a id="d0e3154" />3.4.1.4. Faulot, compensation, termination
and event handlers
</h4>
</div>
</div>
</div>
<p>Handlers allow a BPEL process to recover from exception
conditions. Exception conditions include: a timeout waiting for a
response from a partner service, invalid or missing message data,
a fault condition returned by a service. There are four types of
handlers:</p>
<div class="itemizedlist">
<ul>
<li><p>
Fault handler <span class="inlinemediaobject"><img
src="images/reference/Handlers_01.png" />
</span>: Executed when a fauly is thrown by an activity.
</p>
</li>
<li><p>
Compensation handler <span class="inlinemediaobject"><img
src="images/reference/Handlers_02.png" />
</span>: Executed when the BPEL process encounters a <span
class="property">Compensate</span> or <span class="property">CompensateScope</span>
activity.
</p>
</li>
<li><p>
Temination handler <span class="inlinemediaobject"><img
src="images/reference/Handlers_03.png" />
</span>: Executed if a <span class="property">Scope</span> is forced
to terminate early.
</p>
</li>
<li><p>
Event handler <span class="inlinemediaobject"><img
src="images/reference/Handlers_04.png" />
</span>: Executed for events include the receipt of a message and a
timer expiration.
</p>
</li>
</ul>
</div>
<p>Handlers are defined for the process or for certain
activities. To create a new handler right-click an activity and
select the desired handler from its context menu. The BPEL
Designer will generate a skeleton of the handler within a
collapsible window that is attached to the activity. The figure
below illustrates all of the different types of handlers in their
fully expanded view. The handler windows can be collapsed and
expanded by clicking on their respective icon.</p>
<div class="figure">
<a id="d0e3199" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Handlers_05.png"
alt="Handlers overview" />
</div>
</div>
<p class="title">
<b>Figure 3.70. Handlers overview</b>
</p>
</div>
<br class="figure-break" />
<p>
The behavior of handlers and the order of exception processing is
complex and beyond the scope of this document. Refer to the OASIS
WS-BPEL 2.0 specification at <a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html">http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html</a>
for more information.
</p>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e3210" />3.4.1.4.1. Process-level Handlers
</h5>
</div>
</div>
</div>
<div class="figure">
<a id="d0e3213" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Handlers_06.png"
alt="Start activity with handlers" />
</div>
</div>
<p class="title">
<b>Figure 3.71. Start activity with handlers</b>
</p>
</div>
<br class="figure-break" />
<p>
Fault and event handlers can be defined for the process by
right-clicking the <span class="property">Start</span> activity
and selecting the desired handler from the context menu.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e3224" />3.4.1.4.2. Scope-level handlers
</h5>
</div>
</div>
</div>
<p>
A <span class="property">Scope</span> may have any handler.
Since <span class="property">Scopes</span> can be nested, each
level can define its own set of handlers. Events that are not
caught and processed by a handler in an inner <span
class="property">Scope</span>, will be propagated to its
ancestors.
</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a id="d0e3238" />3.4.1.4.3. Activity-level handlers
</h5>
</div>
</div>
</div>
<p>
Only the <span class="property">Invoke</span> activity can
define handlers. The handlers available to it are the fault and
compensation handlers.
</p>
</div>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e3246" />3.4.2. BPEL Deployment Descriptor editor
</h3>
</div>
</div>
</div>
<p>
Before a BPEL project can be deployed to the runtime engine, you
must create what is called a <span class="emphasis"><em>deployment
descriptor</em>
</span>. This is simply a manifest file, serialized as XML, that
describes all of the BPEL processes and their interfaces to the
BPEL engine. The <span class="emphasis"><em>deployment
descriptor</em>
</span> file must be created in the root folder of your project. See <a
class="xref" href="#Reference-Wizard-Deployment_Descriptor"
title="3.1.3. New BPEL Deployment Descriptor">Section 3.1.3,
“New BPEL Deployment Descriptor”</a> more information.
</p>
<p>
The <span class="emphasis"><em>deployment descriptor</em>
</span> editor traverses the folder hierarchy in your project and
searches for all BPEL files. Each process is then represented in a
separate tab in the editor. The figure below shows two processes
(HelloWorld and GoodbyeWorld). Each process must be configured
before the project can be deployed.
</p>
<div class="figure">
<a id="d0e3264" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Deployment_descriptor_editor_01.png"
alt="Deployment descriptor editor example" />
</div>
</div>
<p class="title">
<b>Figure 3.72. Deployment descriptor editor example</b>
</p>
</div>
<br class="figure-break" />
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="orderedlist">
<ol>
<li><p>Process selection tabs: Click on these tabs to
display the configuration page for each process.</p>
</li>
<li><p>
Initial process state: The process can be deployed in either an
<span class="emphasis"><em>active</em>
</span>, <span class="emphasis"><em>inactive</em>
</span> or <span class="emphasis"><em>retired</em>
</span> state.
</p>
</li>
<li><p>Inbound interfaces selection: Select the WSDL
port type that clients will use to invoke this service.</p>
</li>
<li><p>Output interfaces selection: Each invoked service
(if any) will require you to select its port type.</p>
</li>
<li><p>Process-level monitoring events: Allow you to
select which events are generated by the BPEL engine. This is
currently unused but will be used in future for debugging the
process.</p>
</li>
<li><p>Scope-level monitoring events: The BPEL engine
can be configured to generate monitoring events for each Scope
defined in the process.</p>
</li>
</ol>
</div>
<p>The only action required to configure a processes is to
select the interfaces for inbound and outbound services used by
the process; all other settings are optional.</p>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="d0e3300" />3.5. Preference pages
</h2>
</div>
</div>
</div>
<p>Certain aspects of the BPEL Designers behavior can be
customized to suit your personal preference.</p>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e3305" />3.5.1. Editor
</h3>
</div>
</div>
</div>
<div class="figure">
<a id="d0e3308" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Editor_preferences_01.png"
alt="Editor preferences" />
</div>
</div>
<p class="title">
<b>Figure 3.73. Editor preferences</b>
</p>
</div>
<br class="figure-break" />
<p>The editor behavior can be customized on this page.</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e3316" />3.5.2. Expression editors
</h3>
</div>
</div>
</div>
<div class="figure">
<a id="d0e3319" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Editor_preferences_02.png"
alt="Expression editor preferences" />
</div>
</div>
<p class="title">
<b>Figure 3.74. Expression editor preferences</b>
</p>
</div>
<br class="figure-break" />
<p>This preference page is used to configure the XPath
expression editor templates and is similar to other Eclipse editor
template preference pages.</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e3327" />3.5.3. WSIL browser
</h3>
</div>
</div>
</div>
<div class="figure">
<a id="d0e3330" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/WSIL_browser_preferences_01.png"
alt="WSIL browser preferences" />
</div>
</div>
<p class="title">
<b>Figure 3.75. WSIL browser preferences</b>
</p>
</div>
<br class="figure-break" />
<p>This preference page is used to configure a Web Services
Inspection Language (WSIL) file. The file can contain references
to WSDL files for external services as well as references to other
WSIL files, either locally or on the web. This file is used to
search for WSDLs when defining partner links in a process.</p>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="d0e3340" />3.6. Dialogs
</h2>
</div>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e3343" />3.6.1. XPath expression editor (embedded
control)
</h3>
</div>
</div>
</div>
<p>
The XPath expression editor provides context-sensitive assistance
in the form of pop-up proposals. The light bulb icon <span
class="inlinemediaobject"><img
src="images/reference/XPath_expression_editor_01.png" />
</span> indicates that content assist is available by pressing the <span
class="keycap"><strong>CTRL</strong>
</span> and <span class="keycap"><strong>SPACE</strong>
</span> keys simultaneously. The editor will display appropriate help
information based on what it knows about variables currently
in-scope for the selected activity. An example is seen in the
figure below:
</p>
<div class="figure">
<a id="d0e3358" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/XPath_expression_editor_02.png"
alt="Expression editor assistance example" />
</div>
</div>
<p class="title">
<b>Figure 3.76. Expression editor assistance example</b>
</p>
</div>
<br class="figure-break" />
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="note">
<h2>Note</h2>
<p>The BPEL 2.0 specification provides for the definition of
an XPath language version at the process level, as well as the
activity level (for those activities that make use of XPath).
However, only XPath 1.0 is supported by the BPEL Designer and the
JBoss Riftsaw runtime engine at this time.</p>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e3367" />3.6.2. Quick pick (embedded control)
</h3>
</div>
</div>
</div>
<div class="figure">
<a id="d0e3370" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Dialog_quick_pick_01.png"
alt="Quick pick" />
</div>
</div>
<p class="title">
<b>Figure 3.77. Quick pick</b>
</p>
</div>
<br class="figure-break" />
<p>Tree control is used in many proeprty pages for selecting
message parts, partner links and operations.</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e3378" />3.6.3. Type selection
</h3>
</div>
</div>
</div>
<p>This dialog is displayed whenever the BPEL Designer requires
you to select a message, message part, XML Schema type or XML
element. Refer to the figure below for an explanation of each of
the components of this dialog:</p>
<div class="figure">
<a id="d0e3383" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Dialog_type_selection_01.png"
alt="Type selection" />
</div>
</div>
<p class="title">
<b>Figure 3.78. Type selection</b>
</p>
</div>
<br class="figure-break" />
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="orderedlist">
<ol>
<li><p>
<span class="guilabel"><strong>Type Name</strong>
</span>: Used to limit the items displayed in the <span
class="guilabel"><strong>Matches</strong>
</span> (4) list. Only items that begin with the text in this filter
will be displayed.
</p>
</li>
<li><p>
<span class="guilabel"><strong>Show XSD Types</strong>
</span>: Can be used to limit where the editor will search for XSD
files.
</p>
</li>
<li><p>
<span class="guilabel"><strong>Filter</strong>
</span>: Further reduces the number of matches according to types.
</p>
</li>
<li><p>
<span class="guilabel"><strong>Matches</strong>
</span>: Displays the items matching the selected filters. Selecting
an item in this list will update the <span class="guilabel"><strong>Type
Structure</strong>
</span> (5) tree view.
</p>
</li>
<li><p>
<span class="guilabel"><strong>Type Structure</strong>
</span>: Displays the structure of the item selected in the <span
class="guilabel"><strong>Matches</strong>
</span> (4) list. Depending on the type of item requested, you may
need to select an item from this tree control as well; the <span
class="guibutton"><strong>OK</strong>
</span> button being enabled is an indicated of a selection being
required here.
</p>
</li>
<li><p>
<span class="guibutton"><strong>Add Schema</strong>
</span>: If the required XML Schema has not been resolved, you can add
it to the process’ imports by clicking this button.
</p>
</li>
</ol>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="Reference-Dialog-WSDL_Selection" />3.6.4. Select WSDL
property
</h3>
</div>
</div>
</div>
<p>This dialog allows you to select an existing WSDL property
or create a new one.</p>
<div class="figure">
<a id="d0e3443" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Dialog_wsdl_selection_01.png"
alt="Select a WSDL property" />
</div>
</div>
<p class="title">
<b>Figure 3.79. Select a WSDL property</b>
</p>
</div>
<br class="figure-break" />
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="orderedlist">
<ol>
<li><p>
<span class="guilabel"><strong>Property Name</strong>
</span>: Used to limit the items displayed in the <span
class="guilabel"><strong>Matches</strong>
</span> (3) list. Only those items that begin with the text in this
filter will be displayed.
</p>
</li>
<li><p>
<span class="guibutton"><strong>New</strong>
</span>: Click this button to create a new WSDL property.
</p>
</li>
<li><p>
<span class="guilabel"><strong>Matches</strong>
</span>: Displays the items that match the <span class="guilabel"><strong>
Property Name</strong>
</span> (1), or all items if the filter is blank.
</p>
</li>
<li><p>
<span class="guilabel"><strong>Property Type</strong>
</span>: Displays the type of an item selected in the <span
class="guilabel"><strong>Matches</strong>
</span> (3) list.
</p>
</li>
</ol>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e3483" />3.6.5. Create WSDL property
</h3>
</div>
</div>
</div>
<p>
This dialog is used to create a new WSDL property and is displayed
when you click the <span class="guibutton"><strong>New</strong>
</span> button in <a class="xref" href="#Reference-Dialog-WSDL_Selection"
title="3.6.4. Select WSDL property">Section 3.6.4, “Select
WSDL property”</a> dialog.
</p>
<div class="figure">
<a id="d0e3493" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Dialog_wsdl_creation_01.png"
alt="Create a WSDL property" />
</div>
</div>
<p class="title">
<b>Figure 3.80. Create a WSDL property</b>
</p>
</div>
<br class="figure-break" />
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="orderedlist">
<ol>
<li><p>
<span class="guilabel"><strong>Name</strong>
</span>: Enter the name for the new property.
</p>
</li>
<li><p>
<span class="guibutton"><strong>Defined As</strong>
</span>: Select how the property type will be defined.
</p>
</li>
<li><p>
<span class="guilabel"><strong>Browse</strong>
</span>: Click this button to select the property type.
</p>
</li>
<li><p>
<span class="guilabel"><strong>New</strong>
</span>: Click this button to create a new property alias.
</p>
</li>
<li><p>
<span class="guilabel"><strong>Aliases</strong>
</span>: This list displays all property aliases defined for the
property.
</p>
</li>
</ol>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e3530" />3.6.6. Create WSDL property alias
</h3>
</div>
</div>
</div>
<p>This dialog allows you to create a WSDL property alias for a
selected property.</p>
<div class="figure">
<a id="d0e3535" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Dialog_wsdl_creation_02.png"
alt="Create a WSDL property alias" />
</div>
</div>
<p class="title">
<b>Figure 3.81. Create a WSDL property alias</b>
</p>
</div>
<br class="figure-break" />
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="orderedlist">
<ol>
<li><p>
<span class="guilabel"><strong>Defined As</strong>
</span>: Select how the property alias type will be defined.
</p>
</li>
<li><p>
<span class="guibutton"><strong>Browse</strong>
</span>: Click this button to select the property alias type.
</p>
</li>
<li><p>
<span class="guilabel"><strong>Query</strong>
</span>: This editor allows you to use the XPath Expression Editor to
define a query for the property alias.
</p>
</li>
</ol>
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e3560" />3.6.7. Cheat sheets
</h3>
</div>
</div>
</div>
<p>
Cheat sheets are part of the Eclipse <span class="guilabel"><strong>Help</strong>
</span> framework, which provide interactive, step-by-step tutorials for
plug-in tools. The BPEL Designer cheat sheet can be accessed by
following <span class="guimenuitem"><strong>Help</strong>
</span><span class="guimenuitem"><strong>Cheat Sheets</strong>
</span>. You will then see the following screen:
</p>
<div class="figure">
<a id="d0e3574" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Dialog_cheet_sheet_01.png"
alt="Cheat sheet menu selection" />
</div>
</div>
<p class="title">
<b>Figure 3.82. Cheat sheet menu selection</b>
</p>
</div>
<br class="figure-break" />
<p>
The cheat sheet will open in a separate view as show below. Click
on the <span class="guibutton"><strong>Click to
begin</strong>
</span> link to begin.
</p>
<div class="figure">
<a id="d0e3585" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Dialog_cheet_sheet_02.png"
alt="Cheat sheet menu" />
</div>
</div>
<p class="title">
<b>Figure 3.83. Cheat sheet menu</b>
</p>
</div>
<br class="figure-break" />
</div>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="d0e3591" />3.7. Icons, buttons and menus
</h2>
</div>
</div>
</div>
<p>The BPEL Designer does not contribute any toolbar buttons, or
main menu actions.</p>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a id="d0e3596" />3.7.1. Context menu
</h3>
</div>
</div>
</div>
<p>The context menu is activated when the right mouse button is
clicked while the mouse is over an activity figure on the drawing
canvas.</p>
<div class="figure">
<a id="d0e3601" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Context_menu_01.png"
alt="Cheat sheet menu" />
</div>
</div>
<p class="title">
<b>Figure 3.84. Cheat sheet menu</b>
</p>
</div>
<br class="figure-break" />
<p>
The <span class="guibutton"><strong>Add</strong>
</span> and <span class="guibutton"><strong>Insert Before</strong>
</span> sub-menus contain the same actions. The sub-menu is displayed in
the figure below:
</p>
<div class="figure">
<a id="d0e3615" />
<div class="figure-contents">
<div class="mediaobject">
<img src="images/reference/Context_menu_02.png"
alt="Cheat sheet menu" />
</div>
</div>
<p class="title">
<b>Figure 3.85. Cheat sheet menu</b>
</p>
</div>
<br class="figure-break" />
<p>
The items within the <span class="guibutton"><strong>Add</strong>
</span> sub-menu appends the activity after the currently selected one,
while those within the <span class="guibutton"><strong>Insert
Before</strong>
</span> sub-menu insert the new activity before the current one.
</p>
</div>
</div>
</div>
<div class="chapter" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="troubleshooting" />Chapter 4. Troubleshooting
</h2>
</div>
</div>
</div>
<div class="toc">
<dl>
<dt>
<span class="section"><a href="#d0e3639">4.1. Error
messages</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e4336">4.2. Warning
messages</a>
</span>
</dt>
<dt>
<span class="section"><a href="#d0e4388">4.3.
Information messages</a>
</span>
</dt>
</dl>
</div>
<p>This section lists all of the messages generated by the BPEL
Validator. The SA (Static Analysis) column contains hyperlinks to
the OASIS WS-BPEL 2.0 specification entry for each validation rule
to which the message applies. It is possible that one message is
applicable to more than one BPEL element or attribute, therefore all
of the SA rules that are relevant are listed for each message.</p>
<p>Refer to the OASIS documentation linked in the SA column for a
detailed explanation of the BPEL requirement, and for possible
resolutions for the error.</p>
<div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
class="note">
<h2>Note</h2>
<p>The substitution parameters (for example: {0} and {1}) are
placeholders for the BPEL element, attribute or value identified by
the Validator.</p>
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="d0e3639" />4.1. Error messages
</h2>
</div>
</div>
</div>
<div class="table">
<a id="d0e3642" />
<p class="title">
<b>Table 4.1. Error messages</b>
</p>
<div class="table-contents">
<table summary="Error messages" border="1">
<colgroup>
<col />
<col />
</colgroup>
<thead>
<tr>
<th>Message text</th>
<th>SA</th>
</tr>
</thead>
<tbody>
<tr>
<td>{1} "{2}" of type "{4}" is not compatible with WSDL
message "{3}".</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00048_table">00048</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00058_table">00058</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00087_table">00087</a>
</td>
</tr>
<tr>
<td>The start activity &lt;{0}&gt; must be the first
activity in the process.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00056_table">00056</a>
</td>
</tr>
<tr>
<td>Standard fault "{1}" cannot be handled in &lt;{0}&gt;
when exitOnStandardFaults is set to yes.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00003_table">00003</a>
</td>
</tr>
<tr>
<td>The partner link "{1}" referenced from this
&lt;{0}&gt; must have "{2}" defined.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00037_table">00037</a>
</td>
</tr>
<tr>
<td>Target scope "{2}" does not exist.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00077_table">00077</a>
</td>
</tr>
<tr>
<td>Target {3} "{2}" must have a compensationHandler or a
faultHandler.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00078_table">00078</a>
</td>
</tr>
<tr>
<td>{1,choice,0#Node|1#Activity} &lt;{0}&gt; must contain
at least {5,choice,1#one node|1&lt;{5} nodes} from {3}</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA02002_table">02002</a>
</td>
</tr>
<tr>
<td>The &lt;{1}&gt; node present in this &lt;{0}&gt; has
{2,choice,0# unspecified text value (is empty)| 1&lt;=""
td=""&gt;</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00038_table">00038</a>
</td>
</tr>
<tr>
<td>&lt;{3}&gt; can only occur at most {5,choice,1#one
time|1&lt;{5} times} in parent {1,choice,0#node|1#activity}
&lt;{0}&gt;</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA02002_table">02002</a>
</td>
</tr>
<tr>
<td>&lt;{1}&gt; name "{2}" is already defined in this
scope/process.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00018_table">00018</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00023_table">00023</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00044_table">00044</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00064_table">00064</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00068_table">00068</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00069_table">00069</a>
</td>
</tr>
<tr>
<td>This &lt;{0}&gt; with name="{1}" was already defined
previously</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00022_table">00022</a>
</td>
</tr>
<tr>
<td>Cannot import type "{1}" from location "{2}"</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA01234_table">01234</a>
</td>
</tr>
<tr>
<td>The XSD type "{1}" of {2} "{3}" in this &lt;{0}&gt; is
not a simple XSD type.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00045_table">00045</a>
</td>
</tr>
<tr>
<td>This &lt;{0}&gt; uses undefined message part "{1}" in
message type "{2}".</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00021_table">00021</a>
</td>
</tr>
<tr>
<td>There is no "{2}" message that is used by this
&lt;{0}&gt; - {3,choice,0#node &lt;{4}&gt; |2#attribute "{4}"}
must be omitted.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00047_table">00047</a>
</td>
</tr>
<tr>
<td>Solicit-response operation "{4}" in portType "{3}"
cannot be used in a BPEL process.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00001_table">00001</a>
</td>
</tr>
<tr>
<td>XSD element &lt;{0}&gt; in import {1} conflicts with
element of the same name in {2}.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00014_table">00014</a>
</td>
</tr>
<tr>
<td>{1,choice,0#Node|1#Activity} &lt;{0}&gt; must have {2}
{3,choice,0#node|1#activity|2#attribute} present.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00080_table">00080</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00081_table">00081</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00083_table">00083</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00090_table">00090</a>
</td>
</tr>
<tr>
<td>The variable name "{1}" is used as a counter name in
&lt;{2}&gt;.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00076_table">00076</a>
</td>
</tr>
<tr>
<td>The link "{1}" used as a {0} is not defined in the
enclosing flow.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00065_table">00065</a>
</td>
</tr>
<tr>
<td>Scope "{1}" cannot have a &lt;{2}&gt; because because
it is itself inside an FCT-hander.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00079_table">00079</a>
</td>
</tr>
<tr>
<td>The &lt;link&gt; "{1}" has a control cycle where the
source "{2}" has the target "{3}" as a preceding activity.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00072_table">00072</a>
</td>
</tr>
<tr>
<td>&lt;{0}&gt; cannot be a child of &lt;{1}&gt;; it can
only be a child of {2}</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA02001_table">02001</a>
</td>
</tr>
<tr>
<td>The link "{1}" does not have a source.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00066_table">00066</a>
</td>
</tr>
<tr>
<td>{0} attribute refers to an unsupported language URI
{1}</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00004_table">00004</a>
</td>
</tr>
<tr>
<td>A catch for fault "{1}" already exist.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00093_table">00093</a>
</td>
</tr>
<tr>
<td>Extension "{1}" is not supported by this
implementation.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00009_table">00009</a>
</td>
</tr>
<tr>
<td>{1,choice,0#Node|1#Activity} &lt;{0}&gt; must specify
one {3,choice,0#node|1#activity|2#attribute} {2}.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00081_table">00081</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00081_table">00090</a>
</td>
</tr>
<tr>
<td>The attribute {1} must be set to "{2}" on this
&lt;{0}&gt;</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00057_table">00057</a>
</td>
</tr>
<tr>
<td>Attribute "{0}" must not be set on this &lt;{1}&gt;
{2,choice,0#node|1#activity}.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00046_table">00046</a>
</td>
</tr>
<tr>
<td>{3,choice,0#Node|1#Activity|2#Attribute} {2} must not
be specified on {1,choice,0#node|1#activity} &lt;{0}&gt;.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00090_table">00090</a>
</td>
</tr>
<tr>
<td>Attribute "{1}" cannot be set because {2} "{3}" is not
an element.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00042_table">00042</a>
</td>
</tr>
<tr>
<td>Immediately enclosed {0} "{1}" must have a unique name
within the outer scope "{3}".</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00092_table">00092</a>
</td>
</tr>
<tr>
<td>"{1}" is set to "{2}" on this &lt;{0}&gt;
{4,choice,0#node|1#activity} but it can only be set to {3}</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00017_table">00017</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00032_table">00032</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00046_table">00046</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00090_table">00090</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA01001_table">01001</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA01010_table">01010</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA02003_table">02003</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA02004_table">02004</a>
</td>
</tr>
<tr>
<td>The {1} of "{2}" is not compatible with {3} of "{4}" -
{5}</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00043_table">00043</a>
</td>
</tr>
<tr>
<td>Message part "{1}" does not exist in message "{2}"</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00034_table">00034</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00054_table">00054</a>
</td>
</tr>
<tr>
<td>partnerLink "{1}" uses portType "{3}" (via
partnerLinkType "{2}") which has an overloaded operation
"{4}".</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00002_table">00002</a>
</td>
</tr>
<tr>
<td>Attribute "{1}" is not set on this &lt;{0}&gt;
{2,choice,0#node|1#activity}.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00000_table">00000</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00010_table">00010</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00024_table">00024</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00032_table">00032</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00046_table">00046</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00047_table">00047</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00081_table">00081</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00088_table">00088</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00090_table">00090</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA01001_table">01001</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA01004_table">01004</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA01010_table">01010</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA02003_table">02003</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA02004_table">02004</a>
</td>
</tr>
<tr>
<td>The &lt;{0}&gt; activity named "{1}" must be in a
fault, compensate, or termination handlers.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00007_table">00007</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00008_table">00008</a>
</td>
</tr>
<tr>
<td>The "{1}" cannot be used on &lt;{0}&gt; that does not
have {2} defined.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00017_table">00017</a>
</td>
</tr>
<tr>
<td>&lt;{0}&gt; activity "{1}" specifies a portType "{2}",
yet this portType does not match the portType derived from
"{4}" of partnerLink "{3}" defined in WSDL "{5}"</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00005_table">00005</a>
</td>
</tr>
<tr>
<td>Isolated scope "{1}" cannot exist within another
isolated scope (scope "{3}").</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00091_table">00091</a>
</td>
</tr>
<tr>
<td>&lt;{0}&gt; activity "{1}" is trying to use
partnerLink "{2}" which does not have a "{3}" defined.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00084_table">00084</a>
</td>
</tr>
<tr>
<td>Part "{3}" must be specified on this &lt;{2}&gt; -
activity &lt;{1}&gt; requires it.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00050_table">00050</a>
</td>
</tr>
<tr>
<td>The targetNamespace {2} of the imported document is
not the default namespace.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00012_table">00012</a>
</td>
</tr>
<tr>
<td>This &lt;{0}&gt; activity is a start activity and
cannot have an onAlarm component.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00062_table">00062</a>
</td>
</tr>
<tr>
<td>The import namespace {1} and the imported document
target namespace {2} do not match.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00011_table">00011</a>
</td>
</tr>
<tr>
<td>The {1} start activities must share at least one
correlation.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00057_table">00057</a>
</td>
</tr>
<tr>
<td>Either "{1}" or "{2}" attribute is required on this
&lt;{0}&gt;</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00019_table">00019</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00020_table">00020</a>
</td>
</tr>
<tr>
<td>The partner link "{1}" referenced from this
&lt;{0}&gt; must have "{2}" defined.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00035_table">00035</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00036_table">00036</a>
</td>
</tr>
<tr>
<td>The &lt;{1}&gt; activity named {0} must be in a fault
handler.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00006_table">00006</a>
</td>
</tr>
<tr>
<td>The part "{1}" is already specified in another
&lt;{0}&gt;.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00053_table">00053</a>
</td>
</tr>
<tr>
<td>The link "{1}" is not unique - the link "{2}" also
makes an identical connection.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00067_table">00067</a>
</td>
</tr>
<tr>
<td>The form of &lt;{0}&gt; is not valid (too many
variants detected).</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00032_table">00032</a>
</td>
</tr>
<tr>
<td>The variable name "{0}" contains an illegal period (.)
character.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00024_table">00024</a>
</td>
</tr>
<tr>
<td>Notification operation "{4}" in portType "{3}" (via
partnerLinkType "{2}") cannot be used in a BPEL process.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00001_table">00001</a>
</td>
</tr>
<tr>
<td>The link "{1}" does not have a target.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00066_table">00066</a>
</td>
</tr>
<tr>
<td>The link "{1}" crosses repeatable boundary on
&lt;{2}&gt;.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00070_table">00070</a>
</td>
</tr>
<tr>
<td>The "{0}" attribute of this &lt;{1}&gt; is set to
"{2}" - it is not a valid NCName.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00000_table">00000</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00024_table">00024</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA01004_table">01004</a>
</td>
</tr>
<tr>
<td>Either &lt;{1}&gt; *or* attribute "{2}" must be
specified on &lt;{0}&gt;.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00051_table">00051</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00052_table">00052</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00055_table">00055</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00059_table">00059</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00063_table">00063</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00085_table">00085</a>
</td>
</tr>
<tr>
<td>The {1} "{2}" is not of messageType and a "part" is
specified in this &lt;{0}&gt; node.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00034_table">00034</a>
</td>
</tr>
<tr>
<td>"{1}" is set to "{3}" on this &lt;{0}&gt;
{2,choice,0#|1#activity} but it cannot be resolved (check
value of "{1}", imports, WSDLs or XSDs).</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00010_table">00010</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00017_table">00017</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00021_table">00021</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00032_table">00032</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00045_table">00045</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00081_table">00081</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00088_table">00088</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00090_table">00090</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA02003_table">02003</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA02004_table">02004</a>
</td>
</tr>
<tr>
<td>Link "{1}" must be outbound only; target activity must
be outside of the enclosing &lt;{2}&gt;.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00071_table">00071</a>
</td>
</tr>
<tr>
<td>Variable "{0}" must be have either
messageType,element, or type defined.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00025_table">00025</a>
</td>
</tr>
<tr>
<td>There is no start activity in process "{1}"</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00015_table">00015</a>
</td>
</tr>
<tr>
<td>{0} "{1}" must have "{2}" and/or "{3}" set.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00016_table">00016</a>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break" />
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="d0e4336" />4.2. Warning messages
</h2>
</div>
</div>
</div>
<div class="table">
<a id="d0e4339" />
<p class="title">
<b>Table 4.2. Error messages</b>
</p>
<div class="table-contents">
<table summary="Error messages" border="1">
<colgroup>
<col />
<col />
</colgroup>
<thead>
<tr>
<th>Message text</th>
<th>SA</th>
</tr>
</thead>
<tbody>
<tr>
<td>The expression in &lt;{0}&gt; cannot be checked - no
expression validator has been registered for language {1}.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00029_table">00029</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00033_table">00033</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA01000_table">01000</a>
</td>
</tr>
<tr>
<td>The {1} of simple type "{2}" is not compatible with
{3} of simple type "{4}" - a BPEL runtime may provide an
implicit conversion.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00043_table">00043</a>
</td>
</tr>
<tr>
<td>The {3,choice,0#node|1#activity} &lt;{0}&gt; refers to
a {1} (via the attribute "{2}") - this {1} needs to be defined
correctly.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00032_table">00032</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA02003_table">02003</a>
<a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA02004_table">02004</a>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break" />
</div>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="d0e4388" />4.3. Information messages
</h2>
</div>
</div>
</div>
<div class="table">
<a id="d0e4391" />
<p class="title">
<b>Table 4.3. Error messages</b>
</p>
<div class="table-contents">
<table summary="Error messages" border="1">
<colgroup>
<col />
<col />
</colgroup>
<thead>
<tr>
<th>Message text</th>
<th>SA</th>
</tr>
</thead>
<tbody>
<tr>
<td>Copy rule not checked - {1} type-of "{2}", {3} type-of
"{4}".</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00043_table">00043</a>
</td>
</tr>
<tr>
<td>The {1} of {0} is not defined in BPEL 2.0 and is not
understood by this implementation.</td>
<td><a class="ulink"
href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#SA00013_table">00013</a>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break" />
</div>
</div>
<div class="chapter" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="d0e4420" />Chapter 5. Summary
</h2>
</div>
</div>
</div>
<div class="toc">
<dl>
<dt>
<span class="section"><a href="#d0e4426">5.1. Other
relevant resources on the topic</a>
</span>
</dt>
</dl>
</div>
<p>This document highlights the capabilities of BPEL Tools, as
well as providing the steps required to create and configure BPEL
process and deployment descriptor files. If you have questions or
suggestions concerned both the documentation and tools behavior
please visit the JBoss Tools Users forum.</p>
<div class="section" lang="en-US">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a id="d0e4426" />5.1. Other relevant resources on the topic
</h2>
</div>
</div>
</div>
<p>
All JBoss Tools release documentation you can find at <a
class="ulink" href="http://docs.jboss.org/tools">http://docs.jboss.org/tools</a>
in the corresponding release directory.
</p>
<p>
The latest documentation builds are available at <a class="ulink"
href="http://download.jboss.org/jbosstools/nightly-docs">http://download.jboss.org/jbosstools/nightly-docs</a>.
</p>
</div>
</div>
</div>
</body>
</html>