To the right of the Entity Variable field, click the Search icon.

Manipulating XML Data in a BPEL Process 6-11

9. Click OK to close the Bind Entity dialog.

After the Bind Entity activity is executed at runtime, the entity variable is ready to be used. For more information about using SDOs, see Oracle Fusion Middleware Fusion Developers Guide for Oracle Application Development Framework. This guide describes how to expose application modules as web services and publish rows of view data objects as SDOs. The application module is the ADF framework component that encapsulates business logic as a set of related business functions.

6.3 Using Standalone SDO-based Variables

Standalone SDO-based variables are similar to ordinary BPEL XML-DOM-based variables. The major difference is that the underlying data form is SDO-based, instead of DOM-based. Therefore, SDO-based variables can use some SDO features such as Java API access, an easier-to-use update API, and the change summary. However, SDO usage is also subject to some restrictions that do not exist with XML-DOM-based variables. The most noticeable restriction is that SDO only supports a small subset of XPath expressions.

6.3.1 How to Declare SDO-based Variables

The syntax for declaring an SDO-based variable is similar to that for declaring BPEL variables. Example 6–5 provides details. Example 6–5 SDO-based Variable Declaration variable name=deptVar_s element=hrtypes:dept variable name=deptVar_v element=hrtypes:dept bpelx:sdoCapable=false If you want to override the automatic detection, use the bpelx:sdoCapable=true|false switch. For example, variable deptVar_v described in Example 6–5 is a regular DOM-based variable. Example 6–6 provides an example of the schema. Example 6–6 XSD Sample xsd:element name=dept type=Dept xsd:complexType name=Dept sdoJava:instanceClass=sdo.sample.service.types.Dept xsd:annotation xsd:appinfo source=Key xmlns=http:xmlns.oracle.combc4jservicemetadata key attributeDeptnoattribute key fetchModeminimalfetchMode xsd:appinfo xsd:annotation xsd:sequence xsd:element name=Deptno type=xsd:integer minOccurs=0 xsd:element name=Dname type=xsd:string minOccurs=0 nillable=true xsd:element name=Loc type=xsd:string minOccurs=0 nillable=true xsd:element name=Emp type=Emp minOccurs=0 maxOccurs=unbounded nillable=true xsd:sequence xsd:complexType