Designer > Planning Your BPEL Process > Declaring Extensions
  

Declaring Extensions

An extension declaration allows you to add a new construct to a BPEL process. Process Developer ignores it, since it can not understand it.
You can extend the definition of the BPEL language by declaring an extension. An extension declaration allows you to add constructs such as a new activity type or new processing instructions that are outside of the WS-BPEL 2.0 specification.
Process Developer and the Process Server use extensions. The Process Developer extensions are:
When you use one of these extensions, the extension namespace is automatically added to the Outline view. However, you can add the extension namespace manually before you use the extension, if desired.
To add your own extension definition:
  1. 1. From the Outline view, select Extensions, and right-click to select Add > Declaration > Extension.
  2. 2. In the Extension Definition dialog, select User Defined Extension Namespace.
  3. 3. Type in a namespace referencing your BPEL extension.
  4. 4. Check Must understand if required. Note that when this is selected and you use the extension in your process, Process Developer reports an error when you save the process. The process cannot be simulated or deployed. If you do not select Must understand, your extensions are ignored by the Process Server.
  5. Extension Definition dialog

Using the Process Developer Create XPath Extension

The Process Developer Create XPath extension allows an executing process to automatically create a location path for a non-existent node in a complex variable. You can use this extension on a process-by-process basis or set a preference to include it in all processes. When you use the extension, an extension namespace and process attribute are added to the process as follows:
<bpel:process ...
xmlns:ext=
"http://www.activebpel.org/2006/09/bpel/extension/query_handling" ...
ext:createTargetXPath="yes" ...>
<bpel:extensions>
<bpel:extension mustUnderstand="yes" namespace=
"http://www.activebpel.org/2006/09/bpel/
extension/query_handling"/>
</bpel:extensions>
...
The process extension is enabled during simulation in Process Developer and enabled for execution on the Process Server.
To enable or disable this extension for an individual process:
  1. 1. In the process Properties view, select the All tab.
  2. 2. In the Create XPath row, select Yes or No from the pick arrow.
The extension is added to the Outline view, and its elements and attributes are added to the BPEL source code.

Using the Process Developer Disable Selection Failure Fault Extension

The Process Developer Disable Selection Failure extension allows an XPath query in the From clause of an assignment Copy operation to return an empty node set. If it does, the target node for the assignment is deleted. You can use this extension on a process-by-process basis or set a preference to include it in all processes. When you use the extension, an extension namespace and process attribute are added to the process as follows:
<bpel:process ...
xmlns:ext=
"http://www.activebpel.org/2006/09/bpel/extension/query_handling" ...
ext:disableSelectionFailure="yes" ...>
<bpel:extensions>
<bpel:extension mustUnderstand="yes" namespace=
"http://www.activebpel.org/2006/09/bpel/
extension/query_handling"/>
</bpel:extensions>
...
The process extension is enabled during simulation in Process Developer and enabled for execution on the Process Server.
To enable or disable this extension for an individual process:
  1. 1. In the process' Properties view, select the All tab.
  2. 2. In the Disable Selection Failure row, select Yes or No from the pick arrow.
The extension is added to the Outline view, and its elements and attributes are added to the BPEL source code.