Go to main content
1/82
Contents
Title and Copyright Information
Preface
Audience
Related Documents
Conventions
What's New in This Guide
New and Changed Features for 12c (12.1.3)
Other Significant Changes in this Document for 12c (12.1.3)
Part I Getting Started with Oracle SOA Suite
1
Introduction to Building Applications with Oracle SOA Suite
1.1
Introduction to Oracle SOA Suite
1.1.1
Service-Oriented Architecture
1.1.2
Services
1.1.3
Oracle SOA Suite
1.1.4
Standards Used by Oracle SOA Suite to Enable SOA
1.1.5
Service Component Architecture within SOA Composite Applications
1.1.5.1
Service Components
1.1.5.2
Binding Components
1.1.5.3
Wires
1.1.6
Runtime Behavior of a SOA Composite Application
1.1.6.1
Service Infrastructure
1.1.6.2
Service Engines
1.1.6.3
Deployed Service Archives
1.1.7
Approaches for Designing SOA Composite Applications
1.2
Getting Started with Oracle SOA Suite
1.3
Setting Accessibility Options
1.3.1
Setting Accessibility Options in Oracle JDeveloper
1.3.2
Setting Accessibility Options in Oracle SOA Composer and Oracle BPM Worklist
1.3.2.1
How to Set Accessibility Features Before Logging In
1.3.2.2
How to Set Accessibility Options After Logging In
2
Getting Started with Developing SOA Composite Applications
2.1
Creating a SOA Application
2.1.1
How to Create a SOA Application and Project
2.1.2
What Happens When You Create a SOA Application and Project
2.2
Adding Service Components
2.2.1
How to Add a Service Component
2.2.2
What You May Need to Know About Adding and Deleting a Service Component
2.2.3
How to Edit a Service Component
2.3
Adding Service Binding Components
2.3.1
How to Add a Service Binding Component
2.3.2
How to Define the Interface (WSDL) for a Web Service
2.3.2.1
Defining a New WSDL Using a Schema
2.3.2.2
Selecting an Existing WSDL
2.3.2.3
Automatically Defining a Service Interface WSDL from a Component
2.3.3
How to View Schemas
2.3.4
How to Edit a Service Binding Component
2.3.5
What You May Need to Know About Adding and Deleting Services
2.3.6
What You May Need to Know About Using the Same Namespace in Different WSDL Files in the Same Composite
2.3.7
What You May Need to Know About WSDL Browsing in the Resources Window When the SOA Infrastructure Uses Both Internal and External Oracle HTTP Servers
2.4
Adding Reference Binding Components
2.4.1
How to Add a Reference Binding Component
2.4.2
What You May Need to Know About Adding and Deleting References
2.4.3
What You May Need to Know About WSDL References
2.4.4
What You May Need to Know About Mixed Message Types in a WSDL File
2.4.5
What You May Need to Know About Invoking the Default Revision of a Composite
2.5
Adding Wires
2.5.1
How to Wire a Service and a Service Component
2.5.2
How to Wire a Service Component and a Reference
2.5.3
What You May Need to Know About Adding and Deleting Wires
2.6
Adding Descriptions to SOA Composite Applications
2.6.1
How to Add Descriptions to SOA Composite Applications
2.7
Renaming, Deleting, and Moving Components and Artifacts
2.7.1
How to Rename and Delete Components in the SOA Composite Editor
2.7.2
How to Rename, Move, and Delete Artifacts in the Applications Window
2.8
Viewing Component Details in the Property Inspector
2.9
Adding Security Policies
2.10
Deploying a SOA Composite Application
2.10.1
How to Invoke Deployed SOA Composite Applications
2.11
Managing and Testing a SOA Composite Application
2.11.1
How to Manage Deployed SOA Composite Applications in Oracle JDeveloper
2.11.2
How to Test and Debug a Deployed SOA Composite Application
3
Managing Shared Data with the Design-Time MDS Repository
3.1
Introduction to SOA Design-Time MDS Repository Management
3.1.1
Introduction to the Default SOA Design-Time MDS Repository Connection
3.2
Changing the Default SOA-MDS Location
3.2.1
How to Change the Default SOA-MDS Location
3.3
Sharing Data with the SOA Design-Time MDS Repository
3.3.1
How to Share Data with the SOA Design-Time MDS Repository
3.4
Creating and Deleting Subfolders Under the /apps Folder
3.4.1
How to Create and Delete Subfolders Under the /apps Folder
3.5
Exporting the Selected Contents of the /apps Folder to a JAR File
3.5.1
How to Export the Selected Contents of the /apps Folder to a JAR File
3.6
Importing the Contents of the JAR File into the /apps Folder
3.6.1
How to Import the Contents of the JAR File into the /apps Folder
3.7
Transferring the Selected Contents of the /apps Folder to Another MDS Repository
3.7.1
How to Transfer the Selected Contents of the /apps Folder to Another MDS Repository
3.8
Exporting an Existing Release 11g MDS Repository to a JAR File
3.8.1
How to Export an Existing Release 11g MDS Repository to a JAR File
3.9
Browsing for Files in the SOA Design-Time MDS Repository
Part II Using the BPEL Process Service Component
4
Getting Started with Oracle BPEL Process Manager
4.1
Introduction to the BPEL Process Service Component
4.1.1
How to Add a BPEL Process Service Component
4.1.2
How to Validate a BPEL Process Service Component
4.2
Introduction to Activities
4.2.1
How to Edit BPEL Activities in the Property Inspector
4.2.2
How to Copy and Paste Activities in BPEL Projects
4.2.3
How to Add a Description of Actions to BPEL Process Activities
4.3
Introduction to Partner Links
4.4
Creating a Partner Link
4.4.1
How to Create a Partner Link
4.4.1.1
Partner Links for an Outbound Adapter
4.4.1.2
Partner Links for an Inbound Adapter
4.4.1.3
Partner Links from an Abstract WSDL to Call a Service
4.4.1.4
Partner Links from an Abstract WSDL to Implement a Service
4.4.1.5
Partner Links and Human Tasks or Business Rules
4.4.1.6
Partner Links from an Existing Human Task, Business Rule, or Oracle Mediator
4.5
Introduction to Adapters
4.6
Introduction to BPEL Process Monitors
5
Introduction to Interaction Patterns in a BPEL Process
5.1
Introduction to One-Way Messages
5.1.1
BPEL Process Service Component as the Client
5.1.2
BPEL Process Service Component as the Service
5.2
Introduction to Synchronous Interactions
5.2.1
BPEL Process Service Component as the Client
5.2.2
BPEL Process Service Component as the Service
5.2.3
Synchronous BPEL Process Invoking an Asynchronous Process
5.3
Introduction to Asynchronous Interactions
5.3.1
BPEL Process Service Component as the Client
5.3.2
BPEL Process Service Component as the Service
5.4
Introduction to Asynchronous Interactions with a Timeout
5.4.1
BPEL Process Service Component as the Client
5.4.2
BPEL Process Service Component as the Service
5.5
Introduction to Asynchronous Interactions with a Notification Timer
5.5.1
BPEL Process Service Component as the Client
5.5.2
BPEL Process Service Component as the Service
5.6
Introduction to One Request, Multiple Responses
5.6.1
BPEL Process Service Component as the Client
5.6.2
BPEL Process Service Component as the Service
5.7
Introduction to One Request, One of Two Possible Responses
5.7.1
BPEL Process Service Component as the Client
5.7.2
BPEL Process Service Component as the Service
5.8
Introduction to One Request, a Mandatory Response, and an Optional Response
5.8.1
BPEL Process Service Component as the Client
5.8.2
BPEL Process Service Component as the Service
5.9
Introduction to Partial Processing
5.9.1
BPEL Process Service Component as the Client
5.9.2
BPEL Process Service Component as the Service
5.10
Introduction to Multiple Application Interactions
6
Manipulating XML Data in a BPEL Process
6.1
Introduction to Manipulating XML Data in BPEL Processes
6.1.1
XML Data in BPEL Processes
6.1.2
Data Manipulation and XPath Standards in Assign Activities
6.2
Delegating XML Data Operations to Data Provider Services
6.2.1
How to Create an Entity Variable
6.2.1.1
Understanding How SDO Works in the Inbound Direction
6.2.1.2
Understanding How SDO Works in the Outbound Direction
6.2.1.3
Creating an Entity Variable and Choosing a Partner Link
6.2.1.4
Creating a Binding Key
6.3
Translating Between Native Data and XML
6.3.1
How to Translate Native Data to XML Data
6.3.2
How to Translate XML Data to Native Data
6.3.3
How to Translate Inbound Native Data to XML Stored as an Attachment
6.4
Using Standalone SDO-based Variables
6.4.1
How to Declare SDO-based Variables
6.4.2
How to Convert from XML to SDO
6.5
Initializing a Variable with Expression Constants or Literal XML
6.5.1
How To Assign a Literal XML Element
6.6
Copying Between Variables
6.6.1
How to Copy Between Variables
6.6.2
How to Initialize Variables with an Inline from-spec in BPEL 2.0
6.7
Moving and Copying Variables in the Structure Window
6.7.1
To Move Variables in the Structure Window:
6.7.2
To Copy Variables in the Structure Window:
6.8
Accessing Fields in Element and Message Type Variables
6.8.1
How to Access Fields Within Element-Based and Message Type-Based Variables
6.9
Assigning Numeric Values
6.9.1
How to Assign Numeric Values
6.10
Using Mathematical Calculations with XPath Standards
6.10.1
How To Use Mathematical Calculations with XPath Standards
6.11
Assigning String Literals
6.11.1
How to Assign String Literals
6.12
Concatenating Strings
6.12.1
How to Concatenate Strings
6.13
Assigning Boolean Values
6.13.1
How to Assign Boolean Values
6.14
Assigning a Date or Time
6.14.1
How to Assign a Date or Time
6.15
Manipulating Attributes
6.15.1
How to Manipulate Attributes
6.16
Manipulating XML Data with bpelx Extensions
6.16.1
How to Use bpelx:append
6.16.1.1
bpelx:append in BPEL 1.1
6.16.1.2
bpelx:append in BPEL 2.0
6.16.2
How to Use bpelx:insertBefore
6.16.2.1
bpelx:insertBefore in BPEL 1.1
6.16.2.2
bpelx:insertBefore in BPEL 2.0
6.16.3
How to Use bpelx:insertAfter
6.16.3.1
bpelx:insertAfter in BPEL 1.1
6.16.3.2
bpelx:insertAfter in BPEL 2.0
6.16.4
How to Use bpelx:remove
6.16.4.1
bpelx:remove in BPEL 1.1
6.16.4.2
bpelx:remove in BPEL 2.0
6.16.5
How to Use bpelx:rename and XSD Type Casting
6.16.5.1
bpelx:rename in BPEL 1.1
6.16.5.2
bpelx:rename in BPEL 2.0
6.16.6
How to Use bpelx:copyList
6.16.6.1
bpelx:copyList in BPEL 1.1
6.16.6.2
bpelx:copyList in BPEL 2.0
6.16.7
How to Use Assign Extension Attributes
6.16.7.1
ignoreMissingFromData Attribute
6.16.7.2
insertMissingToData Attribute
6.16.7.3
keepSrcElementName Attribute
6.17
Validating XML Data
6.17.1
How to Validate XML Data in BPEL 2.0
6.17.1.1
Validate XML in an Assign Activity
6.17.1.2
Validate XML in a Standalone, Extended Validate Activity
6.17.2
How to Validate XML Data in BPEL 1.1
6.17.2.1
Validate XML in an Assign Activity
6.17.2.2
Validate XML in a Standalone, Extended Validate Activity
6.18
Using Element Variables in Message Exchange Activities in BPEL 2.0
6.19
Mapping WSDL Message Parts in BPEL 2.0
6.19.1
How to Map WSDL Message Parts
6.20
Importing Process Definitions in BPEL 2.0
6.21
Manipulating XML Data Sequences That Resemble Arrays
6.21.1
How to Statically Index into an XML Data Sequence That Uses Arrays
6.21.2
How to Use SOAP-Encoded Arrays
6.21.2.1
SOAP-Encoded Arrays in BPEL 2.0
6.21.2.2
Declaring a SOAP Array Using a wsdl:arrayType Attribute Inside a Schema
6.21.3
How to Determine Sequence Size
6.21.4
How to Dynamically Index by Applying a Trailing XPath to an Expression
6.21.4.1
Applying a Trailing XPath to the Result of getVariableData
6.21.4.2
Using the bpelx:append Extension to Append New Items to a Sequence
6.21.4.3
Merging Data Sequences
6.21.4.4
Generating Functionality Equivalent to an Array of an Empty Element
6.21.5
What You May Need to Know About Using the Array Identifier
6.22
Converting from a String to an XML Element
6.22.1
How To Convert from a String to an XML Element
6.23
Understanding Document-Style and RPC-Style WSDL Differences
6.23.1
How To Use RPC-Style Files
6.24
Manipulating SOAP Headers in BPEL
6.24.1
How to Receive SOAP Headers in BPEL
6.24.2
How to Send SOAP Headers in BPEL
6.25
Declaring Extension Namespaces in BPEL 2.0
6.25.1
How to Declare Extension Namespaces
6.25.2
What Happens When You Create an Extension
7
Invoking a Synchronous Web Service from a BPEL Process
7.1
Introduction to Invoking a Synchronous Web Service
7.2
Invoking a Synchronous Web Service
7.2.1
How to Invoke a Synchronous Web Service
7.2.1.1
How Does the BPEL Process Work
7.2.2
What Happens When You Invoke a Synchronous Web Service
7.2.2.1
Partner Link in the BPEL Code
7.2.2.2
Partner Link Type and Port Type in the BPEL Code
7.2.2.3
Invoke Activity for Performing a Request
7.2.2.4
Synchronous Invocation in BPEL Code
7.3
Specifying Transaction Timeout Values in Durable Synchronous Processes
7.3.1
How To Specify Transaction Timeout Values
7.3.2
What You May Need to Know About SyncMaxWaitTime and Durable Synchronous Requests Not Timing Out
7.4
Calling a One-Way Mediator with a Synchronous BPEL Process
8
Invoking an Asynchronous Web Service from a BPEL Process
8.1
Introduction to Invoking an Asynchronous Web Service
8.2
Invoking an Asynchronous Web Service
8.2.1
How to Invoke an Asynchronous Web Service
8.2.1.1
Adding a Partner Link for an Asynchronous Service
8.2.1.2
Adding an Invoke Activity
8.2.1.3
Adding a Receive Activity
8.2.1.4
Performing Additional Activities
8.2.2
What Happens When You Invoke an Asynchronous Web Service
8.2.2.1
portType Section of the WSDL File
8.2.2.2
partnerLinkType Section of the WSDL File
8.2.2.3
Partner Links Section in the BPEL File
8.2.2.4
Composite Application File
8.2.2.5
Invoke and Receive Activities
8.2.2.6
createInstance Attribute for Starting a New Instance
8.2.2.7
Dehydration Points for Maintaining Long-Running Asynchronous Processes
8.2.2.8
Multiple Runtime Endpoint Locations
8.2.3
What You May Need to Know About Midprocess Receive Activities Consuming Messages After Timing Out
8.2.4
What You May Need to Know About Multiple Client Components Invoking a Composite
8.2.5
What You May Need to Know About Limitations on BPEL 2.0 IMA Support
8.2.6
What Happens When You Specify a Conversation ID
8.2.6.1
bpelx:conversationId in BPEL 1.1
8.2.6.2
bpelx:conversationId in BPEL 2.0
8.3
Routing Callback Messages to the Correct Endpoint when Multiple Receive or Pick Activities Use the Same Partner Link
8.3.1
How to Route Callback Messages to the Correct Endpoint when Multiple Receive and Pick Activities Use the Same Partner Link
8.4
Managing Idempotence at the Partner Link Operation Level
8.4.1
How to Manage Idempotence at the Partner Link Operation Level
8.5
Creating a Dynamic Partner Link at Design Time for Use at Runtime
8.5.1
How To Create a Dynamic Partner Link at Design Time for Use at Runtime
8.6
Overriding Security Certificates when Invoking Dynamic Partner Links
8.7
Overriding WSDL Files of Dynamic Partner Links
8.8
Using WS-Addressing in an Asynchronous Service
8.8.1
How to Use WS-Addressing in an Asynchronous Service
8.8.1.1
Using TCP Tunneling to View Messages Exchanged Between Programs
8.8.1.1.1
Setting Up a TCP Listener for Synchronous Services
8.8.1.1.2
Setting Up a TCP Listener for Asynchronous Services
9
Using Correlation Sets and Message Aggregation
9.1
Introduction to Correlation Sets in an Asynchronous Service
9.1.1
Scenarios for Using Correlation Sets
9.1.2
Understanding Correlation Set Contents and Concepts
9.1.3
Overview of Correlation Set Creation
9.2
Creating Correlation Sets in Oracle JDeveloper
9.2.1
How to Create a Correlation Set with the Correlation Wizard
9.2.2
How to Manually Create Correlation Sets From the Correlations Tab
9.2.2.1
Step 1: Creating a Project
9.2.2.2
Step 2: Configuring Partner Links and File Adapter Services
9.2.2.2.1
Creating an Initial Partner Link and File Adapter Service
9.2.2.2.2
Creating a Second Partner Link and File Adapter Service
9.2.2.3
Step 3: Creating Three Receive Activities
9.2.2.3.1
Creating an Initial Receive Activity
9.2.2.3.2
Creating a Second Receive Activity
9.2.2.4
Step 4: Creating Correlation Sets
9.2.2.4.1
Creating an Initial Correlation Set
9.2.2.4.2
Creating a Second Correlation Set
9.2.2.5
Step 5: Associating Correlation Sets with Receive Activities
9.2.2.5.1
Associating the First Correlation Set with a Receive Activity
9.2.2.5.2
Associating the Second Correlation Set with a Receive Activity
9.2.2.5.3
Associating the Third Correlation Set with a Receive Activity
9.2.2.6
Step 6: Creating Property Aliases
9.2.2.6.1
Creating Property Aliases for NameCorr
9.2.2.6.2
Creating Property Aliases for IDCorr
9.2.2.7
Step 7: Reviewing WSDL File Content
9.2.3
What You May Need to Know About Conversion IDs and Different Composite Revisions
9.2.4
What You May Need to Know About Setting Correlations for an IMA Using a fromParts Element With Multiple Parts
9.3
Routing Messages to the Same Instance
9.3.1
How to Configure BPEL Process Instance Creation
9.3.2
How to Use the Same Operation in Entry and Midprocess Receive Activities
9.3.3
How to Route a Message to a New or Existing Instance when Using Correlation Sets
10
Using Parallel Flow in a BPEL Process
10.1
Introduction to Parallel Flows in BPEL Processes
10.1.1
What You May Need to Know About the Execution of Parallel Flow Branches in a Single Thread
10.2
Creating a Parallel Flow
10.2.1
How to Create a Parallel Flow
10.2.2
What Happens When You Create a Parallel Flow
10.2.3
Synchronizing the Execution of Activities in a Flow Activity
10.2.4
How to Create Synchronization Between Activities Within a Flow Activity
10.2.5
What Happens When You Create Synchronization Between Activities Within a Flow Activity
10.2.6
What You May Need to Know About Join Conditions in Target Activities
10.3
Customizing the Number of Parallel Branches
10.3.1
Processing Multiple Sets of Activities with the forEach Activity in BPEL 2.0
10.3.1.1
How to Create a forEach Activity
10.3.1.2
What Happens When You Create a forEach Activity
10.3.2
Customizing the Number of Flow Activities with the flowN Activity in BPEL 1.1
10.3.2.1
How to Create a flowN Activity
10.3.2.2
What Happens When You Create a FlowN Activity
11
Using Conditional Branching in a BPEL Process
11.1
Introduction to Conditional Branching
11.2
Defining Conditional Branching with the If or Switch Activity
11.2.1
Defining Conditional Branching with the If Activity in BPEL 2.0
11.2.1.1
How to Create an If Activity
11.2.1.2
What Happens When You Create an If Activity
11.2.2
Defining Conditional Branching with the Switch Activity in BPEL 1.1
11.2.2.1
How to Create a Switch Activity
11.2.2.2
What Happens When You Create a Switch Activity
11.3
Defining Conditional Branching with the While Activity
11.3.1
How To Create a While Activity
11.3.2
What Happens When You Create a While Activity
11.4
Defining Conditional Branching with the repeatUntil Activity
11.4.1
How to Create a repeatUntil Activity
11.4.2
What Happens When You Create a repeatUntil Activity
11.5
Specifying XPath Expressions to Bypass Activity Execution
11.5.1
How to Specify XPath Expressions to Bypass Activity Execution
11.5.2
What Happens When You Specify XPath Expressions to Bypass Activity Execution
12
Using Fault Handling in a BPEL Process
12.1
Introduction to a Fault Handler
12.2
Introduction to BPEL Standard Faults
12.2.1
BPEL 1.1 Standard Faults
12.2.2
BPEL 2.0 Standard Faults
12.2.2.1
Fault Handling Order of Precedence in BPEL 2.0
12.3
Introduction to the Business and Runtime Fault Categories of BPEL Faults
12.3.1
Business Faults
12.3.2
Runtime Faults
12.3.2.1
bindingFault
12.3.2.2
remoteFault
12.3.2.3
replayFault
12.3.3
How to Add and Propagate Fault Handling in a Synchronous BPEL Process
12.3.3.1
Edit the Schema and WSDL Files
12.3.3.2
Add a Fault Handler
12.3.3.3
Create a Fault Response Variable
12.3.3.4
Add an Assign Activity to the Catch Activity Branch
12.3.3.5
Add a Reply Activity to the Catch Activity Branch
12.4
Handling Faults with the Fault Management Framework
12.4.1
Understanding How the Fault Policy Binding Resolution Works
12.4.2
How to Design a Fault Policy for Automated Fault Recovery with the Fault Policy Wizard
12.4.2.1
Step 1: Defining Property Sets
12.4.2.2
Step 2: Defining Alerts
12.4.2.3
Step 3: Defining Actions
12.4.2.4
Step 4: Defining Fault Names and Policies
12.4.2.5
Step 5: Defining the Fault Policy Bindings for the Fault Policy
12.4.3
How to Manually Design a Fault Policy for Automated Fault Recovery
12.4.3.1
Manually Creating a Fault Policy File for Automated Fault Recovery
12.4.3.2
Associating a Fault Policy with Fault Policy Binding
12.4.3.3
Additional Fault Policy and Fault Policy Binding File Samples
12.4.3.4
Designing a Fault Policy with Multiple Rejection Handlers
12.4.4
How to Execute a Fault Policy
12.4.5
How to Use a Java Action Fault Policy
12.4.6
How to Design Fault Policies for Oracle BPM Suite
12.4.7
What You May Need to Know About Designing a Fault Policy in a Synchronous BPEL Process
12.4.8
What You May Need to Know About Fault Management Behavior When the Number of Instance Retries is Exceeded
12.4.9
What You May Need to Know About Binding Level Retry Execution Within Fault Policy Retries
12.5
Catching BPEL Runtime Faults
12.5.1
How to Catch BPEL Runtime Faults
12.6
Getting Fault Details with the getFaultAsString XPath Extension Function
12.6.1
How to Get Fault Details with the getFaultAsString XPath Extension Function
12.7
Throwing Internal Faults with the Throw Activity
12.7.1
How to Create a Throw Activity
12.7.2
What Happens When You Create a Throw Activity
12.8
Rethrowing Faults with the Rethrow Activity
12.8.1
How to Create a Rethrow Activity
12.8.2
What Happens When You Rethrow Faults
12.9
Returning External Faults
12.9.1
How to Return a Fault in a Synchronous Interaction
12.9.2
How to Return a Fault in an Asynchronous Interaction
12.10
Managing a Group of Activities with a Scope Activity
12.10.1
How to Create a Scope Activity
12.10.2
How to Add Descriptive Notes and Images to a Scope Activity
12.10.3
What Happens After You Create a Scope Activity
12.10.4
What You May Need to Know About Scopes
12.10.5
How to Use a Fault Handler Within a Scope
12.10.6
What You May Need to Know About the idempotent Property and Fault Handling
12.10.7
How to Create a Catch Activity in a Scope
12.10.8
What Happens When You Create a Catch Activity in a Scope
12.10.9
How to Insert No-Op Instructions into a Business Process with an Empty Activity
12.10.10
What Happens When You Create an Empty Activity
12.11
Re-executing Activities in a Scope Activity with the Replay Activity
12.11.1
How to Create a Replay Activity
12.11.2
What Happens When You Create a Replay Activity
12.12
Using Compensation After Undoing a Series of Operations
12.12.1
Using a Compensate Activity
12.12.2
How to Create a Compensate Activity
12.12.3
What Happens When You Create a Compensate Activity
12.12.4
Using a compensateScope Activity in BPEL 2.0
12.12.5
How to Create a compensateScope Activity
12.12.6
What Happens When You Create a compensateScope Activity
12.13
Stopping a Business Process Instance with a Terminate or Exit Activity
12.13.1
Immediately Ending a Business Process Instance with the Exit Activity in BPEL 2.0
12.13.1.1
How to Create an Exit Activity
12.13.1.2
What Happens When You Create an Exit Activity
12.13.2
Stopping a Business Process Instance with the Terminate Activity in BPEL 1.1
12.13.2.1
How to Create a Terminate Activity
12.13.2.2
What Happens When You Create a Terminate Activity
12.14
Throwing Faults with Assertion Conditions
12.14.1
How to Create Assertion Conditions
12.14.1.1
To create assertion conditions in invoke activities, receive activities, reply activities, and OnMessage branches:
12.14.1.2
To create an assertion condition in standalone assert activities:
12.14.2
How to Disable Assertions
12.14.3
What Happens When You Create Assertion Conditions
12.14.4
What You May Need to Know About Assertion Conditions
12.14.4.1
bpelx:postAssert and bpelx:preAssert Extensions
12.14.4.2
Use of faultName and message Attributes
12.14.4.3
Multiple Assertions
12.14.4.4
Use of Built-in and Custom XPath Functions and $variable References
12.14.4.5
Assertion Condition Evaluation Logging of Events to the Instance Audit Trail
12.14.4.6
Expressions Not Evaluating to an XML Schema Boolean Type Throw a Fault
12.14.4.7
Assertion Conditions in a Standalone Assert Activity
12.14.5
What You May Need to Know About Postassertion and Preassertion Condition Schemas and Syntax
12.15
Classifying SOAP Faults as Retriable
13
Transaction and Fault Propagation Semantics in BPEL Processes
13.1
Introduction to Transaction Semantics
13.1.1
Oracle BPEL Process Manager Transaction Semantics
13.1.1.1
BPELCaller Process Calls a BPELCallee Process That Has bpel.config.transaction Set to requiresNew
13.1.1.2
BPELCaller Process Calls a BPELCallee Process That Has bpel.config.transaction Set to required
13.2
Introduction to Execution of One-way Invocations
13.3
Executing a Business Process Without a Transaction
13.3.1
When Should I Use a BPEL Process Without a Transaction?
13.3.2
Guidelines for Executing Without a Transaction
13.3.3
How to Create a Synchronous BPEL Process Without a Transaction
13.3.4
How to Create an Asynchronous BPEL Process Without a Transaction
14
Incorporating Java and Java EE Code in a BPEL Process
14.1
Introduction to Java and Java EE Code in BPEL Processes
14.2
Incorporating Java and Java EE Code in BPEL Processes
14.2.1
How to Wrap Java Code as a SOAP Service
14.2.2
What You May Need to Know About Wrapping Java Code as a SOAP Service
14.2.3
How to Embed Java Code Snippets into a BPEL Process with the bpelx:exec Tag
14.2.4
How to Embed Java Code Snippets in a BPEL 2.0 Process
14.2.5
How to Use an XML Facade to Simplify DOM Manipulation
14.2.6
How to Use bpelx:exec Built-in Methods
14.2.7
How to Use Java Code Wrapped in a Service Interface
14.3
Adding Custom Classes and JAR Files
14.3.1
How to Add Custom Classes and JAR Files
14.3.1.1
To Add JARs to BpelcClasspath:
14.3.1.2
To Add Custom Classes:
14.3.1.3
To Add Custom JARs:
14.4
Using Java Embedding in a BPEL Process in Oracle JDeveloper
14.4.1
How To Use Java Embedding in a BPEL Process in Oracle JDeveloper
14.4.2
What You May Need to Know About Using thread.sleep() in a Java Embedding Activity
14.5
Embedding Service Data Objects with bpelx:exec
14.6
Sharing a Custom Implementation of a Class with Oracle BPEL Process Manager
14.6.1
How to Configure the BPEL Connection Manager Class to Take Precedence
15
Using Events and Timeouts in BPEL Processes
15.1
Introduction to Event and Timeout Concepts
15.2
Selecting Between Continuing or Waiting on a Process with a Pick Activity
15.2.1
How To Create a Pick Activity
15.2.2
What Happens When You Create a Pick Activity
15.2.3
What You May Need to Know About Simultaneous onMessage Branches in BPEL 2.0
15.3
Setting Timeouts for Request-Reply and In-Only Operations in Receive Activities
15.3.1
How to Set Timeouts in Receive Activities
15.3.2
What Happens When You Set Timeouts in Receive Activities
15.3.3
What You May Need to Know About Setting Timeouts for Request-Reply and In-Only Operations
15.3.3.1
Timeout Settings Relative from When the Activity is Invoked
15.3.3.2
Timeout Settings as an Absolute Date Time
15.3.3.3
Timeout Settings Computed Dynamically with an XPath Expression
15.3.3.4
bpelx:timeout Fault Thrown During an Activity Timeout
15.3.3.5
Event Added to the BPEL Instance Audit Trail During an Activity Timeout
15.3.3.6
Recoverable Timeout Activities During a Server Restart (Refresh Expiration Alarm Table)
15.4
Setting an Expiration Time with a Wait Activity
15.4.1
How To Specify the Minimum Wait Time
15.4.2
How to Create a Wait Activity
15.4.3
What Happens When You Create a Wait Activity
15.5
Specifying Events to Wait for Message Arrival with an OnEvent Branch in BPEL 2.0
15.5.1
How to Create an onEvent Branch in a Scope Activity
15.5.2
What Happens When You Create an OnEvent Branch
15.6
Setting Timeouts for Durable Synchronous Processes
15.7
Invoking an Oracle Enterprise Scheduler Job in a BPEL Process
15.7.1
How to Create Oracle Database and SOA-MDS Connections
15.7.2
How to Create a Schedule Job Activity
15.7.3
How to Attach Security Policies to the Service and Reference Binding Components
16
Coordinating Master and Detail Processes
16.1
Introduction to Master and Detail Process Coordinations
16.1.1
BPEL File Definition for the Master Process
16.1.1.1
Correlating a Master Process with Multiple Detail Processes
16.1.2
BPEL File Definition for Detail Processes
16.2
Defining Master and Detail Process Coordination in Oracle JDeveloper
16.2.1
How to Create a Master Process
16.2.2
How to Create a Detail Process
16.2.3
How to Create an Invoke Activity
17
Using the Notification Service
17.1
Introduction to the Notification Service
17.2
Introduction to Notification Channel Setup
17.3
Selecting Notification Channels During BPEL Process Design
17.3.1
How To Configure the Email Notification Channel
17.3.1.1
Setting Email Attachments
17.3.1.2
Formatting the Body of an Email Message as HTML
17.3.1.3
Using Dynamic HTML for Message Content Requires a CDATA Function
17.3.2
How to Configure the IM Notification Channel
17.3.3
How to Configure the SMS Notification Channel
17.3.4
How to Configure the Voice Notification Channel
17.3.5
How to Select Email Addresses and Telephone Numbers Dynamically
17.3.6
How to Select Notification Recipients by Browsing the User Directory
17.4
Allowing the End User to Select Notification Channels
17.4.1
How to Allow the End User to Select Notification Channels
17.4.1.1
How to Create and Send Headers for Notifications
18
Using Oracle BPEL Process Manager Sensors and Analytics
18.1
Introduction to Oracle BPEL Process Manager Sensors
18.1.1
Composite Sensors
18.2
Configuring Sensors and Sensor Actions in Oracle JDeveloper
18.2.1
How to Access Sensors and Sensor Actions
18.2.2
How to Configure Activity, Variable, and Fault Sensors
18.2.2.1
To Configure an Activity Sensor:
18.2.2.2
To Configure a Variable Sensor:
18.2.2.3
To Configure a Fault Sensor:
18.2.3
How to Configure Sensor Actions
18.2.4
How to Publish to Remote Topics and Queues
18.2.5
How to Create a Custom Data Publisher
18.2.6
How to Register the Sensors and Sensor Actions in the composite.xml File
18.3
Viewing Sensors and Sensor Action Definitions in Oracle Enterprise Manager Fusion Middleware Control
18.4
Configuring BPEL Process Analytics
18.4.1
Introduction to Business Indicators
18.4.2
Introduction to Standard Sampling Points
18.4.3
Introduction to User-Defined Sampling Points
18.4.4
How to Access Analytics View
18.4.4.1
How to Define Business Indicators
18.4.4.1.1
Defining Counters
18.4.4.1.2
Defining Dimensions
18.4.4.1.3
Defining Measures
18.4.4.2
How to Define Measurements
18.4.4.2.1
How to Define a Counter Mark
18.4.4.2.2
How to Define an Interval Start
18.4.4.2.3
How to Define an Interval Stop
18.4.4.2.4
How to Define a Single Mark
18.4.4.3
How to Configure Composite-Level Analytic Sampling Points
18.4.4.4
How to Configure Process-Level Analytic Sampling Points
18.4.5
How to Edit Business Indicators in the Business Indicator Overview Editor
18.4.6
Deploying BPEL Analytics
18.4.7
Viewing BPEL Analytics at Runtime
Part III Using the Oracle Mediator Service Component
19
Getting Started with Oracle Mediator
19.1
Introduction to Oracle Mediator
19.2
Mediator Functionality
19.2.1
Content-Based and Header-Based Routing
19.2.2
Synchronous and Asynchronous Interactions
19.2.3
Sequential and Parallel Routing of Messages
19.2.4
Message Resequencing
19.2.5
Data Transformation
19.2.6
Payload Validation
19.2.7
Java Callouts
19.2.8
Event Handling
19.2.9
Dynamic Routing
19.2.10
Error Handling
19.2.11
Sending Messages Back to the Caller (Echo)
19.2.12
Multiple Part Messages
19.3
Creating a Mediator
19.3.1
How to Create a Mediator
19.3.1.1
To Create a Composite Application with a Mediator:
19.3.1.2
To Create a Mediator in an Existing Composite Application:
19.3.1.3
To create a new project with a Mediator:
19.3.1.4
To create a Mediator in an existing project:
19.4
Introduction to the Mediator Editor Environment
19.5
Configuring the Mediator Interface Definition
19.5.1
How to Configure the Mediator Interface Definition
19.5.2
What Happens When You Create a Mediator
19.5.2.1
Without an Interface Definition
19.5.2.2
With a WSDL-Based Interface
19.5.2.3
With a One-Way Interface Definition
19.5.2.4
With a Synchronous Interface Definition
19.5.2.5
With an Asynchronous Interface Definition
19.5.2.6
With an Event Subscription
19.6
Defining an Interface for a Mediator
19.6.1
How to Define an Interface for a Mediator
19.6.1.1
To Subscribe to Events:
19.6.1.2
To Define Services for a Mediator Using a Wire:
19.6.1.3
To Define Services for a Mediator in the Mediator Editor:
19.7
Generating a WSDL File
19.7.1
How to Generate a WSDL File
19.7.1.1
To generate a WSDL file for a one-way interface from an XSD file:
19.7.1.2
To generate a WSDL file for a synchronous interface from an XSD file:
19.7.1.3
To generate a WSDL file for an asynchronous interface from an XSD file:
19.8
Specifying Validation and Priority Properties
19.9
Modifying a Mediator Service Component
19.9.1
How To Modify Mediator Operations
19.9.2
How To Modify Mediator Event Subscriptions
20
Creating Oracle Mediator Routing Rules
20.1
Introduction to Routing Rules
20.1.1
Static Routing Rules
20.1.1.1
Types of Static Rules
20.1.1.2
Static Routing Rule Components
20.1.2
Dynamic Routing Rules
20.1.3
Sequential and Parallel Execution
20.1.3.1
Basic Principles of Sequential Routing Rules
20.1.3.2
Basic Principles of Parallel Routing Rules
20.1.3.3
Finer Control Over Thread Allocation in Parallel Routing
20.2
Resequencing Rules
20.3
Defining Routing Rules
20.3.1
How To Access the Routing Rules Section
20.3.1.1
From the SOA Composite Editor:
20.3.1.2
From the Applications window:
20.3.2
How to Create Static Routing Rules
20.3.2.1
How to Specify Mediator Services or Events
20.3.2.1.1
To invoke a service:
20.3.2.1.2
To trigger an event:
20.3.2.1.3
To echo a service:
20.3.2.2
What You May Need to Know About Echoing a Service
20.3.2.3
How to Specify Sequential or Parallel Execution
20.3.2.4
How to Configure Response Messages
20.3.2.5
How to Handle Premature Callbacks
20.3.2.6
How to Handle Multiple Callbacks
20.3.2.7
How to Handle Faults
20.3.2.7.1
To define an additional fault routing:
20.3.2.7.2
To remove a fault routing section:
20.3.2.8
How to Specify an Expression for Filtering Messages
20.3.2.8.1
To specify an expression for filtering messages:
20.3.2.8.2
To specify a filter expression on a message payload:
20.3.2.9
How to Translate Between Native XSD Formats and XML Formats
20.3.2.10
How to Use Inbound Translation
20.3.2.11
How to Use Outbound Translation
20.3.2.12
How to Create XSLT Transformations
20.3.2.12.1
To create a transformation:
20.3.2.12.2
To add user-defined extension functions:
20.3.2.13
How to Create XQuery Transformations
20.3.2.13.1
To create an XQuery transformation:
20.3.2.13.2
To edit an XQuery transformation:
20.3.2.14
How to Assign Values
20.3.2.14.1
To copy a source node to a target node:
20.3.2.14.2
To assign complex expressions:
20.3.2.14.3
To assign constant values and XML fragments:
20.3.2.15
What You May Need to Know About the Assign Activity
20.3.2.16
How to Access Headers for Filters and Assignments
20.3.2.16.1
Manual Expression Building for Accessing Headers for Filters and Assignments
20.3.2.16.2
Manual Expression Building for Accessing Properties for Filters and Assignments
20.3.2.17
How to Use Semantic Validation
20.3.2.18
How to Work with Attachments
20.3.2.19
How to Use Java Callouts
20.3.2.19.1
To make Java callout classes available:
20.3.2.19.2
To enter the Java class for the callout:
20.3.2.19.3
To set the payload root element (when using a filter expression):
20.3.2.19.4
To enable domain value map and cross reference functions:
20.3.2.19.5
Mediator Java Callout API
20.3.2.19.6
Sample Java Callout Class
20.3.3
How to Create Dynamic Routing Rules
20.3.3.1
How to Dynamically Override a Static Routing Rule Using a DVM
20.3.3.1.1
To override a static route using DVM:
20.3.3.1.2
To add a new domain to the DVM:
20.3.3.1.3
To add a new row to the DVM:
20.3.3.1.4
To delete a domain from the DVM:
20.3.3.1.5
To delete a row from the DVM:
20.3.3.2
How to Dynamically Override a Static Routing Rule Using a Decision Component
20.3.3.2.1
To override a static route using a Decision Component:
20.3.3.2.2
To edit a decision component:
20.3.3.3
How to Remove an Existing Dynamic Routing Rule
20.3.4
What You May Need to Know About Using Dynamic Routing Rules
20.3.5
How to Define Default Routing Rules
20.3.5.1
Default Rule Scenarios
20.3.5.2
Default Rule Target
20.3.5.3
Default Rule: Validation, Transformation, and Assign Functionality
20.3.5.4
Default Rule: Java Callouts
20.3.5.5
Default Rule: Mediator .mplan File
20.4
Mediator Routing Use Cases
21
Working with Multiple Part Messages in Oracle Mediator
21.1
Introduction to Mediator Multipart Message Support
21.2
Working with Multipart Request Messages
21.2.1
How to Specify Filter Expressions for Multipart Request Messages
21.2.2
How to Add Validations for Multipart Request Messages
21.2.3
How to Create Transformations for Multipart Request Messages
21.2.4
How to Assign Values for Multipart Request Messages
21.2.5
How to Work with Multipart Reply, Fault, and Callback Source Messages
21.2.6
How to Work with Multipart Target Messages
22
Using Oracle Mediator Error Handling
22.1
Introduction to Mediator Error Handling
22.1.1
Fault Policies
22.1.1.1
Conditions
22.1.1.2
Actions
22.1.1.2.1
Retry Action
22.1.1.2.2
Rethrow Action
22.1.1.2.3
Human Intervention Action
22.1.1.2.4
Abort Action
22.1.1.2.5
Java Code Action
22.1.2
Fault Bindings
22.1.3
Error Groups in Mediator
22.2
Using Error Handling with Mediator
22.2.1
How to Use Error Handling for a Mediator Service Component
22.2.2
What Happens at Runtime
22.3
Fault Recovery Using Oracle Enterprise Manager Fusion Middleware Control
22.4
Error Handling XML Schema Definition Files
22.4.1
Schema Definition File for fault-policies.xml
22.4.2
Schema Definition File for fault-bindings.xml
23
Resequencing in Oracle Mediator
23.1
Introduction to the Resequencer
23.1.1
Groups and Sequence IDs
23.1.2
Identification of Groups and Sequence IDs
23.2
Resequencing Order
23.2.1
Standard Resequencer
23.2.1.1
Overview of the Standard Resequencer
23.2.1.2
Information Required for Standard Resequencing
23.2.1.3
Example of the Standard Resequencer
23.2.2
FIFO Resequencer
23.2.2.1
Overview of the FIFO Resequencer
23.2.2.2
Information Required for FIFO Resequencing
23.2.2.3
Example of the FIFO Resequencer
23.2.3
Best Effort Resequencer
23.2.3.1
Overview of the Best Effort Resequencer
23.2.3.2
Best Effort Resequencer Message Selection Strategies
23.2.3.2.1
Maximum Rows Selected
23.2.3.2.2
Time Window
23.2.3.3
Best Effort Resequencer Message Delivery
23.2.3.4
Information Required for Best Effort Resequencing
23.2.3.5
Example of Best Effort Resequencing Based on Maximum Rows
23.2.3.6
Example of Best Effort Resequencing Based on a Time Window
23.3
Configuring the Resequencer
23.3.1
How to Specify the Resequencing Level
23.3.2
How to Configure the Resequencing Strategy
23.3.2.1
To configure a standard resequencer:
23.3.2.2
To configure a FIFO resequencer:
23.3.2.3
To configure a best effort resequencer:
24
Understanding Message Exchange Patterns of an Oracle Mediator
24.1
One-way Message Exchange Patterns
24.1.1
The one.way.returns.fault Property
24.1.1.1
To add the one.way.returns.fault property:
24.2
Request-Reply Message Exchange Patterns
24.3
Request-Reply-Fault Message Exchange Patterns
24.4
Request-Callback Message Exchange Patterns
24.5
Request-Reply-Callback Message Exchange Patterns
24.6
Request-Reply-Fault-Callback Message Exchange Patterns
Part IV Using the Business Rules Service Component
25
Getting Started with Oracle Business Rules
25.1
Introduction to the Business Rule Service Component
25.1.1
Integrating BPEL Processes, Business Rules, and Human Tasks
25.2
Overview of Rules Designer Editor Environment
25.2.1
Applications Window
25.2.2
Rules Designer Window
25.2.3
Structure Window
25.2.4
Business Rule Validation Log Window
25.3
Introduction to Creating and Editing Business Rules
25.3.1
How to Create Business Rules Components
25.3.2
Working with Business Rules in Rules Designer
25.4
Adding Business Rules to a BPEL Process
25.4.1
How to Add Inputs for Business Rule
25.4.2
How to Add Outputs for Business Rule
25.4.3
How to Set Options and Create Decision Service and Business Rule Dictionary
25.4.4
What Happens When You Add Business Rules to a BPEL Process
25.4.5
What Happens When You Create a Business Rules Dictionary
25.4.6
What You May Need to Know About Invoking Business Rules in a BPEL Process
25.4.7
What You May Need to Know About Decision Component Stateful Operation
25.5
Adding Business Rules to a SOA Composite Application
25.5.1
How to Add Business Rules to a SOA Composite Application
25.5.1.1
How to Add Inputs to a Business Rule
25.5.1.2
How to Add Output to a Business Rule
25.5.1.3
How to Set Options and Create Decision Service and Business Rules Dictionary
25.5.2
How to Select and Modify a Decision Function in a Business Rule Component
25.6
Running Business Rules in a Composite Application
25.6.1
What You May Need to Know About Testing a Standalone Decision Service Component
25.7
Using Business Rules with Oracle ADF Business Components Fact Types
26
Using Declarative Components and Task Flows
26.1
Introduction to Declarative Components and Task Flows
26.2
Introduction to the Oracle Business Rules Editor Declarative Component
26.2.1
Using the Oracle Business Rules Editor Component
26.2.2
How to Create and Run a Sample Application by Using the Rules Editor Component
26.2.2.1
How to Create the RuleSetModel Object
26.2.2.2
How to Create the .jspx File
26.2.2.3
How to Refer to the Oracle Rules Shared Libraries
26.2.2.4
How to Run the Sample Application
26.2.3
How to Deploy a Rules Editor Application to a Standalone WLS
26.2.4
What You May Need to Know About the Custom Permissions for the Rules Editor Component
26.2.5
What You May Need to Know About the Supported Tags of the Rules Editor Component
26.3
Introduction to the Oracle Business Rules Dictionary Editor Declarative Component
26.3.1
Using the Oracle Business Rules Dictionary Component
26.3.2
How to Create and Run a Sample Application by Using the Rules Dictionary Editor Component
26.3.2.1
How to Create the RuleDictionaryModel Object
26.3.2.2
How to Create .jspx File for the Rules Dictionary Editor Component
26.3.2.3
How to Refer the oracle.rules and the oracle.soa.rules_dict_dc.webapp Shared Libraries
26.3.2.4
How to Run the Sample Rules Dictionary Editor Application
26.3.3
How to Deploy a Rules Dictionary Application to a Standalone Oracle WebLogic Server
26.3.4
What You May Need to Know About the Supported Attributes of the Rules Dictionary Editor Component
26.4
Introduction to the Oracle Business Rules Dictionary Editor Task Flow
26.4.1
Using the Oracle Business Rules Dictionary Task Flow
26.4.2
How to Create and Run a Sample Application By Using the Rules Dictionary Editor Task Flow
26.4.2.1
How to Add a Rule Dictionary Editor Task Flow
26.4.2.2
How to Edit the pagedef.xml File
26.4.2.3
How to Refer to oracle.rules and oracle.soa.rules_dict_dc.webapp Shared Libraries
26.4.2.4
How to Run the Sample Task Flow Application
26.4.3
How to Deploy a Rules Dictionary Editor Task Flow Application to a Standalone Oracle WebLogic Server
26.5
Localizing the ADF-Based Web Application
26.6
Working with Translations
26.6.1
Enabling Translations for Consumer of Reusable Rules UI ADF Task Flow Component
26.6.1.1
Sample Code to Pass an Implementation of IRelatedMetadataDetails
26.6.2
Enabling Translations for Consumer of Rules Web UI Application
26.6.2.1
Sample Code for Creating an Instance of resourceManager
Part V Using the Human Workflow Service Component
27
Getting Started with Human Workflow
27.1
Introduction to Human Workflow
27.2
Introduction to Human Workflow Concepts
27.2.1
Introduction to Design and Runtime Concepts
27.2.1.1
Task Assignment and Routing
27.2.1.1.1
Participant
27.2.1.1.2
Participant Type
27.2.1.1.3
Participant Assignment
27.2.1.1.4
Ad Hoc Routing
27.2.1.1.5
Outcome-based Completion of Routing Flow
27.2.1.2
Static, Dynamic, and Rule-Based Task Assignment
27.2.1.2.1
Static Task Assignment
27.2.1.2.2
Dynamic Task Assignment
27.2.1.2.3
Assign tasks with Business Rules
27.2.1.3
Task Stakeholders
27.2.1.4
Task Deadlines
27.2.1.5
Notifications
27.2.1.6
Task Forms
27.2.1.7
Advanced Concepts
27.2.1.8
Reports and Audit Trails
27.2.2
Introduction to the Stages of Human Workflow Design
27.3
Introduction to Human Workflow Use Cases
27.3.1
Task Assignment to a User or Role
27.3.2
Use of the Various Participant Types
27.3.3
Escalation, Expiration, and Delegation
27.3.4
Automatic Assignment and Delegation
27.3.5
Dynamic Assignment of Users Based on Task Content
27.4
Introduction to Human Workflow Architecture
27.4.1
Human Workflow Services
27.4.2
Use of Human Task
27.4.3
Service Engines
27.5
Human Workflow and Business Rule Differences Between Oracle SOA Suite and Oracle BPM Suite
28
Creating Human Tasks
28.1
Introduction to Human Tasks
28.1.1
Introduction to Creating a Human Task Definition
28.1.2
Introduction to Associating the Human Task Definition with a BPEL Process
28.1.3
Introduction to Generating the Task Form
28.2
Creating Human Tasks
28.2.1
How to Create a Human Task Using the SOA Composite Editor
28.2.2
How to Create a Human Task Using Oracle BPEL Designer
28.2.3
What Happens When You Create a Human Task
28.3
Configuring Human Tasks
28.4
Exiting the Human Task Editor and Saving Your Changes
28.5
Associating Human Tasks with BPEL Processes
28.5.1
How to Associate a Human Task with a BPEL Process
28.5.2
What You May Need to Know About Deleting a Wire Between a Human Task and a BPEL Process
28.5.3
How to Define the Human Task Activity Title, Initiator, Priority, and Parameter Variables
28.5.3.1
Specifying the Task Title
28.5.3.2
Specifying the Task Initiator and Task Priority
28.5.3.3
Specifying Task Parameters
28.5.4
How to Define the Human Task Activity Advanced Features
28.5.4.1
Specifying a Scope Name and a Global Task Variable Name
28.5.4.2
Specifying a Task Owner
28.5.4.3
Specifying an Identification Key
28.5.4.4
Specifying an Identity Context
28.5.4.5
Specifying an Application Context
28.5.4.6
Including the Task History of Other Human Tasks
28.5.5
How to View the Generated Human Task Activity
28.5.5.1
Invoking BPEL Callbacks
28.5.6
What You May Need to Know About Changing the Generated Human Task Activity
28.5.7
What You May Need to Know About Deleting a Partner Link Generated by a Human Task
28.5.8
How to Define Outcome-Based Modeling
28.5.8.1
Specifying Payload Updates
28.5.8.2
Using Case Statements for Other Task Conclusions
28.5.9
What You May Need to Know About Encoding an Attachment
29
Configuring Human Tasks
29.1
Accessing the Sections of the Human Task Editor
29.2
Specifying the Title, Description, Outcome, Priority, Category, Owner, and Application Context
29.2.1
How to Specify a Task Title
29.2.2
How to Specify a Task Description
29.2.3
How to Specify a Task Outcome
29.2.4
How to Specify a Task Priority
29.2.5
How to Specify a Task Category
29.2.6
How to Specify a Task Owner
29.2.6.1
Specifying a Task Owner Statically Through the User Directory or a List of Application Roles
29.2.6.2
Specifying a Task Owner Dynamically Through an XPath Expression
29.2.7
How To Specify an Application Context
29.3
Specifying the Task Payload Data Structure
29.3.1
How to Specify the Task Payload Data Structure
29.4
Assigning Task Participants
29.4.1
How to Specify a Stage Name and Add Parallel and Sequential Blocks
29.4.2
How to Assign Task Participants
29.4.3
How to Configure the Single Participant Type
29.4.3.1
Creating a Single Task Participant List
29.4.3.1.1
Creating Participant Lists Consisting of Value-Based Names and Expressions
29.4.3.1.2
Creating Participant Lists Consisting of Value-Based Management Chains
29.4.3.1.3
Creating Participant Lists Consisting of Rulesets
29.4.3.2
Specifying a Time Limit for Acting on a Task
29.4.3.3
Inviting Additional Participants to a Task
29.4.3.4
Bypassing a Task Participant
29.4.4
How to Configure the Parallel Participant Type
29.4.4.1
Specifying the Voting Outcome
29.4.4.2
Creating a Parallel Task Participant List
29.4.4.3
Specifying a Time Limit for Acting on a Task
29.4.4.4
Inviting Additional Participants to a Task
29.4.4.5
Bypassing a Task Participant
29.4.5
How to Configure the Serial Participant Type
29.4.5.1
Creating a Serial Task Participant List
29.4.5.2
Specifying a Time Limit for Acting on a Task
29.4.5.3
Inviting Additional Participants to a Task
29.4.5.4
Bypassing a Task Participant
29.4.6
How to Configure the FYI Participant Type
29.4.6.1
Creating an FYI Task Participant List
29.5
Selecting a Routing Policy
29.5.1
How to Customize Tasks Routing
29.5.1.1
Allow All Participants to Invite Other Participants or Edit New Participants
29.5.1.2
Allow Initiator to Add Participants
29.5.1.3
Stopping Routing of a Task to Further Participants
29.5.1.4
Enabling Early Completion in Parallel Subtasks
29.5.1.5
Completing Parent Subtasks of Early Completing Subtasks
29.5.2
How to Specify Advanced Task Routing Using Business Rules
29.5.2.1
Introduction to Advanced Task Routing Using Business Rules
29.5.2.2
Facts
29.5.2.3
Action Types
29.5.2.4
Sample Ruleset
29.5.2.5
Linked Dictionary Support
29.5.2.6
Creating Advanced Routing Rules
29.5.3
How to Use External Routing
29.5.4
How to Configure the Error Assignee and Reviewers
29.5.4.1
How to Change Server Settings
29.6
Specifying Multilingual Settings and Style Sheets
29.6.1
How to Specify WordML and Other Style Sheets for Attachments
29.6.2
How to Specify Multilingual Settings
29.7
Specify What to Show in Task Details in the Worklist
29.8
Escalating, Renewing, or Ending the Task
29.8.1
Introduction to Escalation and Expiration Policy
29.8.2
How to Specify a Policy to Never Expire
29.8.3
How to Specify a Policy to Expire
29.8.4
How to Extend an Expiration Policy Period
29.8.5
How to Escalate a Task Policy
29.8.6
How to Specify Escalation Rules
29.8.7
How to Specify a Due Date
29.9
Specifying Participant Notification Preferences
29.9.1
How to Notify Recipients of Changes to Task Status
29.9.2
How to Edit the Notification Message
29.9.3
How to Set Up Reminders
29.9.4
How to Change the Character Set Encoding
29.9.5
How to Secure Notifications to Exclude Details
29.9.6
How to Display the Oracle BPM Worklist URL in Notifications
29.9.7
How to Make Email Messages Actionable
29.9.8
How to Send Task Attachments with Email Notifications
29.9.9
How to Send Email Notifications to Groups and Application Roles
29.9.10
How to Customize Notification Headers
29.10
Specifying Access Policies and Task Actions on Task Content
29.10.1
Introduction to Access Rules
29.10.2
Specifying User Privileges for Acting on Task Content
29.10.3
Specifying Actions for Acting Upon Tasks
29.10.4
How to Specify a Workflow Digital Signature Policy
29.10.4.1
Specifying a Certificate Authority
29.11
Specifying Restrictions on Task Assignments
29.11.1
How to Specify Restrictions on Task Assignments
29.12
Specifying Java or Business Event Callbacks
29.12.1
Specifying Java Callbacks
29.12.2
Specifying Business Event Callbacks
29.12.3
How to Specify Task and Routing Customizations in BPEL Callbacks
29.12.4
How to Disable BPEL Callbacks
30
Designing Task Forms for Human Tasks
30.1
Introduction to the Task Form
30.1.1
What You May Need to Know About Task Forms: Time Zone Conversion
30.2
Associating the Task Flow with the Task Service
30.3
Creating an ADF Task Flow Based on a Human Task
30.3.1
How To Create an ADF Task Flow from the Human Task Editor
30.3.2
How To Create an ADF Task Flow Based on a Human Task
30.3.3
What Happens When You Create an ADF Task Flow Based on a Human Task
30.3.4
What You May Need to Know About Having Multiple ADF Task Flows That Contain the Same Element with Different Meta-attributes
30.4
Creating a Task Form
30.4.1
How To Create an Autogenerated Task Form
30.4.2
How to Register the Library JAR File for Custom Page Templates
30.4.3
How To Create a Task Form Using the Custom Task Form Wizard
30.4.4
How To Create a Task Form Using the Complete Task with Payload Drop Handler
30.4.4.1
Complete Task with Payload
30.4.4.2
Complete Task without Payload
30.4.4.3
Task Details for Email
30.4.4.4
Task Header
30.4.4.5
Task Actions
30.4.4.6
Task History
30.4.4.7
Task Comments and Attachments
30.4.5
How To Create Task Form Regions Using Individual Drop Handlers
30.4.6
How To Add the Payload to the Task Form
30.4.7
What Happens When You Create a Task Form
30.5
Refreshing Data Controls When the Task XSD Changes
30.6
Securing the Task Flow Application
30.7
Creating an Email Notification
30.7.1
How To Create an Email Notification
30.7.1.1
Creating a Task Flow with a Router
30.7.1.2
Creating an Email Notification Page
30.7.2
What Happens When You Create an Email Notification Page
30.8
Deploying a Composite Application with a Task Flow
30.8.1
How To Deploy a Composite Application with a Task Flow
30.8.2
How To Redeploy the Task Form
30.8.3
How To Deploy a Task Flow as a Separate Application
30.8.4
How To Deploy a Task Form to a non-SOA Oracle WebLogic Server
30.8.4.1
Before Deploying the Task Form: Port Changes
30.8.4.2
Configuring Unique Cookie Context Paths for the Session Tracking Cookies
30.8.4.3
Deploying oracle.soa.workflow.jar to a non-SOA Oracle WebLogic Server
30.8.4.4
Defining the Foreign JNDI Provider on a non-SOA Oracle WebLogic Server
30.8.4.5
Defining the Foreign JNDI Provider Links on a non-SOA Oracle WebLogic Server
30.8.4.6
Including a Grant for bpm-services.jar
30.8.4.7
Deploying the Application
30.8.5
What Happens When You Deploy the Task Form
30.8.6
What You May Need to Know About Undeploying a Task Flow
30.9
Displaying a Task Form in the Worklist
30.10
Displaying a Task in an Email Notification
30.10.1
Changing the Text for the Worklist Application in Task Notifications
30.10.2
Changing the URL of the Worklist Application in Task Notifications
30.11
Reusing the Task Flow Application with Multiple Human Tasks
30.11.1
How To Reuse the Task Flow Application with Multiple Human Tasks
30.11.2
How to Reuse the Task Flow Application with Different Actions
31
Human Workflow Tutorial
31.1
Introduction to the Human Workflow Tutorial
31.2
Prerequisites
31.3
Creating an Application and a Project with a BPEL Process
31.4
Creating the Human Task Service Component
31.5
Designing the Human Task
31.6
Associating the Human Task and BPEL Process Service Components
31.7
Creating a Task Form Project
31.8
Deploying the Task Form
31.9
Creating an Application Server Connection
31.10
Deploying the SOA Composite Application
31.11
Initiating the Process Instance
31.12
Acting on the Task in Oracle BPM Worklist
31.13
Additional Tutorials
32
Using Oracle BPM Worklist
32.1
Introduction to Oracle BPM Worklist
32.2
Logging In to Oracle BPM Worklist
32.2.1
How To Log In to the Worklist
32.2.1.1
Enabling the weblogic User for Logging in to the Worklist
32.2.2
What Happens When You Log In to the Worklist
32.2.3
What Happens When You Change a User's Privileges While They are Logged in to Oracle BPM Worklist
32.3
Customizing the Task List Page
32.3.1
How To Filter Tasks
32.3.1.1
To Filter Tasks Based on Assignee or State
32.3.1.2
To Filter Tasks Based on Keyword Search
32.3.1.3
To Filter Tasks Based on an Advanced Search
32.3.2
How To Create, Delete, and Customize Worklist Views
32.3.2.1
To Customize a Worklist View
32.3.3
How To Customize the Task Status Chart
32.3.4
How To Create a ToDo Task
32.3.5
How to Create Subtasks in Worklist Application
32.3.5.1
What You May Need to Know About Creating Subtasks
32.4
Acting on Tasks: The Task Details Page
32.4.1
System Actions
32.4.2
Task History
32.4.3
How To Act on Tasks
32.4.3.1
To Request Information
32.4.3.2
To Route a Task
32.4.3.3
To Add Comments or Attachments
32.4.4
How To Act on Tasks That Require a Digital Signature
32.5
Approving Tasks
32.6
Setting a Vacation Period
32.7
Setting Rules
32.7.1
How To Create User Rules
32.7.2
How To Create Group Rules
32.7.3
How to Avoid Circular Logic in Reassigned Vacation Rules
32.7.4
Assignment Rules for Tasks with Multiple Assignees
32.8
Using the Worklist Administration Functions
32.8.1
How To Manage Other Users' or Groups' Rules (as an Administrator)
32.8.2
How to Specify the Login Page Realm Label
32.8.3
How to Specify the Resource Bundle
32.8.4
How to Specify the Language Locale Information
32.8.5
How to Specify User Name Format
32.8.6
How to Specify a Branding Logo
32.8.7
How to Specify the Branding Title
32.8.8
How to Choose a Skin
32.8.8.1
To Choose A Skin
32.8.8.2
To Create a JAR File Containing Customized Skins
32.8.9
How to Enable Customized Applications and Links
32.8.10
How to Specify an Image for a Task Action
32.9
Specifying Notification Settings
32.9.1
Messaging Filter Rules
32.9.1.1
Data Types
32.9.1.2
Attributes
32.9.2
Rule Actions
32.9.3
Managing Messaging Channels
32.9.3.1
Viewing Your Messaging Channels
32.9.3.2
Creating, Editing, and Deleting a Messaging Channel
32.9.4
Managing Messaging Filters
32.9.4.1
Viewing Messaging Filters
32.9.4.2
Creating Messaging Filters
32.9.4.3
Editing a Messaging Filter
32.9.4.4
Deleting a Messaging Filter
32.10
Using Mapped Attributes (Flex Fields)
32.10.1
How To Map Attributes
32.10.1.1
To Create Labels
32.10.1.2
To Browse All Mappings
32.10.1.3
To Edit Mappings by Task Type
32.10.2
Custom Mapped Attributes
32.11
Creating Worklist Reports
32.11.1
How To Create Reports
32.11.2
What Happens When You Create Reports
32.11.2.1
Unattended Tasks Report
32.11.2.2
Tasks Priority Report
32.11.2.3
Tasks Cycle Time Report
32.11.2.4
Tasks Productivity Report
32.12
Accessing Oracle BPM Worklist in Local Languages and Time Zones
32.12.1
Strings in Oracle BPM Worklist
32.12.2
How to Change the Preferred Language, Display Names of Users, and Time Zone Settings if the Identity Store is LDAP-Based
32.12.3
How to Change the Language in Which Tasks Are Displayed
32.12.4
How To Change the Language Preferences from a JAZN XML File
32.12.5
What You May Need to Know Setting Display Languages in Worklist
32.12.6
How To Change the Time Zone Used in the Worklist
32.13
Creating Reusable Worklist Regions
32.13.1
How to Create an Application With an Embedded Reusable Worklist Region
32.13.2
How to Set Up the Deployment Profile
32.13.3
How to Prepare Federated Mode Task Flows For Deployment
32.13.4
What You May Need to Know About Task List Task Flow
32.13.5
What You May Need to Know About Certificates Task Flow
32.13.6
What You May Need to Know About the Reports Task Flow
32.13.7
What You May Need to Know About Application Preferences Task Flow
32.13.8
What You May Need to Know About Mapped Attributes Task Flow
32.13.9
What You May Need to Know About Rules Task Flow
32.13.10
What You May Need to Know About Approval Groups Task Flow
32.13.11
What You May Need to Know About Task Configuration Task Flow
32.14
Java Code for Enabling Customized Applications in Worklist Application
33
Building a Custom Worklist Client
33.1
Introduction to Building Clients for Workflow Services
33.2
Packages and Classes for Building Clients
33.3
Workflow Service Clients
33.3.1
The IWorkflowServiceClient Interface
33.4
Class Paths for Clients Using SOAP
33.5
Class Paths for Clients Using Remote EJBs
33.6
Initiating a Task
33.6.1
Creating a Task
33.6.2
Creating a Payload Element in a Task
33.6.3
Initiating a Task Programmatically
33.7
Changing Workflow Standard View Definitions
33.8
Writing a Worklist Application Using the HelpDeskUI Sample
34
Introduction to Human Workflow Services
34.1
Introduction to Human Workflow Services
34.1.1
SOAP, Enterprise JavaBeans, and Java Support for the Human Workflow Services
34.1.1.1
Support for Foreign JNDI Names
34.1.2
Security Model for Services
34.1.2.1
Limitation on Propagating Identity to Workflow Services when Using SOAP Web Services
34.1.2.2
Creating Human Workflow Context on Behalf of a User
34.1.2.3
Obtaining the Workflow Context for a User Previously Authenticated by a JAAS Application
34.1.3
Task Service
34.1.4
Task Query Service
34.1.5
Identity Service
34.1.5.1
Identity Service Providers
34.1.5.1.1
Custom User Repository Plug-ins
34.1.6
Task Metadata Service
34.1.7
User Metadata Service
34.1.8
Task Report Service
34.1.9
Runtime Config Service
34.1.9.1
Internationalization of Attribute Labels
34.1.10
Evidence Store Service and Digital Signatures
34.1.10.1
Prerequisites
34.1.10.2
Interfaces and Methods
34.1.11
Task Instance Attributes
34.2
Notifications from Human Workflow
34.2.1
Contents of Notification
34.2.2
Error Message Support
34.2.3
Reliability Support
34.2.4
Management of Oracle Human Workflow Notification Service
34.2.5
How to Configure the Notification Channel Preferences
34.2.6
How to Configure Notification Messages in Different Languages
34.2.7
How to Send Actionable Messages
34.2.7.1
How to Send Actionable Emails for Human Tasks
34.2.8
How to Send Inbound and Outbound Attachments
34.2.9
How to Send Inbound Comments
34.2.10
How to Send Secure Notifications
34.2.11
How to Set Channels Used for Notifications
34.2.12
How to Send Reminders
34.2.13
How to Set Automatic Replies to Unprocessed Messages
34.2.14
How to Create Custom Notification Headers
34.3
Assignment Service Configuration
34.3.1
Dynamic Assignment and Task Escalation Patterns
34.3.1.1
How to Implement a Dynamic Assignment Pattern
34.3.1.2
How to Configure Dynamic Assignment Patterns
34.3.1.3
How to Configure Display Names for Dynamic Assignment Patterns
34.3.1.4
How to Implement a Task Escalation Pattern
34.3.2
Dynamically Assigning Task Participants with the Assignment Service
34.3.2.1
How to Implement an Assignment Service
34.3.2.2
Example of Assignment Service Implementation
34.3.2.3
How to Deploy a Custom Assignment Service
34.3.3
Custom Escalation Function
34.4
Class Loading for Callbacks and Resource Bundles
34.5
Resource Bundles in Workflow Services
34.5.1
Task Resource Bundles
34.5.2
Global Resource Bundle – WorkflowLabels.properties
34.5.3
Worklist Client Resource Bundles
34.5.4
Task Detail ADF Task Flow Resource Bundles
34.5.5
Specifying Stage and Participant Names in Resource Bundles
34.5.6
Case Sensitivity in Group and Application Role Names
34.6
Introduction to Human Workflow Client Integration with Oracle WebLogic Server Services
34.6.1
Human Workflow Services Clients
34.6.1.1
Task Query Service Client Code
34.6.1.2
Configuration Option
34.6.1.2.1
JAXB Object
34.6.1.2.2
Workflow Client Configuration File - wf_client_config.xml
34.6.1.2.3
Workflow Client Configuration in the Property Map
34.6.1.3
Client Logging
34.6.1.4
Configuration Migration Utility
34.6.2
Identity Propagation
34.6.2.1
Enterprise JavaBeans Identity Propagation
34.6.2.1.1
Client Configuration
34.6.2.1.2
Requirements for Client Applications For Identity Propagation
34.6.2.2
SAML Token Identity Propagation for SOAP Client
34.6.2.2.1
Client configuration
34.6.2.3
Public Key Alias
34.6.3
Client JAR Files
34.7
Task States in a Human Task
34.8
Database Views for Oracle Workflow
34.8.1
Unattended Tasks Report View
34.8.2
Task Cycle Time Report View
34.8.3
Task Productivity Report View
34.8.4
Task Priority Report View
Part VI Using Binding Components
35
Getting Started with Binding Components
35.1
Introduction to Binding Components
35.1.1
SOAP Web Services
35.1.1.1
WS-AtomicTransaction Support
35.1.1.1.1
Ensuring Participation of BPEL Processes in WS-AT
35.1.1.1.2
WS-AT Transactions are Not Supported When Optimization is Enabled
35.1.2
HTTP Binding Service
35.1.2.1
Supported Interactions
35.1.2.2
How to Configure the HTTP Binding Service
35.1.2.3
How to Enable Basic Authentication for HTTP Binding
35.1.3
JCA Adapters
35.1.3.1
Database Adapter
35.1.3.2
File Adapter
35.1.3.3
FTP Adapter
35.1.3.4
AQ Adapter
35.1.3.5
JMS Adapter
35.1.3.6
MQ Adapter
35.1.3.7
Socket Adapter
35.1.3.8
Third-Party Adapter
35.1.3.9
Oracle User Messaging Service Adapter
35.1.3.10
LDAP Adapter
35.1.3.11
Coherence Adapter
35.1.4
Oracle E-Business Suite Adapter
35.1.5
Oracle BAM 11g Adapter
35.1.6
Oracle B2B
35.1.7
Oracle Healthcare Adapter
35.1.8
Oracle MFT
35.1.9
ADF-BC Services
35.1.10
EJB Adapter
35.1.11
Direct Binding Adapter
35.1.12
REST Binding
35.1.13
Cloud Adapters
35.2
Introduction to Integrating a Binding Component in a SOA Composite Application
35.2.1
How to Integrate a Binding Component in a SOA Composite Application
35.2.2
How to Use ADF Binding to Invoke a Composite Application from a JSP/Java Class
35.3
Creating Tokens for Use in the Binding URLs of External References
35.3.1
How to Create Tokens for Use in the Binding URLs of External References
36
Integrating REST Operations in SOA Composite Applications
36.1
Introduction to REST Support
36.2
Creating REST Support in Service and Reference Binding Components
36.2.1
How to Configure the REST Adapter as a Service Binding Component in a SOA Composite Application
36.2.2
How to Configure the REST Adapter as a Reference Binding Component in a SOA Composite Application
36.2.3
How to Configure the REST Adapter Through Shortcuts
36.2.3.1
To generate a REST service based on a web service deployed on an application server:
36.2.3.2
To generate a REST reference based on a REST service deployed on an application server:
36.2.3.3
To generate a REST service based on a SOA component's WSDL service:
36.2.4
How to Generate Schemas Manually
36.2.5
How to Generate Schemas from Samples
36.2.6
How to Use Global Token Variables
36.2.7
How to Set REST Header Properties
36.2.7.1
Inbound and Outbound Headers
36.2.7.2
Custom Header Support
36.2.8
What You May Need to Know About REST Fault Binding
36.2.9
What You May Need to Know About Converting a JSON Interchange Format to a REST Schema
36.2.10
What You May Need to Know About REST References Calling REST Services in the Same Node
36.3
Testing the REST Adapter with the HTTP Analyzer
36.4
Testing and Configuring REST Reference Binding Components in Oracle Enterprise Manager Fusion Middleware Control
37
Integrating Enterprise JavaBeans with Composite Applications
37.1
Introduction to Enterprise JavaBeans Binding Integration with SOA Composite Applications
37.1.1
Integration Through Java Interfaces
37.1.2
Integration Through SDO-Based EJBs
37.2
Designing an SDO-Based Enterprise JavaBeans Application
37.2.1
How to Create SDO Objects Using the SDO Compiler
37.2.2
How to Create a Session Bean and Import the SDO Objects
37.2.3
How to Create a Profile and an EAR File
37.2.4
How to Define the SDO Types with an Enterprise JavaBeans Bean
37.2.5
How to Use Web Service Annotations
37.2.6
How to Deploy the Enterprise JavaBeans EAR File
37.3
Creating an Enterprise JavaBeans Service in Oracle JDeveloper
37.3.1
How to Integrate Java Interface-based Enterprise JavaBeans with SOA Composite Applications
37.3.2
How to Integrate SDO-based Enterprise JavaBeans with SOA Composite Applications
37.4
Designing an Enterprise JavaBeans Client to Invoke Oracle SOA Suite
37.4.1
How to Create a Java Interface-Based Client to Invoke Oracle SOA Suite
37.4.2
How to Invoke an SDO-Enterprise JavaBeans Service
37.5
Specifying Enterprise JavaBeans Roles
37.6
Configuring Enterprise JavaBeans Binding Support in the Credential Store Framework
37.6.1
How to Configure Enterprise JavaBeans Binding Support in the Credential Store Framework
37.6.1.1
To configure Enterprise JavaBeans binding support in the credential store framework:
37.6.1.2
To specify the oracle.jps.credstore.map and oracle.jps.credstore.key properties
37.6.1.3
To grant SOA infrastructure runtime access to the CSF map store
38
Using Direct Binding to Invoke Composite Services
38.1
Introduction to Direct Binding
38.1.1
Direct Service Binding Component
38.1.2
Direct Reference Binding Component
38.2
Introduction to the Direct Binding Invocation API
38.2.1
Synchronous Direct Binding Invocation
38.2.2
Asynchronous Direct Binding Invocation
38.2.3
Required JAR Files for Compiling and Running the Direct Binding Java Client Code
38.2.4
SOA Direct Address Syntax
38.2.5
SOA Transaction Propagation
38.3
Invoking a SOA Composite Application in Oracle JDeveloper with the Invocation API
38.3.1
How to Create an Inbound Direct Binding Service
38.3.2
How to Create an Outbound Direct Binding Reference
38.3.3
How to Set an Identity for J2SE Clients Invoking Direct Binding
38.3.4
What You May Need to Know About Invoking SOA Composites on Hosts with the Same Server and Domain Names
38.4
Samples Using the Direct Binding Invocation API
Part VII Sharing Functionality Across Service Components
39
Oracle SOA Suite Templates and Reusable Subprocesses
39.1
Introduction to Oracle SOA Suite Templates
39.2
Introduction to Standalone and Inline BPEL Subprocess Invocations
39.2.1
Introduction to a Standalone Subprocess
39.2.2
Introduction to an Inline Subprocess
39.3
Differences Between Oracle SOA Suite Templates and Reusable Subprocesses
39.4
Creating Oracle SOA Suite Templates
39.4.1
Creating and Using a SOA Project Template
39.4.1.1
How To Create a SOA Project Template
39.4.1.2
How to Use a Composite Template in Another SOA Composite
39.4.2
Creating and Using a Service Component Template
39.4.2.1
How to Create a Service Component Template
39.4.2.2
How to Use a Service Component Template in Another SOA Composite
39.4.3
Creating and Using a BPEL Scope Activity Template
39.4.3.1
How to Create a BPEL Scope Activity Template
39.4.3.2
How to Use a BPEL Scope Activity Template in Another BPEL Process
39.4.4
Managing Templates
39.5
Creating Standalone and Inline BPEL Subprocesses in a BPEL Process
39.5.1
How to Create a Standalone BPEL Subprocess
39.5.2
How to Create an Inline Subprocess
39.5.3
How to Create a Standalone Subprocess that Takes a Partner Link as a Parameter
39.5.4
What You May Need to Know About Renaming a Subprocess
40
Creating Transformations with the XSLT Map Editor
40.1
Introduction to the XSLT Map Editor
40.1.1
Using the Map View
40.1.2
Using the XSLT View
40.1.3
Using the Components Window
40.1.4
Using the Properties Window
40.2
Creating an XSLT Map
40.2.1
How to Create an XSLT Map
40.2.2
How to Create an XSL Map File in Oracle BPEL Process Manager
40.2.3
How to Create an XSL Map File from Imported Source and Target Schema Files in Oracle BPEL Process Manager
40.2.4
How to Create an XSL Map File in Oracle Mediator
40.2.5
What You May Need to Know About Creating an XSL Map File
40.2.6
What Happens at Runtime If You Pass a Payload Through Oracle Mediator Without Creating an XSL Map File
40.2.7
What Happens If You Receive an Empty Namespace Tag in an Output Message
40.3
Editing an XSLT Map in Map View
40.3.1
How to Perform a Value Copy by Linking Nodes
40.3.2
How to Create an Empty Node in the Output Document
40.3.3
How to Set a Literal Text Value for a Target Node
40.3.4
How to Add an XSLT Statement
40.3.4.1
To Add an XSLT Statement:
40.3.4.2
To Add an xsl:text or xsl:variable Statement:
40.3.4.3
To Drag and Drop an XSLT statement to a Target Node:
40.3.4.4
How to Add Conditional Processing Using xsl:if
40.3.4.4.1
To add an xsl:if statement using the context menu:
40.3.4.4.2
To add an xsl:if statement using drag and drop:
40.3.4.5
How to Add Conditional Processing Using xsl:choose
40.3.4.5.1
To add an xsl:choose statement using the context menu:
40.3.4.5.2
To add an xsl:choose statement using drag and drop:
40.3.4.6
How to Add Loops Using xsl:for-each
40.3.4.6.1
To add an xsl:for-each statement using the context menu:
40.3.4.6.2
To add an xsl:for-each statement using drag and drop:
40.3.4.7
How to Add xsl:sort for an xsl:for-each Statement
40.3.4.7.1
To add an xsl:sort statement using the context menu:
40.3.4.7.2
To add an xsl:sort statement using drag and drop:
40.3.4.8
How to Duplicate XSLT Instructions
40.3.4.8.1
Example: Modifying the Mapping by Changing the XPath Expression
40.3.4.8.2
Example: Modifying the Mapping by Deleting and Re-Creating It
40.3.5
How to Duplicate an Element
40.3.6
How to Delete an Element or Attribute
40.3.7
How to Remove Mappings from an Element or Attribute
40.4
Editing an XSLT Map in XSLT View
40.4.1
How to Add a Target Element or Attribute Before Mapping
40.4.1.1
How to Add Elements and Attributes from the Target Schema
40.4.1.1.1
To add elements and attributes when target schema is present:
40.4.1.1.2
To drag and drop elements and attributes from the target schema tree:
40.4.1.2
How to Add Literal Elements and Attributes When No Target Schema Is Present
40.4.1.2.1
To add a literal element when there is no target schema:
40.4.1.2.2
To add a literal attribute when there is no target schema:
40.4.1.3
How to Create an Empty Node in the Output Document
40.4.2
How to Perform a Value Copy by Linking Nodes
40.4.3
How to Insert an xsl:valueof Statement
40.4.4
How to Set a Literal Text Value for an XSLT Node
40.4.5
How to Set a Literal Text Value Using an xsl:text Instruction
40.4.6
How to Add XSLT Statements
40.4.6.1
To add an XSLT element using the context menu:
40.4.6.2
To add XSLT elements from the Components window:
40.4.7
How to Set the Value of an XSLT Expression Attribute
40.4.8
How to Duplicate an Element
40.4.9
How to Delete an Element or Attribute
40.4.10
How to Move an Element
40.4.11
How to Remove Mappings from an Element or Attribute
40.5
Using XPath Expressions
40.5.1
How to Modify an Existing Source to Target Mapping
40.5.1.1
To edit an XPath expression using the Edit XPath dialog
40.5.1.2
To edit an existing XPath expression using the Properties window
40.5.1.3
How to Add an XPath Function to an Existing XPath Expression
40.5.2
How to Modify an Existing Function XPath Expression in the Canvas Pane
40.5.2.1
To set a function parameter using drag and drop:
40.5.2.2
To delete a function parameter:
40.5.2.3
How to Edit a Function as a Full XPath Expression
40.5.2.3.1
To edit a function as a textual XPath expression using the XPath Edit dialog:
40.5.2.3.2
To edit a function as a textual XPath expression using the Properties Window:
40.5.2.4
How to Edit Individual Function Parameters
40.5.2.4.1
To edit the parameters of a function using the Edit Function dialog:
40.5.2.4.2
To edit the parameters of a function using the Properties window:
40.5.3
How to Create a New Function in the Canvas Pane
40.5.3.1
To create an XPath Function using the canvas context menu
40.5.3.2
To create an XPath function using the Components window
40.5.3.3
To create an XPath function using the target tree context menu
40.5.3.4
To create an XPath function by dragging it to the target tree
40.5.4
How to Chain Functions Together
40.5.5
How to Remove an XPath Expression
40.5.6
How to Import User-Defined Functions
40.6
Using Auto Map to Map Complex Nodes
40.6.1
How to Set Auto Map Preferences
40.6.2
How to Execute an Auto Map
40.7
Checking the Completion Status of the Map
40.8
Testing the Map
40.8.1
How to Test the Transformation Mapping Logic
40.8.1.1
How to Test XSLT Maps that Use DVM Lookup Functions
40.8.1.2
How to Test XSLT Maps that Use XREF Functions
40.8.1.2.1
Working with returnValue:
40.8.1.2.2
Adding Additional Rows:
40.8.2
How to Generate Reports
40.8.3
How to Customize Sample XML Generation
40.9
Importing an External XSLT Map
40.10
Using Variables and Parameters
40.10.1
How to Add Global Variables
40.10.2
How to Add Local Variables in Map View
40.10.3
How to Add Local Variables in XSLT View
40.10.4
How to Add Global Parameters
40.11
Substituting Elements and Types
40.12
Using Named Templates
40.12.1
How to Create a Named Template
40.12.2
How to Edit a Named Template
40.12.3
How to Add Parameters to an Existing Named Template
40.12.4
How to Invoke a Named Template
40.13
Using Template Rules
40.13.1
How to Create a Template Rule
40.13.1.1
Example: Creating a Template Rule
40.13.1.1.1
Invoking the Template
40.13.2
How to Refactor an Existing Map to Create a Template Rule
40.14
Using the Execution View
40.14.1
How to Use Execution View to Prevent or Troubleshoot Runtime Errors
40.14.1.1
Searching for Nodes
40.14.1.2
Setting Display Options
40.15
Troubleshooting Memory Issues
40.16
Setting XSL Map Preferences
40.16.1
How to Set XSLT Map Preferences
40.16.2
How to Set the XSL Editor Preferences
40.16.3
How to Import a Customization File to Specify Display Preferences in the XSLT Map Editor
41
Creating Transformations with the XQuery Mapper
41.1
Introduction to the XQuery Mapper
41.1.1
About the Source and Target Trees
41.1.2
Using the XQuery Mapper Toolbar
41.1.3
Using the Properties Window
41.1.4
Using the Components Window
41.1.5
Source Editor
41.2
Creating an XQuery Map File
41.2.1
How to Create an XQuery Main/Library Module
41.3
Using the XQuery Mapper
41.3.1
How to Use Value Mapping to Copy a Leaf Element Value to a Target Leaf Element
41.3.2
How to Use Overwrite Mapping to Copy an Element Subtree to the Target Tree
41.3.3
How to Use Append Mapping to Copy an Element Subtree to the Target Tree
41.3.4
How to Perform Multiple Value Mappings with One Drag and Drop Action
41.4
Using XQuery Functions
41.4.1
How to Add an XQuery Function in the XQuery Mapper
41.4.1.1
To add an XQuery function:
41.4.1.2
To edit a function's parameters:
41.5
Using Library Modules
41.5.1
How to Import a Library Module
41.6
Working with Zones and FLWOR Constructs
41.6.1
How to Edit a FLWOR Construct
41.7
Using Type Annotations to Improve XQuery Performance
41.8
Testing Your XQuery Map
41.8.1
How to Test an XQuery Map
42
Using Business Events and the Event Delivery Network
42.1
Introduction to Business Events
42.1.1
EDN Integration with Oracle SOA Suite
42.1.2
Business Event API Support for Remote Clients
42.1.2.1
Guidelines for Manually Setting Event Delivery Network Properties When Invoking the BusinessEvent.setProperty API
42.1.2.1.1
Properties That Cannot Be Manually Set
42.1.2.1.2
Properties That Can Be Manually Set
42.1.3
Local and Remote Event Connections
42.2
Creating Business Events in Oracle JDeveloper
42.2.1
How to Create a Business Event
42.3
Subscribing to or Publishing a Business Event from an Oracle Mediator Service Component
42.3.1
How to Subscribe to a Business Event
42.3.2
How to Publish a Business Event
42.3.3
What Happens When You Create and Subscribe to a Business Event
42.3.4
What Happens When You Publish a Business Event
42.3.5
What You May Need to Know About Subscribing to a Business Event
42.3.6
What You May Need to Know About Publishing Events Across Domains Using SAF
42.3.6.1
Workaround for Local Subscribers
42.3.7
How to Configure a Foreign JNDI Provider to Enable Administration Server Applications to Publish Events to the SOA Server
42.3.8
How to Configure the Connection Factory When the Oracle WebLogic Server JMS Runs in the Same Local JVM as the JMS Adapter
42.4
Subscribing to or Publishing a Business Event from a BPEL Process Service Component
42.4.1
How to Subscribe to a Business Event
42.4.2
How to Publish a Business Event
42.4.3
What Happens When You Subscribe to and Publish a Business Event
42.5
How to Integrate Oracle ADF Business Component Business Events with Oracle Mediator
43
Working with Cross References
43.1
Introduction to Cross References
43.2
Introduction to Cross Reference Tables
43.3
Oracle Data Integrator Support for Cross Referencing
43.4
Creating and Modifying Cross Reference Tables
43.4.1
How to Create Cross Reference Metadata
43.4.2
What Happens When You Create a Cross Reference
43.4.3
How to Create Custom Database Tables
43.4.4
How to Add an End System to a Cross Reference Table
43.5
Populating Cross Reference Tables
43.5.1
About the xref:populateXRefRow Function
43.5.2
About the xref:populateLookupXRefRow Function
43.5.3
About the xref:populateXRefRow1M Function
43.5.4
How to Populate a Column of a Cross Reference Table
43.6
Looking Up Cross Reference Tables
43.6.1
About the xref:lookupXRef Function
43.6.2
About the xref:lookupXRef1M Function
43.6.3
About the xref:lookupPopulatedColumns Function
43.6.4
How to Look Up a Cross Reference Table for a Value
43.7
Deleting a Cross Reference Table Value
43.7.1
How to Delete a Cross Reference Table Value
43.8
Creating and Running the Cross Reference Use Case
43.8.1
How to Create the Use Case
43.8.1.1
Task 1: How to Configure the Oracle Database and Database Adapter
43.8.1.2
Task 2: How to Create an Oracle JDeveloper Application and a Project
43.8.1.3
Task 3: How to Create a Cross Reference
43.8.1.4
Task 4: How to Create a Database Adapter Service
43.8.1.5
Task 5: How to Create EBS and SBL External References
43.8.1.6
Task 6: How to Create the Logger File Adapter External Reference
43.8.1.7
Task 7: How to Create an Oracle Mediator Service Component
43.8.1.8
Task 8: How to Specify Routing Rules for an Oracle Mediator Service Component
43.8.1.8.1
To create routing rules for an insert operation:
43.8.1.8.2
To create routing rules for an update operation:
43.8.1.8.3
To create routing rules for an updateID operation:
43.8.1.8.4
To create routing rules for a delete operation:
43.8.1.9
Task 9: How to Specify Routing Rules for the Common Oracle Mediator
43.8.1.9.1
To create routing rules for the insert operation:
43.8.1.9.2
To create routing rules for a delete operation:
43.8.1.9.3
To create routing rules for the update operation:
43.8.1.9.4
To create routing rules for the UpdateID operation:
43.8.1.10
Task 10: How to Configure an Application Server Connection
43.8.1.11
Task 11: How to Deploy the Composite Application
43.8.2
How to Run and Monitor the XrefCustApp Application
43.9
Creating and Running Cross Reference for 1M Functions
43.9.1
How to Create the Use Case
43.9.1.1
Task 1: How to Configure the Oracle Database and Database Adapter
43.9.1.2
Task 2: How to Create an Oracle JDeveloper Application and a Project
43.9.1.3
Task 3: How to Create a Cross Reference
43.9.1.4
Task 4: How to Create a Database Adapter Service
43.9.1.5
Task 5: How to Create an EBS External Reference
43.9.1.6
Task 6: How to Create a Logger File Adapter External Reference
43.9.1.7
Task 7: How to Create an Oracle Mediator Service Component
43.9.1.8
Task 8: How to Specify Routing Rules for an Oracle Mediator Component
43.9.1.8.1
To create routing rules for the insert operation:
43.9.1.8.2
To create routing rules for the update operation:
43.9.1.9
Task 9: How to Specify Routing Rules for the Common Oracle Mediator
43.9.1.9.1
To create routing rules for the insert operation:
43.9.1.9.2
To create routing rules for the update operation:
43.9.1.10
Task 10: How to Configure an Application Server Connection
43.9.1.11
Task 11: How to Deploy the Composite Application
44
Working with Domain Value Maps
44.1
Introduction to Domain Value Maps
44.1.1
Domain Value Map Features
44.1.1.1
Qualifier Domains
44.1.1.2
Qualifier Hierarchies
44.1.1.3
One-to-Many Mappings
44.2
Creating Domain Value Maps
44.2.1
How to Create Domain Value Maps
44.2.2
What Happens When You Create a Domain Value Map
44.3
Editing a Domain Value Map
44.3.1
How to Add Domains to a Domain Value Map
44.3.2
How to Edit a Domain
44.3.3
How to Add Domain Values to a Domain Value Map
44.3.4
How to Edit Domain Values
44.4
Using Domain Value Map Functions
44.4.1
Understanding Domain Value Map Functions
44.4.1.1
dvm:lookupValue
44.4.1.2
dvm:lookupValue1M
44.4.2
How to Use Domain Value Map Functions in Transformations
44.4.3
How to Use Domain Value Map Functions in XPath Expressions
44.4.4
What Happens at Runtime
44.5
Creating a Domain Value Map Use Case for a Hierarchical Lookup
44.5.1
How to Create the HierarchicalValue Use Case
44.5.1.1
Task 1: How to Create an Oracle JDeveloper Application and a Project
44.5.1.2
Task 2: How to Create a Domain Value Map
44.5.1.3
Task 3: How to Create a File Adapter Service
44.5.1.4
Task 4: How to Create ProcessOrders Mediator Component
44.5.1.5
Task 5: How to Create a File Adapter Reference
44.5.1.6
Task 6: How to Specify Routing Rules
44.5.1.7
Task 7: How to Configure an Application Server Connection
44.5.1.8
Task 8: How to Deploy the Composite Application
44.5.2
How to Run and Monitor the HierarchicalValue Application
44.6
Creating a Domain Value Map Use Case For Multiple Values
44.6.1
How to Create the Multivalue Use Case
44.6.1.1
Task 1: How to Create an Oracle JDeveloper Application and Project
44.6.1.2
Task 2: How to Create a Domain Value Map
44.6.1.3
Task 3: How to Create a File Adapter Service
44.6.1.4
Task 4: How to Create the LookupMultiplevaluesMediator Mediator
44.6.1.5
Task 5: How to Create a File Adapter Reference
44.6.1.6
Task 6: How to Specify Routing Rules
44.6.1.7
Task 7: How to Configure an Application Server Connection
44.6.1.8
Task 8: How to Deploy the Composite Application
44.6.2
How to Run and Monitor the Multivalue Application
44.7
Preloading DVM Cache for Faster First-Use
44.7.1
How to Preload DVM Cache at Server Startup
45
Using Oracle SOA Composer with Domain Value Maps
45.1
Introduction to Oracle SOA Composer
45.1.1
How to Log in to Oracle SOA Composer
45.2
Viewing Domain Value Maps at Runtime
45.2.1
How To View Domain Value Maps at Runtime
45.3
Editing Domain Value Maps at Runtime
45.3.1
How to Edit Domain Value Maps at Runtime
45.3.1.1
Changing to Edit Mode
45.3.1.2
Adding Rows
45.3.1.3
Editing Rows
45.3.1.4
Deleting Rows
45.4
Publishing Changes at Runtime
45.4.1
How to Publish Changes at Runtime
45.4.2
How to Discard Changes at Runtime
45.5
Detecting Conflicts
Part VIII Completing Your Application
46
Enabling Security with Policies and Message Encryption
46.1
Introduction to Policies
46.2
Attaching Policies to Binding Components and Service Components
46.2.1
How to Attach Policies to Binding Components and Service Components
46.2.1.1
To attach a policy to a service component:
46.2.2
How to Override Policy Configuration Property Values
46.2.2.1
Overriding Client Configuration Property Values
46.2.2.2
Overriding Server Configuration Property Values
46.3
Encrypting and Decrypting Specific Fields of Messages
46.3.1
How to Encrypt and Decrypt Specific Fields of Messages
47
Deploying SOA Composite Applications
47.1
Introduction to Deployment
47.2
Deployment Prerequisites
47.2.1
Creating the Oracle SOA Suite Schema
47.2.2
Creating a SOA Domain
47.2.3
Configuring a SOA Cluster
47.3
Understanding the Packaging Impact
47.4
Anatomy of a Composite
47.5
Preparing the Target Environment
47.5.1
How to Create Data Sources and Queues
47.5.1.1
Script for Creation of JMS Resource and Redeployment of JMS Adapter
47.5.1.2
Script for Creation of the Database Resource and Redeployment of the Database Adapter
47.5.2
How to Create Connection Factories and Connection Pooling
47.5.3
How to Enable Security
47.5.4
How to Set the Business Flow Instance Name or Composite Instance Name at Design Time
47.5.4.1
Setting the Business Flow Instance Name in Oracle Mediator
47.5.4.2
Setting the Business Flow Instance Name in a BPEL Process
47.5.4.3
Setting the Composite Instance Name in a BPEL Process
47.5.5
How to Deploy Trading Partner Agreements and Task Flows
47.5.6
How to Create an Application Server Connection
47.5.7
How to Create a SOA-MDS Connection
47.5.7.1
What You May Need to Know About Opening the composite.xml File Through a SOA-MDS Connection
47.6
Customizing Your Application for the Target Environment Before Deployment
47.6.1
How to Use Configuration Plans to Customize SOA Composite Applications for the Target Environment
47.6.1.1
Introduction to Configuration Plans
47.6.1.2
Introduction to a Configuration Plan File
47.6.1.3
Introduction to Use Cases for a Configuration Plan
47.6.1.3.1
How to Use a Configuration Plan when Creating Environment-Independent Processes
47.6.1.4
How to Create a Configuration Plan in Oracle JDeveloper
47.6.1.5
How to Create a Configuration Plan with the WLST Utility
47.6.1.6
How to Attach a Configuration Plan with ant Scripts
47.6.1.7
How to Create Global Token Variables
47.7
Deploying SOA Composite Applications in Oracle JDeveloper
47.7.1
How to Deploy a Single SOA Composite in Oracle JDeveloper
47.7.1.1
Creating an Application Server Connection
47.7.1.2
Optionally Creating a Project Deployment Profile
47.7.1.3
Deploying the Profile
47.7.1.4
What You May Need to Know About Deploying Human Task Composites with Task Flows to Partitions
47.7.2
How to Deploy Multiple SOA Composite Applications in Oracle JDeveloper
47.7.3
How to Deploy and Use Shared Data Across Multiple SOA Composite Applications in Oracle JDeveloper
47.7.3.1
Create a JAR Profile and Include the Artifacts to Share
47.7.3.2
Create a SOA Bundle that Includes the JAR Profile
47.7.3.3
Deploy the SOA Bundle with Oracle JDeveloper
47.7.3.3.1
To deploy the SOA bundle with ant:
47.7.3.4
Use Shared Data
47.7.3.4.1
Creating a SOA-MDS Connection
47.7.3.4.2
Creating a BPEL Process
47.7.4
How to Deploy an Existing SOA Archive in Oracle JDeveloper
47.8
Deploying and Managing SOA Composite Applications with the WLST Utility
47.9
Deploying and Managing SOA Composite Applications with ant Scripts
47.9.1
How to Use ant to Automate the Testing of a SOA Composite Application
47.9.2
How to Use ant to Compile a SOA Composite Application
47.9.3
How to Use ant to Package a SOA Composite Application into a Composite SAR File
47.9.4
How to Use ant to Deploy a SOA Composite Application
47.9.5
How to Use ant to Undeploy a SOA Composite Application
47.9.6
How to Use ant to Export a Composite into a SAR File
47.9.7
How to Use ant to Export Postdeployment Changes of a Composite into a JAR File
47.9.8
How to Use ant to Import Postdeployment Changes of a Composite
47.9.9
How to Use ant to Export Shared Data of a Given Pattern into a JAR File
47.9.10
How to Use ant to Remove a Top-level Shared Data Folder
47.9.11
How to Use ant to Start a SOA Composite Application
47.9.12
How to Use ant to Stop a SOA Composite Application
47.9.13
How to Use ant to Activate a SOA Composite Application
47.9.14
How to Use ant to Retire a SOA Composite Application
47.9.15
How to Use ant to Assign the Default Version to a SOA Composite Application
47.9.16
How to Use ant to List the Deployed SOA Composite Applications
47.9.17
How to Use ant to List All Available Partitions in the SOA Infrastructure
47.9.18
How to Use ant to List All Composites in a Partition
47.9.19
How to Use ant to Create a Partition in the SOA Infrastructure
47.9.20
How to Use ant to Delete a Partition in the SOA Infrastructure
47.9.21
How to Use ant to Start All Composites in the Partition
47.9.22
How to Use ant to Stop All Composites in the Partition
47.9.23
How to Use ant to Activate All Composites in the Partition
47.9.24
How to Use ant to Retire All Composites in the Partition
47.9.25
How to Use ant to Manage SOA Composite Applications
47.10
Deploying SOA Composite Applications from Oracle Enterprise Manager Fusion Middleware Control
47.11
Deploying SOA Composite Applications to a Cluster
47.12
Deploying SOA Composite Applications with No Servers Running
47.12.1
Offline Deployment Configuration Files
47.12.1.1
Offline Deployment Configuration List File
47.12.1.2
Offline Deployment Configuration File
47.12.1.3
Relative Configuration File Paths
47.12.1.4
Order of Deployment
47.12.2
How to Deploy SOA Composite Applications and Shared Data with No Server Running
47.12.3
What You May Need to Know About Offline Composite Deployment in a Cluster Environment
47.12.4
What You May Need to Know About Deploying SOA Composite Applications that Reference Shared Data That is Not in the MDS Repository
47.13
Postdeployment Configuration
47.13.1
Security
47.13.2
Updating Connections
47.13.3
Updating Data Sources and Queues
47.13.4
Attaching Policies
47.14
Testing and Troubleshooting
47.14.1
Verifying Deployment
47.14.2
Initiating an Instance of a Deployed Composite
47.14.3
Automating the Testing of Deployed Composites
47.14.4
Recompiling a Project After Receiving a Deployment Error
47.14.5
Reducing Java Code Size to Resolve Java Compilation Errors
47.14.6
Troubleshooting Common Deployment Errors
47.14.6.1
Common Oracle JDeveloper Deployment Issues
47.14.6.2
Common Configuration Plan Issues
47.14.6.3
Deploying to a Managed Oracle WebLogic Server
47.14.6.4
Deploying to a Two-Way, SSL-Enabled Oracle WebLogic Server
47.14.6.5
Deploying with an Unreachable Proxy Server
47.14.6.6
Releasing Locks to Resolve ADF Task Form EAR File Deployment Errors
47.14.6.7
Increasing Memory to Recover from Compilation Errors
47.14.6.8
Oracle JDeveloper Compilation Error When Property Alias Definition is Missing for a Receive Activity with a Correlation Set
47.14.6.9
ADF Binding Service Names Must Be Unique Across All Deployed SOA Composite Applications
48
Using the Oracle SOA Suite Development Maven Plug-In
48.1
Introduction to the Oracle SOA Suite Maven Plug-in
48.1.1
POM Files and Archetypes
48.1.2
Maven Plug-in Goals
48.1.2.1
compile
48.1.2.2
package
48.1.2.3
deploy
48.1.2.4
test
48.1.2.5
undeploy
48.1.3
Using Maven Online Help
48.2
Installing the Oracle SOA Suite Maven Plug-in
48.2.1
How to Configure the Oracle SOA Suite Maven Plug-In
48.3
Using the Oracle SOA Suite Maven Archetype
49
Debugging and Auditing SOA Composite Applications
49.1
Introduction to the SOA Debugger
49.2
Debugging a SOA Composite Application
49.2.1
How to Start the SOA Debugger
49.2.2
How to Set Breakpoints and Initiate Debugging
49.2.3
How to Step Through a Debugging Session
49.2.4
How to End or Detach from a Debugging Session
49.2.5
How to Remove Breakpoints
49.2.6
How to View Adapter Properties
49.2.7
How to View Threads
49.3
Testing SOA Composite Applications with the HTTP Analyzer
49.4
Auditing SOA Composite Applications at the BPEL Activity Level
49.4.1
How to Audit SOA Composite Applications at the BPEL Activity Level
50
Automating Testing of SOA Composite Applications
50.1
Introduction to the Composite Test Framework
50.1.1
Test Cases Overview
50.1.2
Overview of Test Suites
50.1.3
Overview of Emulations
50.1.4
Overview of Assertions
50.2
Introduction to the Components of a Test Suite
50.2.1
Process Initiation
50.2.2
Emulations
50.2.3
Assertions
50.2.4
Message Files
50.3
Creating Test Suites and Test Cases with the Create Composite Test Wizard
50.4
Editing the Contents of Test Cases in Test Mode in the SOA Composite Editor
50.4.1
How to Initiate Inbound Messages
50.4.2
How to Emulate Outbound Messages
50.4.3
How to Emulate Callback Messages
50.4.4
How to Emulate Fault Messages
50.4.5
How to Create Assertions
50.4.5.1
Creating Assertions on a Part Section, Nonleaf Element, or Entire XML Document
50.4.5.2
Creating Assertions on a Leaf Element
50.4.6
What You May Need to Know About Assertions
50.5
Testing BPEL Process Service Components
50.5.1
Overview of Assertions on BPEL Process Activities
50.5.2
Overview of a Fast Forward Action on a Wait Activity
50.5.3
Overview of Assert Activity Execution
50.5.4
How to Create BPEL Process Service Component Tests
50.5.5
How to Create Assertions
50.5.6
How to Bypass a Wait Activity
50.5.7
How to Specify the Number of Times to Execute an Activity
50.6
Deploying and Running a Test Suite
50.6.1
How to Deploy and Run a Test Suite from Oracle JDeveloper
50.6.2
How to Deploy and Run a Test Suite from Oracle Enterprise Manager Fusion Middleware Control
50.6.3
How to Deploy and Run a Test Suite with a WLST Command
50.6.4
How to Deploy and Run a Test Suite with an ant Script
Part IX Advanced Topics
51
Managing Large Documents and Large Numbers of Instances
51.1
Best Practices for Handling Large Documents
51.1.1
Use Cases for Handling Large Documents
51.1.1.1
Passing Binary Objects as Base64-Encoded Text in XML Payloads
51.1.1.1.1
SOAP Inline
51.1.1.1.2
SOAP MTOM
51.1.1.1.3
Opaque Passed by File/FTP Adapters
51.1.1.1.4
Opaque Passed by Oracle B2B
51.1.1.2
End-to-End Streaming with Attachments
51.1.1.2.1
SOAP with Attachments
51.1.1.2.2
Working with Streaming Attachments
51.1.1.2.3
Creating Composites that Use MIME Attachments
51.1.1.2.4
Performance Overhead and Pass Through Attachments
51.1.1.2.5
Properties for Streaming Attachments
51.1.1.2.6
Streaming Attachments from the SOA Web Service Binding Layer
51.1.1.2.7
Reading and Encoding SOAP Attachment Content
51.1.1.2.8
Sending Attachment Streams
51.1.1.2.9
Overriding Pass Through Settings for Attachments in Oracle Mediator
51.1.1.2.10
Sharing Attachments Using Synchronous Flows
51.1.1.2.11
Attachment Options of File/FTP Adapters
51.1.1.2.12
Oracle B2B Attachment
51.1.1.3
Sending and Receiving MTOM-Optimized Messages to SOA Composite Applications
51.1.1.3.1
Scenarios for Storing SwA and MTOM-Optimized Attachments to the Database
51.1.1.4
Processing Large XML with Repeating Constructs
51.1.1.4.1
Debatching with the File/FTP Adapter
51.1.1.4.2
Chunking with the File/FTP Adapters
51.1.1.5
Processing Large XML Documents with Complex Structures
51.1.1.5.1
Streaming with the File/FTP Adapters
51.1.1.5.2
Oracle B2B Streaming
51.1.2
Limitations on Concurrent Processing of Large Documents
51.1.2.1
Opaque Schema for Processing Large Payloads
51.1.3
JVM Memory Sizing Recommendations for SOA Composite Applications
51.1.4
General Tuning Recommendations
51.1.4.1
General Recommendations
51.1.4.1.1
Increasing the HTTP POST Timeout
51.1.4.1.2
Increasing the Timeout Value
51.1.4.2
Setting Audit Levels from Oracle Enterprise Manager for Large Payload Processing
51.1.4.3
Using the Assign Activity in Oracle BPEL Process Manager and Oracle Mediator
51.1.4.4
Using XSLT Transformations on Large Payloads (For Oracle BPEL Process Manager)
51.1.4.5
Using XSLT Transformations on Large Payloads (For Oracle Mediator)
51.1.4.6
Using XSLT Transformations for Repeating Structures
51.1.4.7
Processing Large Documents in Oracle B2B
51.1.4.7.1
MDSInstance Cache Size
51.1.4.7.2
Protocol Message Size
51.1.4.7.3
Number of Threads
51.1.4.7.4
Stuck Thread Max Time Parameter
51.1.4.7.5
Tablespace
51.1.4.8
Setting a Size Restriction on Inbound Web Service Message Size
51.1.4.9
Using XPath Functions to Write Large XSLT/XQuery Output to a File System
51.2
Best Practices for Handling Large Metadata
51.2.1
Boundary on the Processing of Large Numbers of Activities in a BPEL Process
51.2.2
Using Large Numbers of Activities in BPEL Processes (Without FlowN)
51.2.3
Using Large Numbers of Activities in BPEL Processes (With FlowN)
51.2.4
Using a Flow With Multiple Sequences
51.2.5
Using a Flow with One Sequence
51.2.6
Using a Flow with No Sequence
51.2.7
Large Numbers of Oracle Mediators in a Composite
51.2.8
Importing Large Data Sets in Oracle B2B
51.3
Best Practices for Handling Large Numbers of Instances
51.3.1
Instance and Rejected Message Deletion with the Purge Script or Oracle Enterprise Manager Fusion Middleware Control
52
Customizing SOA Composite Applications
52.1
Introduction to Customizing SOA Composite Applications
52.2
Creating the Customizable Composite
52.2.1
How to Create Customization Classes
52.2.2
How to Create the Customizable Composite
52.2.3
How to Add an XSD or WSDL File
52.2.4
How to Search for Customized Activities in a BPEL Process
52.2.5
What You May Need to Know About Resolving Validation Errors in Oracle JDeveloper
52.2.6
What You May Need to Know About Resolving a Sequence Conflict
52.2.6.1
To resolve the conflict:
52.2.7
What You May Need to Know About Compiling and Deploying a Customized Application
52.3
Customizing the Vertical Application
52.3.1
How to Customize the Vertical Application
52.4
Customizing the Customer Version
52.4.1
How to Customize the Customer Version
52.5
Upgrading the Composite
52.5.1
How to Upgrade the Core Application Team Composite
52.5.2
How to Upgrade the Vertical Applications Team Composite
52.5.3
How to Upgrade the Customer Composite
53
Defining Composite Sensors
53.1
Introduction to Composite Sensors
53.1.1
Restrictions on Use of Composite Sensors
53.2
Adding Composite Sensors
53.2.1
How to Add Composite Sensors
53.2.1.1
How to Add a Variable
53.2.1.2
How to Add an Expression
53.2.1.3
How to Add a Property
53.2.2
What You May Need to Know About Duplicate Composite Sensor Names
53.3
Monitoring Composite Sensor Data During Runtime
53.4
Creating and Managing Composite Sensors During Runtime from Oracle SOA Composer
53.4.1
What You May Need to Know About Viewing Composite Sensor Changes in Oracle SOA Composer
54
Creating Dynamic Business Processes
54.1
Introduction to Two-Layer Business Process Management
54.2
Creating a Phase Activity
54.2.1
How to Create a Phase Activity
54.2.2
What Happens When You Create a Phase Activity
54.2.3
What Happens at Runtime When You Create a Phase Activity
54.2.4
What You May Need to Know About Creating a Phase Activity
54.3
Creating the Dynamic Routing Decision Table
54.3.1
How to Create the Dynamic Routing Decision Table
54.3.2
What Happens When You Create the Dynamic Routing Decision Table
55
Integrating the Spring Framework in SOA Composite Applications
55.1
Introduction to the Spring Service Component
55.2
Integration of Java and WSDL-Based Components in the Same SOA Composite Application
55.2.1
Java and WSDL-Based Integration Example
55.2.2
Using Callbacks with the Spring Framework
55.3
Creating a Spring Service Component in Oracle JDeveloper
55.3.1
How to Create a Spring Service Component in Oracle JDeveloper
55.3.2
What You May Need to Know About Java Class Errors During Java-to-WSDL Conversions
55.4
Defining Custom Spring Beans Through a Global Spring Context
55.4.1
How to Define Custom Spring Beans Through a Global Spring Context
55.5
Using the Predefined Spring Beans
55.5.1
IHeaderHelperBean.java Interface for headerHelperBean
55.5.2
IInstanceHelperBean.java Interface for instancerHelperBean
55.5.3
ILoggerBean.java Interface for loggerBean
55.5.4
How to Reference Predefined Spring Beans in the Spring Context File
55.6
JAXB and OXM Support
55.6.1
Extended Mapping Files
55.7
Configuring Groovy and Aspectj Classes with the Spring Service Component
55.8
Troubleshooting Spring Errors
55.8.1
Spring Bean Interface to Invoke Cannot Be Found
55.8.2
Unable to Add a Spring Service Component in the SOA Composite Editor
Part X Appendices
A
BPEL Process Activities and Services
A.1
Introduction to Activities and Components
A.2
Introduction to BPEL 1.1 and 2.0 Activities
A.2.1
Tabs Common to Many Activities
A.2.1.1
Annotations Tab
A.2.1.2
Assertions Tab
A.2.1.3
Correlations Tab
A.2.1.4
Documentation Tab
A.2.1.5
Headers Tab
A.2.1.6
Properties Tab
A.2.1.7
Skip Condition Tab
A.2.1.8
Sources and Targets Tabs
A.2.1.9
Timeout Tab
A.2.2
Using the Native Format Builder Wizard Outside of Adapter Configuration
A.2.2.1
To create a native format schema from the Applications Window:
A.2.2.2
To edit an existing native format schema from the Applications Window:
A.2.3
Assign Activity
A.2.4
Assert Activity
A.2.5
Bind Entity Activity
A.2.6
Call Activity
A.2.7
Compensate Activity
A.2.8
CompensateScope Activity
A.2.9
Create Entity Activity
A.2.10
Dehydrate Activity
A.2.11
Dynamic Partner Link Activity
A.2.12
Email Activity
A.2.13
Empty Activity
A.2.14
Exit Activity
A.2.15
Flow Activity
A.2.16
FlowN Activity
A.2.17
forEach Activity
A.2.18
If Activity
A.2.19
IM Activity
A.2.20
Invoke Activity
A.2.21
Java Embedding Activity
A.2.22
Partner Link Activity
A.2.23
Phase Activity
A.2.24
Pick Activity
A.2.24.1
To put the correlation syntax before the assign activity:
A.2.25
Receive Activity
A.2.26
Receive Signal Activity
A.2.27
Remove Entity Activity
A.2.28
RepeatUntil Activity
A.2.29
Replay Activity
A.2.30
Reply Activity
A.2.31
Rethrow Activity
A.2.32
Schedule Job
A.2.33
Scope Activity
A.2.34
Sequence Activity
A.2.35
Signal Activity
A.2.36
SMS Activity
A.2.37
Switch Activity
A.2.38
Terminate Activity
A.2.39
Throw Activity
A.2.40
Translate Activity
A.2.41
User Notification Activity
A.2.42
Validate Activity
A.2.43
Voice Activity
A.2.44
Wait Activity
A.2.45
While Activity
A.2.46
XQuery Transform Activity
A.2.47
XSLT Transform Activity
A.3
Introduction to BPEL Services
B
XPath Extension Functions
B.1
Advanced Functions
B.1.1
batchProcessActive
B.1.2
batchProcessCompleted
B.1.3
copyList
B.1.4
create-nodeset-from-delimited-string
B.1.5
createDelimitedString
B.1.6
createEssParameter
B.1.7
doStreamingTranslate
B.1.8
doTranslateFromNative
B.1.9
doTranslateToNative
B.1.10
format
B.1.11
genEmptyElem
B.1.12
generate-guid
B.1.13
get-content-from-file-function
B.1.14
getApplicationName
B.1.15
getAttachmentContent
B.1.16
getAttachmentProperty
B.1.17
getChildElement
B.1.18
getComponentInstanceID
B.1.19
getComponentName
B.1.20
getCompositeInstanceID
B.1.21
getCompositeName
B.1.22
getCompositeURL
B.1.23
getECID
B.1.24
getFaultAsString
B.1.25
getFaultAsXML
B.1.26
getFaultName
B.1.27
getMilestoneName
B.1.28
getOwnerDocument
B.1.29
getParentComponentInstanceID
B.1.30
getRevision
B.1.31
getTaskReminderDuration
B.1.32
instanceOf
B.1.33
lookup-xml
B.1.34
parseEscapedXML
B.1.35
parseXML
B.1.36
processScalableDocumentToNative
B.1.37
processXSLTAttachmentFromNativeToNative
B.1.38
processXSLTAttachmentFromNativeToStream
B.1.39
processXSLTAttachmentToNativeStream
B.1.40
processXSLTAttachmentToStream
B.1.41
processXSLTForScalableDocument
B.1.42
setCompositeInstanceTitle
B.2
BPEL Extension Functions
B.2.1
BPEL Extension Functions in BPEL 1.1 and BPEL 2.0
B.2.1.1
getLinkStatus
B.2.1.2
getVariableData
B.2.1.2.1
selectionFailure Fault is Thrown if the Result Node Set is a Size Other Than One During Execution
B.2.1.3
getVariableProperty (For BPEL 1.1)
B.2.1.4
getVariableProperty (For BPEL 2.0)
B.2.1.5
doXslTransform (For BPEL 2.0)
B.3
BPEL XPath Extension Functions
B.3.1
addQuotes
B.3.2
authenticate
B.3.3
countNodes
B.3.4
doXSLTransform
B.3.5
doXSLTransformForDoc
B.3.6
doc
B.3.7
formatDate
B.3.8
generateGUID
B.3.9
getConfigProperty
B.3.10
getContentAsString
B.3.11
getConversationId
B.3.12
getCreator
B.3.13
getCurrentDate
B.3.14
getCurrentDateTime
B.3.15
getCurrentTime
B.3.16
getElement
B.3.17
getInstanceId
B.3.18
getNodeValue
B.3.19
getNodes
B.3.20
getPreference
B.3.21
getProcessId
B.3.22
getProcessOwnerId
B.3.23
getProcessURL
B.3.24
getProcessVersion
B.3.25
integer
B.3.26
listUsers
B.3.27
lookupUser
B.3.28
parseEscapedXML
B.3.29
processXQuery
B.3.30
processXQuery10
B.3.31
processXQuery2004
B.3.32
processXSLT
B.3.33
readBinaryFromFile
B.3.34
readBinaryFromFileWithMimeHeaders
B.3.35
readFile
B.3.36
search
B.3.37
toCDATA
B.3.38
tryToCastToBoolean
B.3.39
writeBinaryToFile
B.3.40
getGroupIdsFromGroupAlias
B.3.41
getUserIdsFromGroupAlias
B.4
Conversion Functions
B.4.1
boolean
B.4.2
number
B.4.3
string
B.5
DVM Functions
B.5.1
lookupValue
B.5.2
lookupValue1M
B.6
Database Functions
B.6.1
lookup-table
B.6.2
query-database
B.6.3
sequence-next-val
B.7
Date Functions
B.7.1
add-dayTimeDuration-to-dateTime
B.7.2
current-date
B.7.3
current-dateTime
B.7.3.1
To display the datetime value in seconds:
B.7.4
current-time
B.7.5
day-from-dateTime
B.7.6
format-dateTime
B.7.7
hours-from-dateTime
B.7.8
minutes-from-dateTime
B.7.9
month-from-dateTime
B.7.10
seconds-from-dateTime
B.7.11
subtract-dayTimeDuration-from-dateTime
B.7.12
timezone-from-dateTime
B.7.13
year-from-dateTime
B.8
Identity Service Functions
B.8.1
getDefaultRealmName
B.8.2
getGroupProperty
B.8.3
getManager
B.8.4
getManagerFromManagementChain
B.8.5
getReportees
B.8.6
getSupportedRealmNames
B.8.7
getUserProperty
B.8.8
getUserRoles
B.8.9
getUsersInAppRole
B.8.10
getUsersInGroup
B.8.11
isUserInAppRole
B.8.12
isUserInRole
B.8.13
lookupGroup
B.8.14
lookupUser
B.9
Logical Functions
B.9.1
and
B.9.2
equals
B.9.3
false
B.9.4
greater
B.9.5
greater equals
B.9.6
less
B.9.7
less equals
B.9.8
not
B.9.9
not equals
B.9.10
or
B.9.11
true
B.10
Mathematical Functions
B.10.1
abs
B.10.2
add
B.10.3
ceiling
B.10.4
count
B.10.5
divide
B.10.6
floor
B.10.7
max-value-among-nodeset
B.10.8
min-value-among-nodeset
B.10.9
mod
B.10.10
multiply
B.10.11
round
B.10.12
square-root
B.10.13
subtract
B.10.14
sum
B.10.15
unary
B.11
Node Set Functions
B.11.1
last
B.11.2
local-name
B.11.3
name
B.11.4
namespace-uri
B.11.5
position
B.11.6
union
B.12
String Functions
B.12.1
compare
B.12.2
compare-ignore-case
B.12.3
concat
B.12.4
contains
B.12.5
create-delimited-string
B.12.6
ends-with
B.12.7
format-string
B.12.8
get-content-as-string
B.12.9
get-localized-string
B.12.10
index-within-string
B.12.11
last-index-within-string
B.12.12
left-trim
B.12.13
lower-case
B.12.14
matches
B.12.15
normalize-space
B.12.16
right-trim
B.12.17
starts-with
B.12.18
string-length
B.12.19
substring
B.12.20
substring-after
B.12.21
substring-before
B.12.22
translate
B.12.23
upper-case
B.13
Workflow Service Functions
B.13.1
clearTaskAssignees
B.13.2
createWordMLDocument
B.13.3
dynamicTaskAssign
B.13.4
getNotificationProperty
B.13.5
getNumberOfTaskApprovals
B.13.6
getPreviousTaskApprover
B.13.7
getTaskAttachmentByIndex
B.13.8
getTaskAttachmentByName
B.13.9
getTaskAttachmentContents
B.13.10
getTaskAttachmentsCount
B.13.11
getTaskResourceBundleString
B.14
XREF Functions
B.14.1
lookupPopulatedColumns
B.14.2
lookupXRef
B.14.3
lookupXRef1M
B.14.4
markForDelete
B.14.5
populateLookupXRefRow
B.14.6
populateXRefRow
B.14.7
populateXRefRow1M
B.15
Building XPath Expressions in the Expression Builder in Oracle JDeveloper
B.15.1
How to Use the Expression Builder
B.15.2
Introduction to the XPath Building Assistant
B.15.3
How to Use the XPath Building Assistant
B.15.4
Using the XPath Building Assistant in the XSLT Mapper
B.15.5
Function Parameter Tool Tips
B.15.6
Syntactic and Semantic Validation
B.15.7
Creating Expressions with Free Form Text and XPath Expressions
B.15.8
Using Double Slashes for Directory Paths in XPath Functions on Windows Can Cause Errors
B.16
Creating User-Defined XPath Extension Functions
B.16.1
How to Implement User-Defined XPath Extension Functions
B.16.1.1
How to Implement Functions for the XSLT Mapper
B.16.1.2
How to Implement Functions for All Other Components
B.16.2
How to Configure User-Defined XPath Extension Functions
B.16.3
How to Deploy User-Defined Functions to Runtime
C
Deployment Descriptor Properties
C.1
Introduction to Deployment Descriptor Properties
C.1.1
How to Define Deployment Descriptor Properties in the Property Inspector
C.1.2
How to Get the Value of a Preference within a BPEL Process
D
Understanding Sensor Public Views and the Sensor Actions XSD
D.1
Introduction to Sensor Public Views and the Sensor Actions XSD File
D.2
Sensor Public Views
D.2.1
Schema
D.2.1.1
BPEL_PROCESS_INSTANCES
D.2.1.2
BPEL_ACTIVITY_SENSOR_VALUES
D.2.1.3
BPEL_FAULT_SENSOR_VALUES
D.2.1.4
BPEL_VARIABLE_SENSOR_VALUES
D.3
Sensor Actions XSD File
E
Propagating Normalized Message Properties Through Message Headers
E.1
Introduction to Normalized Messages
E.1.1
Oracle Web Services Addressing Properties
E.1.2
How to Set Normalized Message Properties in Message Headers
E.2
Manipulating Normalized Message Properties with bpelx Extensions
E.2.1
BPEL 2.0 bpelx Extensions Syntax
E.2.2
BPEL 1.1 bpelx Extensions Syntax
F
Interfaces Implemented By Rules Dictionary Editor Task Flow
F.1
The MetadataDetails Interface
F.1.1
The getDocument Method
F.1.2
The getRelatedDocument Method
F.1.3
The setDocument Method
F.2
The NLSPreferences Interface
G
Oracle SOA Suite Configuration Properties Road Map
G.1
Oracle BPEL Process Manager Deployment Descriptor Properties
G.2
Normalized Message Header Properties
G.2.1
Oracle JCA Adapter Message Header Properties
G.2.2
Oracle BPEL Process Manager and Oracle Web Services Addressing Message Header Properties
G.2.3
Oracle B2B Message Header Properties
G.3
SOA Composite Application Properties
G.4
Fault Policy and Adapter Rejected Message Properties
G.5
Oracle B2B System Properties
G.6
Oracle Healthcare Properties
G.7
Oracle Business Activity Monitoring Properties
G.8
Oracle Enterprise Manager Fusion Middleware Control Property Pages
G.8.1
SOA Infrastructure Properties
G.8.2
Oracle BPEL Process Manager Properties
G.8.3
Human Workflow Notification and Task Service Properties
G.8.4
Oracle Mediator Properties
G.8.5
Cross Reference Properties
G.8.6
Oracle B2B Properties
G.8.7
Service and Reference Binding Component Properties
G.8.8
Global Token Variables and Automatic Database Purging Properties
G.9
System MBean Browser Advanced Properties
G.9.1
SOA Infrastructure Advanced Properties
G.9.2
Oracle BPEL Process Manager Advanced Properties
G.9.3
Oracle Mediator Advanced Properties
G.9.4
Human Workflow Notification and Task Service Advanced Properties
G.9.5
Oracle B2B Advanced Properties
H
Working with Large Schemas in the XSLT Editor
H.1
Sparse Mappings
H.1.1
Quick Start for XSLT View
H.2
Non-Sparse Mappings
H.3
Reducing Textual Clutter
H.4
Searching Trees
H.5
Copying and Modifying a Large Input Document
H.6
Generating Test Files with Element and Type Substitutions
Scripting on this page enhances content navigation, but does not change the content in any way.