1/71
Contents
List of Examples
List of Figures
List of Tables
Title and Copyright Information
Preface
Documentation Accessibility
Conventions
What's New in This Guide for Release 11.1.1.6.x
Part I IDE Help for Oracle Service Bus
1
Introduction to Oracle Service Bus
2
Tasks
2.1
Working with Projects, Folders, Resources, and Configurations
2.1.1
Resource Naming Restrictions
2.1.2
Editing Resources
2.1.3
Cloning Oracle Service Bus Projects and Folders
2.1.4
Creating Oracle Service Bus Configuration Projects
2.1.5
Creating Oracle Service Bus Projects
2.1.6
Creating Servers
2.1.7
Creating Custom Resources
2.1.8
Creating and Editing JNDI Provider Resources
2.1.9
Creating Proxy Server Resources
2.1.10
Creating Message Format Files
2.1.11
Exporting Resources
2.1.11.1
Using the Export Wizard
2.1.11.2
Using the Command Line or a Script to Export an Oracle Service Bus Configuration
2.1.12
Generating an Effective WSDL
2.1.13
Modifying JAR Dependencies
2.1.14
Importing Resources
2.1.14.1
Using the Import Wizard
2.1.14.2
Using the Command Line or a Script to Import an Oracle Service Bus Configuration
2.1.15
Creating Service Account Resources
2.1.16
Creating Service Key Provider Resources
2.1.17
Creating SMTP Server Resources
2.1.18
Creating XQuery Transformations
2.1.19
Creating XSL Transformations
2.2
Working with Business Services
2.2.1
Creating Business Services
2.2.1.1
Generating a Business Service from an Existing Service
2.2.2
Generating a JCA Business Service from an Outbound JCA File
2.2.3
Generating a Business Service from Oracle Enterprise Repository
2.2.3.1
Re-generating an Existing Business Service from Oracle Enterprise Repository
2.2.4
Editing Business Services
2.3
Working with Proxy Services
2.3.1
Creating Proxy Services
2.3.1.1
Generating a Proxy Service from an Existing Service
2.3.2
Generating a JCA Proxy Service from an Inbound JCA File
2.3.3
Consuming Oracle Service Bus Proxy Services in Oracle JDeveloper with WSIL
2.3.4
Editing Proxy Services
2.4
Working with Proxy Service Message Flows
2.4.1
Constructing Proxy Service Message Flows
2.4.2
Adding and Configuring Alert Actions in Message Flows
2.4.3
Adding and Configuring Assign Actions in Message Flows
2.4.4
Adding and Configuring Conditional Branch Nodes in Message Flows
2.4.5
Adding and Configuring Delete Actions in Message Flows
2.4.6
Adding and Configuring Dynamic Publish Actions in Message Flows
2.4.7
Adding and Configuring Dynamic Routing Actions in Message Flows
2.4.8
Adding and Configuring Error Handlers in Message Flows
2.4.9
Adding and Configuring For-Each Actions in Message Flows
2.4.10
Adding and Configuring If-Then Actions in Message Flows
2.4.11
Adding and Configuring Insert Actions in Message Flows
2.4.12
Adding and Configuring Java Callout Actions in Message Flows
2.4.13
Adding and Configuring Log Actions in Message Flows
2.4.14
Adding and Configuring MFL Transform Actions in Message Flows
2.4.15
Adding and Configuring Operational Branch Nodes in Message Flows
2.4.16
Adding and Configuring Pipeline Pair Nodes in Message Flows
2.4.17
Adding and Configuring Publish Actions in Message Flows
2.4.18
Adding and Configuring Publish Table Actions in Message Flows
2.4.19
Adding and Configuring Raise Error Actions in Message Flows
2.4.20
Adding and Configuring Rename Actions in Message Flows
2.4.21
Adding and Configuring Replace Actions in Message Flows
2.4.22
Adding and Configuring Reply Actions in Message Flows
2.4.23
Adding and Configuring Report Actions in Message Flows
2.4.24
Adding and Configuring Resume Actions in Message Flows
2.4.25
Adding and Configuring Route Nodes in Message Flows
2.4.26
Adding and Configuring Routing Actions in Message Flows
2.4.27
Adding and Configuring Routing Options Actions in Message Flows
2.4.28
Adding and Configuring Routing Table Actions in Message Flows
2.4.29
Adding and Configuring Service Callout Actions in Message Flows
2.4.30
Adding and Configuring Skip Actions in Message Flows
2.4.31
Adding and Configuring Stages in Message Flows
2.4.32
Adding and Configuring Transport Headers Actions in Message Flows
2.4.33
Adding and Configuring Validate Actions in Message Flows
2.5
Working with Alert Destinations
2.5.1
Creating and Editing Alert Destinations
2.5.2
Adding E-mail Recipients to Alert Destinations
2.5.3
Adding JMS Destinations to Alert Destinations
2.6
Working with MQ Connections
2.6.1
Adding and Editing MQ Connections
2.7
Working with Oracle Enterprise Repository and Harvester
2.7.1
Generating Business Services from Oracle Enterprise Repository
2.7.2
Using Harvester
2.7.2.1
Using Harvester from Eclipse
2.7.2.2
Using Harvester from the Command Line or a Script
2.7.3
Performing Queries in Oracle Enterprise Repository from Eclipse
2.8
Working with UDDI Registries
2.8.1
Adding and Configuring UDDI Registries
2.8.2
Importing Business Services From a UDDI Registry
2.9
Working with Split-Join
2.9.1
Introduction to Split-Join
2.9.1.1
Using Split-Join with Content in SOAP Headers
2.9.1.2
Transaction Support
2.9.1.3
Security with Split-Joins
2.9.2
Designing a Split-Join
2.9.2.1
Initial Setup
2.9.3
Designing a Static Split-Join
2.9.3.1
1. Creating a New Split-Join
2.9.3.2
2. Adding an Assign
2.9.3.3
3. Adding a Parallel Node
2.9.3.4
4. Adding an Assign for Each Branch
2.9.3.5
5. Adding an Invoke Service
2.9.3.6
6. Adding an Assign for Each Branch
2.9.3.7
7. Exporting and Testing the Split-Join
2.9.4
Designing a Dynamic Split-Join
2.9.4.1
1. Creating a New Split-Join
2.9.4.2
2. Adding an Assign
2.9.4.3
3. Adding a For Each
2.9.4.4
4. Adding an Assign
2.9.4.5
5. Adding an Invoke Service
2.9.4.6
6. Adding an Assign
2.9.4.7
7. Adding an Error Handler
2.9.4.8
8. Exporting and Testing the Split-Join
2.9.5
Creating a New Split-Join
2.9.6
Configuring the Start Node
2.9.6.1
Adding General Information
2.9.6.2
Defining Global Variables
2.9.6.3
Viewing External Services
2.9.7
Configuring a Receive
2.9.7.1
Viewing the Operation
2.9.7.2
Defining the Receive Variable
2.9.7.3
Adding General Information
2.9.8
Creating an Assign
2.9.8.1
Adding and Configuring Assign Operations
2.9.8.2
Adding General Information
2.9.9
Invoking a Service
2.9.9.1
Selecting an Operation
2.9.9.2
Defining Input and Output Variables
2.9.9.3
Adding General Information
2.9.10
Creating a Parallel
2.9.10.1
Adding Nodes
2.9.10.2
Adding General Information
2.9.11
Creating a For Each
2.9.11.1
Defining the For Each Logic
2.9.11.2
Adding General Information
2.9.12
Creating an If Activity
2.9.12.1
Configuring the If
2.9.12.2
Adding and Configuring Else If
2.9.12.3
Configuring the Else
2.9.12.4
Adding General Information
2.9.13
Creating an Error Handler
2.9.14
Creating a Raise Error
2.9.15
Configuring a Reply
2.9.15.1
Viewing the Operation
2.9.15.2
Defining the Reply Variable
2.9.15.3
Adding General Information
2.9.16
About Scope
2.9.16.1
Scope and Variables
2.9.17
Exporting and Testing a Split-Join
2.9.17.1
Creating a Transport Typed Business Service
2.9.17.2
Exporting the Split-Join Files
2.9.17.3
Testing the Split-Join in the Test Console
2.10
Using the Oracle Service Bus Debugger
2.10.1
Enabling Debugging
2.10.2
Using Standard Debugging
2.10.2.1
Debug Views
2.10.2.2
Step Actions and Breakpoints
2.10.3
Using the Oracle Service Bus Debugger Launch Configuration
2.10.3.1
Remote Debugging
2.10.3.2
Debugging Oracle Service Bus Running Stand-Alone on a Managed Server
2.10.3.3
Server Sharing
3
Transport Configuration
3.1
Protocol-Specific Transport Configuration Pages
3.1.1
BPEL-10g Transport Configuration Page (Business Services)
3.1.2
DSP Transport Configuration Page (Business Services)
3.1.3
EJB Transport Configuration Page (Business Services)
3.1.4
E-Mail Transport Configuration Page (Business Services)
3.1.5
E-Mail Transport Configuration Page (Proxy Services)
3.1.6
File Transport Configuration Page (Business Services)
3.1.7
File Transport Configuration Page (Proxy Services)
3.1.8
FTP Transport Configuration Page (Business Services)
3.1.9
FTP Transport Configuration Page (Proxy Services)
3.1.10
HTTP Transport Configuration Page (Business Services)
3.1.11
HTTP Transport Configuration Page (Proxy Services)
3.1.12
JCA Transport Configuration Page (Proxy and Business Services)
3.1.13
JEJB Transport Configuration Page (Business Services)
3.1.14
JEJB Transport Configuration Page (Proxy Services)
3.1.15
JMS Transport Configuration Page (Business Services)
3.1.16
JMS Transport Configuration Page (Proxy Services)
3.1.17
MQ Transport Configuration Page (Business Services)
3.1.18
MQ Transport Configuration Page (Proxy Services)
3.1.19
SB Transport Configuration Page (Business Services)
3.1.20
SB Transport Configuration Page (Proxy Services)
3.1.21
SFTP Transport Configuration Page (Business Services)
3.1.22
SFTP Transport Configuration Page (Proxy Services)
3.1.23
SOA-DIRECT Transport Configuration Page (Business Services)
3.1.24
Tuxedo Transport Configuration Page (Business Services)
3.1.25
Tuxedo Transport Configuration Page (Proxy Services)
3.1.26
WS Transport Configuration Page (Business Services)
3.1.27
WS Transport Configuration Page (Proxy Services)
4
User Interface Reference
4.1
Alerts
4.1.1
Alert Destination Editor
4.1.2
Edit E-mail Recipient Page
4.1.3
Edit JMS Destination Page
4.2
Business Service Configuration
4.2.1
Business Service General Configuration Page
4.2.1.1
Business Service Editor Options
4.2.2
Business Service Message Type Configuration Page
4.2.3
Business Service SOAP Binding Configuration Page
4.2.4
Business Service Transport Configuration Page
4.2.5
Business Service Message Handling Configuration Page
4.2.6
Business Service - Service Policy Configuration Page
4.2.7
Business Service Security Configuration Page
4.3
Proxy Service Configuration
4.3.1
Proxy Service General Configuration Page
4.3.1.1
Proxy Service Editor Options
4.3.2
Proxy Service Message Type Configuration Page
4.3.3
Proxy Service Operation Selection Configuration Page
4.3.4
Proxy Service Message Handling Configuration Page
4.3.5
Proxy Service SOAP Binding Configuration Page
4.3.6
Proxy Service Transport Configuration Page
4.3.7
Proxy Service - Service Policy Configuration Page
4.3.8
Proxy Service Security Configuration Page
4.4
Oracle Service Bus Configurations and Projects
4.4.1
Oracle Service Bus Configurations View
4.4.2
New Oracle Service Bus Configuration Project Wizard
4.4.3
Oracle Service Bus Configuration Page
4.4.4
New Oracle Service Bus Project
4.5
Custom Resources
4.5.1
New Custom Resource Wizard
4.5.2
New Custom Resource Editor
4.5.3
New Custom Resource - Resource Type Page
4.5.4
Custom MQ Resource Configuration Page
4.6
Export Wizard
4.6.1
Export Wizard - Oracle Service Bus Configuration JAR Export Page
4.6.2
Export Wizard - Export to Server - Select Resources Page
4.6.3
Export Wizard - Export to Server - Review Resources Page
4.7
Import Wizard
4.7.1
Import Wizard - Config JAR Import - Load Resources Page
4.7.2
Import Wizard - Config JAR Import - Review Resources Page
4.7.3
Import Wizard - Config ZIP Import - Load Resources Page
4.7.4
Import Wizard - Config ZIP Import - Review Resources Page
4.7.5
Import Wizard - URL Import - Load Resources Page
4.7.6
Import Wizard - URL Import - Review Resources Page
4.8
JNDI Providers
4.8.1
JNDI Provider Editor
4.8.2
New JNDI Provider Resource Wizard
4.9
Proxy Servers
4.10
Message Flow Design Palette
4.10.1
Message Flow Nodes
4.10.2
Message Flow Route Actions - Communication Actions
4.10.3
Message Flow Route Actions - Flow Control Actions
4.10.4
Message Flow Stage Actions - Communication Actions
4.10.5
Message Flow Stage Actions - Flow Control Actions
4.10.6
Message Flow Stage Actions - Message Processing Actions
4.10.7
Message Flow Stage Actions - Reporting Actions
4.11
Message Flow Editor
4.11.1
Alert Action Properties
4.11.2
Assign Action Properties
4.11.3
Conditional Branch Node Properties
4.11.4
Delete Action Properties
4.11.5
Dynamic Publish Action Properties
4.11.6
Dynamic Routing Action Properties
4.11.7
Error Handler Node Properties
4.11.8
For-Each Action Properties
4.11.9
If-Then Action Properties
4.11.9.1
If Action and Else-If Action Properties
4.11.9.2
Else Action Properties
4.11.10
Insert Action Properties
4.11.11
Java Callout Action Properties
4.11.12
Log Action Properties
4.11.13
Message Flow Properties - Comment
4.11.14
Message Flow Properties - Namespaces
4.11.15
Message Flow Properties - Variables
4.11.16
MFL Transform Action Properties
4.11.17
Operational Branch Node Properties
4.11.18
Pipeline Pair Node Properties
4.11.19
Publish Action Properties
4.11.20
Publish Table Action Properties
4.11.20.1
Publish Table Properties
4.11.20.2
Case Action Properties
4.11.20.3
Publish Action Properties
4.11.21
Raise Error Action Properties
4.11.21.1
Transactions
4.11.22
Rename Action Properties
4.11.23
Replace Action Properties
4.11.24
Reply Action Properties
4.11.25
Report Action Properties
4.11.26
Resume Action Properties
4.11.27
Route Node Properties
4.11.28
Routing Action Properties
4.11.29
Routing Options Action Properties
4.11.30
Routing Table Action Properties
4.11.30.1
Routing Table Properties
4.11.30.2
Case Action Properties
4.11.30.3
Routing Action Properties
4.11.31
Service Callout Action Properties
4.11.32
Skip Action Properties
4.11.33
Stage Node Properties
4.11.34
Transport Headers Action Properties
4.11.35
Validate Action Properties
4.12
Modify JAR Dependencies Dialog
4.13
SMTP Servers
4.13.1
Edit SMTP Server Page
4.13.2
New SMTP Server Resource Wizard
4.14
UDDI Registry Configuration Page
4.15
Outline view - Oracle Service Bus
4.16
Resource Management
4.16.1
Preferences dialog - Oracle Service Bus - Type Associations Page
4.16.2
References View
4.16.3
Select Clone Target Dialog
4.16.4
Select a Resource Dialog
4.17
New Service Key Provider Resource
4.18
New WS-Policy
4.19
Service Accounts
4.19.1
New Service Account Resource
4.19.2
Service Account Editor - General Configuration Page
4.19.3
Service Account Editor - Static User Configuration Page
4.19.4
Service Account Editor - User Mappings Configuration Page
4.20
Expression Editors
4.20.1
XQuery/XSLT Expression Editor
4.20.2
XPath Expression Editor
4.20.3
Condition Editor
4.20.4
Condition Builder Page
4.20.5
Expression Page
4.20.6
XQuery Resource Page
4.20.7
XSLT Resource Page
4.20.8
Dynamic XQuery Page
4.20.9
Variable Structures Page
4.20.10
Namespace Definitions Page
4.20.11
XQuery Functions Page
4.20.12
Add Variable Structure Dialog
4.21
New XSL Transformation
4.22
Split-Join User Interface Reference
4.22.1
Split-Join Design Palette
4.22.1.1
Operations
4.22.2
Global / Start Node Properties
4.22.3
Variable Properties
4.22.4
Error Handler Properties
4.22.5
Invoke Service Properties
4.22.5.1
Invoking Another Split-Join
4.22.6
Reply Properties
4.22.7
For Each Properties
4.22.8
If Properties
4.22.9
If and Else If Properties
4.22.10
Parallel Properties
4.22.11
Raise Error Properties
4.22.12
Repeat Until Properties
4.22.13
Re-Raise Error Properties
4.22.14
Scope Properties
4.22.15
While Properties
4.22.16
Wait Properties
4.22.17
Assign Properties
4.22.17.1
Assign Operation Properties
4.22.18
Copy Properties
4.22.19
Delete Properties
4.22.20
Insert Properties
4.22.21
Java Callout Properties
4.22.22
Log Properties
4.22.23
Replace Properties
4.22.24
Receive Properties
4.22.25
Counter Variable Dialog
4.22.26
Create/Edit Variable Dialog
4.22.26.1
Scope and Variables
4.22.27
Create Message Variable Dialog
4.22.28
Service Browser
4.22.29
SOAP Fault Variable Dialog
4.22.30
WSDL Browser
4.22.31
Split-Join Wizard - New Split-Join
4.22.32
Split-Join Wizard - Specify Operations
Part II XQuery Mapper
5
Introduction
5.1
Overview of XQuery Mapper
5.2
Support for XQuery 2002 and 2004
5.2.1
Restrictions Applicable to the XQuery Test View
6
Transforming Data Using XQuery Mapper
6.1
Launching XQuery Mapper
6.2
Importing the XQuery Mapper Sample Project
6.3
Creating an XQuery Mapper Project
6.4
Importing and Creating Schema Files
6.4.1
Importing XML Schemas and MFL Files
6.4.2
Creating XML Schemas
6.4.3
Creating XML Files from XML Schemas
6.4.4
Creating WSDL Files
6.4.5
Creating MFL Files
6.5
Selecting Source and Target Data Types
6.6
Creating Data Transformations
6.6.1
Creating Basic Element Transformations
6.6.1.1
Prerequisite
6.6.1.2
Creating Element-to-Element Links
6.6.2
Creating Basic Attribute Transformations
6.6.2.1
Prerequisite
6.6.2.2
Creating an Attribute-to-Element Link
6.6.3
Creating Complex Transformations
6.6.3.1
Prerequisite
6.6.3.2
Creating a Complex Transformation
6.7
Editing Data Transformations
6.7.1
Viewing and Editing XQuery Files
6.7.2
Creating Joins and Unions
6.7.3
Creating If-Then-Else Expressions
6.7.4
Creating For-Let-Where-Order By-Return (FLWOR) Expressions
6.7.5
Creating Typeswitch Expressions
6.7.6
Inserting XQuery Functions
6.7.7
Inserting Expression Variables
6.7.8
Viewing Schema Properties
6.8
Restricting Output of Optional Elements
6.9
Testing Data Transformations
6.9.1
Features of the Test View
6.9.1.1
Related Topics
6.10
Graphical Features in Design View
6.10.1
Right-Click Menu Options
6.10.2
Link Patterns
6.10.3
Link Colors
6.11
XML Global Elements, Global Types, Local Elements, and Attributes
7
Examples: Data Transformation Using XQuery Mapper
7.1
Combining Data from Different Schemas
7.2
Mapping Repeating Elements and Creating Joins
7.2.1
Step 1. Create an XQuery File
7.2.2
Step 2. Add a Constraint
7.2.3
Step 3. Add Data to Return Element
7.2.4
Step 4. Add Function to Calculate Value of Quote
7.2.5
Step 5. Add a Constraint with Multiple Conditions
7.2.6
Test the XQuery
7.3
Creating Unions
7.4
Creating Repeating-Source to Nonrepeating-Target Transformations
7.5
Creating Nonrepeating-Source to Repeating-Target Transformation
7.6
Creating Nested If-Then-Else Expressions
7.6.1
Step 1. Create the XQuery Transformation
7.6.2
Step 2. Create the First "If" Condition
7.6.3
Step 3. Create the First Nested If-Then-Else Condition
7.6.4
Step 4. Create the Second Nested If-Then-Else Condition
7.7
Creating FLWOR Expressions
7.8
Using Recursive Schemas
7.9
Grouping Data by Key Fields
Part III Format Builder
8
Introduction
8.1
Overview
9
Format Builder Main Window
9.1
Using the Menu Bar
9.2
Using the Toolbar
9.3
Using the Tree Pane
9.4
Using the Shortcut Menus
9.5
Using Drag and Drop
9.6
Valid Names
10
Message Format Detail Window
11
Field Detail Window
12
Group Detail Window
13
Reference Detail Window
14
Comment Detail Window
15
Format Builder Options
16
Importing Metadata
16.1
Importing a Guideline XML File
16.2
Importing an XML Schema
16.3
Importing a COBOL Copybook
16.4
Importing C Structures
16.5
Starting the C Structure Importer
16.6
Generating MFL Data
16.7
Generating C Code
16.8
Importing an FML Field Table Class
16.8.1
FML Field Table Class Importer Prerequisites
16.8.2
Sample FML Field Table Class Files
16.8.3
Creating XML with the FML Field Table Class Importer
17
Format Tester
17.1
Format Tester Window
17.2
Format Tester Menus
17.3
File Menu
17.4
Edit Menu
17.5
Display Menu
17.6
Generate Menu
17.7
Transform Menu
17.8
Shortcut Menu
17.9
Using the Non-XML Window
17.10
Using the Data Offset Feature
17.11
Using the Text Feature
17.12
Using the XML Window
17.13
Using the Debug Window
17.14
Using the Resize Bars
17.15
Debugging Format Definitions
17.16
Searching for Values
17.17
Searching for Offsets
17.18
Using the Debug Log
18
Format Builder Menus
18.1
File Menu
18.2
Edit Menu
18.3
Insert Menu
18.4
View Menu
18.5
Tools Menu
18.6
Help Menu
18.7
Shortcut Menu
19
How Do I?
19.1
Create a Message Format
19.2
Create a Group
19.3
Create a Field
19.4
Create a Comment
19.5
Create a Reference
19.6
Save a Document
19.7
Use Format Tester
19.8
Debug Format Definitions
19.9
Search for Values
19.10
Search for Offsets
19.11
Use the Debug Log
19.12
Character Delimiters
19.13
Specify a Delimiter
19.13.1
Specify by Reference
19.13.2
Specify by Value
19.14
Delimiter Match Rule
19.14.1
Data Delimiter
19.14.2
Escape Character
19.14.3
None
20
Using the Palette
20.1
Displaying the Palette Window
20.2
Adding Items to the Palette
20.3
Adding Palette Items to a Message Format
20.4
Using the File Menu
20.5
Using the Shortcut Menu
21
Format Builder Supported Data Types
21.1
MFL Data Types
21.2
COBOL Copybook Importer Data Types
21.3
Unsupported C Language Features
Part IV General Development Topics
22
Development Environment Setup
22.1
Running Multiple Development Servers with Derby
22.1.1
Derby Best Practices and Troubleshooting
22.1.2
Sharing a Single Derby Database Instance Between Multiple Domains
22.1.3
Running Each Domain with a Unique Derby Instance
22.2
Disabling the JMS Reporting Provider
23
Creating and Using Custom XPath Functions
23.1
Registering Custom Functions with Oracle Service Bus
23.2
Creating and Packaging the Custom Function Java Classes
23.2.1
Creating the Class and Method
23.2.1.1
Using Single-Dimensional Arrays
23.2.2
Packaging the Custom Function Class
23.3
Using Custom Functions
23.3.1
Using Custom Functions in Inline XQuery Expressions and XQuery Resources
23.3.2
Using Custom Functions in XSLT Resources
23.4
Testing Custom XPath Functions in Eclipse
23.5
Deploying Custom Functions in a Cluster
Part V Transports
24
Oracle SOA Suite Transport (SOA-DIRECT)
24.1
About the SOA-DIRECT Transport
24.1.1
WS-Addressing
24.1.2
Security
24.1.3
Environment Values
24.1.4
Error Handling
24.1.4.1
Connection Errors
24.1.4.2
Application Errors
24.1.4.3
Generic Errors
24.2
Using SOA Suite Services with Oracle Service Bus
24.2.1
Simple Use Cases – Synchronous
24.2.1.1
Synchronous Invocation of a SOA Composite
24.2.1.2
Synchronous Invocation from a SOA Composite
24.2.1.3
Associating Messages with the Correct Conversation
24.2.2
Advanced Use Cases – Asynchronous
24.2.2.1
Asynchronous Invocation of a SOA Composite
24.2.2.2
Asynchronous Invocation from a SOA Composite
24.3
Transport Configuration Reference
24.3.1
SOA-DIRECT Endpoint URI
24.3.1.1
Cluster URI
24.3.1.2
URI Examples
24.3.2
SOA-DIRECT Transport Configuration for Business Services
24.4
WS-Addressing Reference
24.4.1
ReplyTo Header
24.4.1.1
Calling a SOA Composite Asynchronously with a SOA-DIRECT Business Service
24.4.1.2
Calling Back to a SOA Composite Asynchronously with a SOA-DIRECT Business Service
24.4.2
MessageID / RelatesTo Headers
24.5
XML Examples
24.5.1
Conversation ID Examples
24.5.1.1
Port and Message Definitions
24.5.1.2
WS-Addressing that Sets the Conversation ID
24.5.1.3
Message Payload Data that Sets the Conversation ID
24.5.1.4
Transformation Examples
24.5.2
Asynchronous Composite to Composite Native Communication Through Oracle Service Bus Example
24.5.2.1
Port and Message Definitions
24.5.2.2
BP1 to P1 – Initiate operation
24.5.2.3
P1/B1 to BP2
24.5.2.4
BP2 to P2 – onResult operation
24.5.2.5
P2/B2 to BP1 – onResult operation
25
JCA Transport
25.1
About the JCA Transport
25.1.1
Messaging
25.1.1.1
Transactions
25.1.2
Transport Headers and Normalized Message Properties
25.1.2.1
$inbound and $outbound Request Headers
25.1.2.2
$inbound-Only Request Headers
25.1.2.3
$outbound-Only Request Headers
25.1.3
Endpoint Properties
25.1.3.1
Proxy Service Endpoint Properties (Inbound)
25.1.3.2
Business Service Endpoint Properties (Outbound)
25.1.4
Security
25.1.4.1
Proxy Services
25.1.4.2
Business Services
25.1.5
Logging
25.1.5.1
Oracle BAM Adapter Logging
25.1.6
Error Handling
25.1.6.1
EIS Fault Details in JCA Business Services
25.1.6.2
Business Service Retry Application Errors
25.1.7
URI Rewriting
25.1.8
Environment Variables
25.1.9
Encoding
25.2
Working with Adapters
25.2.1
Adapter Support
25.2.2
Oracle JCA Adapter Limitations
25.2.2.1
Limitations that Apply to All JCA Adapters
25.2.2.2
Oracle JCA Adapter for AQ Limitations
25.2.2.3
Oracle JCA Adapters for Files/FTP Limitations
25.2.3
JCA Adapter Framework
25.2.4
Configuring Adapters – General
25.2.5
Configuring Adapters that Poll a Database
25.2.6
Configuring the Oracle JCA Adapter for Database
25.2.7
Configuring the Oracle JCA Adapter for AQ
25.2.8
Using Custom JCA Adapters
25.2.9
Rejected Messages
25.3
Invoking an EIS Service Through Oracle Service Bus
25.3.1
Creating, Configuring, and Invoking the Services
25.4
Invoking an External Service from an EIS
25.4.1
Creating, Configuring, and Invoking the Services
25.5
Transport Configuration Reference
25.5.1
Endpoint URI
25.5.1.1
Endpoint Redeployment
25.5.2
JCA Transport Configuration for Proxy and Business Services
25.5.3
Proxy Service Operation Configuration
25.5.4
Proxy Service Message Handling
25.5.5
Policies
26
HTTP and Poller Transports
26.1
HTTP Transport
26.1.1
Configuring Proxy Services using the HTTP Transport
26.1.2
Configuring Business Services using the HTTP Transport
26.1.3
REST Support
26.1.3.1
REST in Proxy Services
26.1.3.2
REST in Business Services
26.2
E-mail Transport
26.2.1
Configuring Proxy Services Using the E-mail Transport
26.2.2
Configuring Business Services Using the E-mail Transport
26.3
File Transport
26.3.1
Configuring Proxy Services using the File Transport
26.3.2
Configuring Business Services using the File Transport
26.4
FTP Transport
26.4.1
Configuring Proxy Services using the FTP Transport
26.4.2
Configuring Business Services using the FTP Transport
26.5
SFTP Transport
26.5.1
Environment Values
26.5.2
General Principles of SFTP Authentication
26.5.3
Run-Time Behavior
26.5.4
Using the SFTP Transport
26.5.4.1
Enabling SFTP Authentication
26.5.4.2
Configuring Proxy Services
26.5.4.3
Configuring Business Services
26.5.4.4
Handling Communication Errors
26.5.4.5
Troubleshooting
26.5.4.6
Importing Resources
26.5.4.7
Importing and Publishing Services: UDDI Registries
27
SB Transport
27.1
Environmental Values
27.2
Configuring Proxy Services to Use the SB Transport
27.3
Configuring Business Services to Use the SB Transport
27.3.1
JNDI Provider
27.4
Handling Errors
27.5
UDDI
27.5.1
Publishing a Service
27.5.2
Importing a Service
28
EJB Transport
28.1
Introduction
28.2
Invoking EJBs from Oracle Service Bus
28.2.1
Register a JNDI Provider Resource
28.2.1.1
Adding a JNDI Provider
28.2.2
Register an EJB Client JAR Resource
28.2.2.1
Adding a Client or Converter JAR
28.2.2.2
Create a Service Account (Optional)
28.2.2.3
Locate an EJB in the JNDI Tree
28.2.3
Transport Configuration Reference
28.2.3.1
EJB Endpoint URI
28.2.3.2
EJB Transport Configuration for Business Services
28.2.4
Invoking EJB Business Services
28.3
Exposing EJBs as Web Services
28.4
Advanced Topics
28.4.1
Transaction Processing, Retries, and Error Handling
28.4.1.1
Transactions
28.4.1.2
Retries and Failover
28.4.1.3
Error Handling
28.4.2
Supported Types and Converter Class
28.4.2.1
Converter Classes
28.4.3
Business Exception Classes
28.5
Troubleshooting
28.5.1
Enabling Debug Mode
28.5.2
Temp Directories
28.5.3
Deployed Application
28.5.4
Errors
29
JEJB Transport
29.1
About the JEJB Transport
29.1.1
Difference Between the JEJB Transport and the EJB Transport
29.1.2
Environment Values
29.1.3
WSDL Generation
29.1.4
Error Handling
29.1.4.1
Exception Propagation in the Response
29.1.4.2
Application and Connection Errors
29.2
Creating and Configuring JEJB Services
29.2.1
Creating and Packaging Your Client EJB JAR
29.2.2
Register a JNDI Provider Resource (Business Services)
29.2.2.1
Adding a JNDI Provider
29.2.3
Configuring a JEJB Proxy or Business Service
29.3
Use Cases
29.3.1
EJB Invokes an External Service
29.3.2
Non-EJB Client Invokes an EJB
29.3.3
EJB Invokes EJB
29.4
Transport Configuration Reference
29.4.1
JEJB Endpoint URI
29.4.1.1
Proxy Service JEJB Endpoint URI
29.4.1.2
Business Service JEJB Endpoint URI
29.4.2
JEJB Transport Configuration for Proxy Services
29.4.3
JEJB Transport Configuration for Business Services
29.5
Testing JEJB Services
29.6
UDDI Integration
29.6.1
UDDI Publish
29.6.2
UDDI Import
30
JMS Transport
30.1
Overview of JMS Interoperability
30.2
Asynchronous Request-Response Messaging
30.3
Using SOAP-JMS Transport
30.3.1
Interoperating with Oracle WebLogic Server
30.3.1.1
Configuring the Response Queues for Cross-Domain JMS Calls
30.4
Naming Guidelines for Domains, WebLogic, and JMS Servers
30.5
Specifying the JMS Type for Services
30.6
WSDL-Defined SOAP Fault Messages
30.7
Interoperability with WebSphere MQ
30.8
Interoperability with Tibco EMS
30.9
Message ID and Correlation ID Patterns for JMS Request/Response
30.9.1
Overview of JMS Request-Response and Design Patterns
30.9.1.1
Patterns for Messaging
30.9.2
JMS Message ID Pattern
30.9.3
JMS Correlation ID Pattern
30.9.4
Comparison of Message ID and Correlation ID Patterns
30.9.5
Interoperating with JAX-RPC Over JMS
30.9.5.1
Invoking a JAX-RPC Web Service Using the JMS Message ID Pattern
30.9.5.2
Invoking a JMS Request-Response Proxy Service from a JAX-RPC Client
30.9.6
JMS Message ID Pattern Examples
30.9.6.1
Example 1: An MQ Service Uses a JMS Message ID to Correlate the Request-Response Message
30.9.6.2
Example 2: A JAX-RPC Client with Oracle Service Bus Proxy Service
30.9.6.3
Example 3: Oracle Service Bus as a Client of an Oracle WebLogic Server JAX-RPC Request/Response Service
30.10
Using the JMS Transport
30.10.1
Security
30.10.2
Configuring Proxy Services using JMS Transport Protocol
30.10.3
Transport Headers
30.10.3.1
Configuring Transport Headers
30.10.4
Sending and Receiving Java Objects in Messages
30.10.5
Configuring Business Services using JMS Transport Protocol
30.10.6
Error Handling
31
Local Transport
31.1
Introduction
31.2
Features and Characteristics of Local Transport Proxy Services
31.3
Message Handling for Local Transport Proxy Services
31.4
Usage of Local Transport Proxy Services
31.4.1
Propagating SOAP Faults Between Proxy Services
31.5
Using OWSM Security with Local Proxies
31.6
Limitations
32
WS Transport
32.1
Supported Functionality
32.1.1
Messaging Patterns
32.1.2
Policies
32.1.2.1
WS-Policy Configurations
32.1.3
Streaming Content for Large Messages
32.1.4
Web Services Interoperability
32.2
Authentication and Authorization of Services
32.2.1
Proxy Service Authentication
32.2.2
Proxy Service Authorization
32.2.3
Business Service Authentication
32.3
Using the WS Transport
32.3.1
Adding Resources to an Oracle Service Bus Domain
32.3.1.1
Configuring WS Policies
32.3.1.2
Attaching WS Policies to a Service
32.3.2
Configuring an Error Queue
32.3.3
Configuring Proxy Services to Use the WS Transport
32.3.4
Assigning Transport Access Control to Proxy Services
32.3.4.1
Adding Policy Conditions
32.3.5
Routing the WS Transport Through an HTTP Proxy Server
32.3.6
Configuring Business Services to Use the WS Transport
32.4
Error Handling
32.5
Importing and Exporting Resources
32.6
Importing and Publishing Services Using UDDI Registries
33
MQ Transport
33.1
Key Features
33.2
Advantages of Using the MQ Transport
33.3
Supported Service Types
33.4
Messaging Patterns
33.5
Environment Values
33.6
Quality of Service
33.7
MQ Clusters and the MQ Transport
33.8
Using the MQ Transport
33.8.1
Adding MQ Client Libraries to Your Environment
33.8.2
MQ Connection Resources
33.8.2.1
Creating an MQ Connection Resource
33.8.3
Configuring Proxy Services to Use the MQ Transport
33.8.4
Configuring Business Services to Use the MQ Transport
33.8.5
Transport Headers
33.8.5.1
Configuring Transport Headers
33.8.6
Error Handling
33.8.7
Limitations of the MQ Transport
33.9
Using the WebSphere JMS MQ Interface
33.9.1
Using the WebSphere MQ JMS Interface
33.9.2
Messaging Types
33.9.2.1
Non-Persistent Messaging
33.9.2.2
Non-XA Persistent Messaging
33.9.2.3
XA Messaging
33.9.3
Tuning WebSphere MQ
34
Oracle BPEL Process Manager Transport (for use with Oracle SOA Suite 10
g
only)
34.1
Overview
34.1.1
SOAP Support
34.1.2
Transaction Propagation
34.1.3
SSL Support
34.1.4
Environment Variables
34.2
Simple Use Cases (Synchronous)
34.2.1
Synchronous: Invoking Processes in Oracle BPEL Process Manager
34.2.1.1
Creating and Configuring the Services
34.2.2
Synchronous: Calling External Services from Oracle BPEL Process Manager
34.2.2.1
Creating and Configuring the Services
34.2.3
Associating Messages with the Correct Conversation
34.3
Advanced Use Cases (Asynchronous)
34.3.1
Asynchronous: Invoking Processes in Oracle BPEL Process Manager
34.3.1.1
Creating and Configuring the Services
34.3.2
Asynchronous: Calling Service Providers from Oracle BPEL Process Manager
34.3.2.1
Creating and Configuring the Services
34.4
Transport Configuration Reference
34.4.1
Endpoint URI
34.4.2
bpel-10g Transport Configuration
34.5
Security
34.5.1
Using SSL from Oracle Service Bus to Oracle Servers
34.6
Error Handling
34.6.1
Application Errors
34.6.2
Connection Errors
34.6.3
Other Errors
34.7
WS-Addressing Reference
34.7.1
ReplyTo
34.7.1.1
Calling a BPEL Process Asynchronously Through Oracle Service Bus
34.7.1.2
BPEL Processes Calling External Services Through Oracle Service Bus
34.7.2
MessageID / RelatesTo
34.8
XML Examples
34.8.1
Conversation ID Examples
34.8.1.1
Port and Message Definitions
34.8.1.2
WS-Addressing that Sets the Conversation ID
34.8.1.3
Message Payload Data that Sets the Conversation ID
34.8.1.4
Transformation Examples
34.8.2
Asynchronous BPEL to BPEL Through Oracle Service Bus Example
34.8.2.1
Port and Message Definitions
34.8.2.2
BP1 to P1 – Initiate operation
34.8.2.3
P1/B1 to BP2
34.8.2.4
BP2 to P2 – onResult operation
34.8.2.5
P2/B2 to BP1 – onResult operation
35
Tuxedo Transport
35.1
Overview
35.1.1
Capabilities of the Tuxedo transport
35.2
Configuring the Oracle Tuxedo Connector
35.2.1
Before You Begin
35.2.2
Configuring Oracle Tuxedo Connector
35.3
Using Tuxedo Services from Oracle Service Bus
35.3.1
Configuring a New Business Service
35.3.1.1
Add a New Project
35.3.1.2
Add a Business Service
35.3.2
Load Balancing and Failover
35.3.3
Handling Errors
35.3.4
Testing Your Configuration
35.4
Using Oracle Service Bus from Tuxedo
35.4.1
Adding and Configuring a Proxy Service
35.4.1.1
Add a New Project
35.4.1.2
Add a Proxy Service
35.4.1.3
Configure the Proxy Service
35.4.2
Testing Your Configuration
35.5
Tuxedo Transport Buffer Transformation
35.5.1
Any XML Service Type
35.5.2
Messaging Service Type
35.6
Tuxedo Transport Transaction Processing
35.6.1
Inbound Services
35.6.2
Outbound Services
36
DSP and Oracle Data Service Integrator Transport
36.1
Enabling Data Services for Oracle Service Bus
36.2
Using the DSP Transport
36.2.1
Actions Needed Within Oracle Data Service Integrator
36.2.1.1
Step 1. Start Your Server
36.2.1.2
Step 2. Generate a WSDL from the Data Service
36.2.1.3
Step 3: Obtaining the Web Service Address
36.2.2
Actions Needed Within Oracle Service Bus
36.2.2.1
Step 4: Import the Data Service WSDL into Oracle Service Bus
36.2.2.2
Step 5: Create the Business Service
36.2.2.3
Step 6: Create the Proxy Service
36.2.2.4
Step 7: Test Your Setup
Part VI Transport SDK
37
Introduction
38
Design Considerations
38.1
What is a Transport Provider?
38.2
What is the Transport SDK?
38.2.1
Purpose of the SDK
38.2.2
Transport SDK Features
38.2.2.1
Handling Inbound and Outbound Messages
38.2.2.2
Deploying Transport-Related Artifacts
38.2.2.3
Processing Messages Asynchronously
38.2.3
Transport Provider Modes
38.2.4
Related Features
38.2.4.1
Load Balancing
38.2.4.2
Monitoring and Metrics
38.3
Do You Need to Develop a Custom Transport Provider?
38.3.1
When to Use the Transport SDK
38.3.2
When Alternative Approaches are Recommended
38.4
Transport Provider Components
38.4.1
Overview
38.4.2
Design-Time Component
38.4.3
Runtime Component
38.5
The Transaction Model
38.5.1
Overview of Transport Endpoint Properties
38.5.1.1
Transactional vs. Non-Transactional Endpoints
38.5.1.2
Supported Message Patterns
38.5.2
Support for Synchronous Transactions
38.5.2.1
Use Case 1 (Response Pipeline Processing)
38.5.2.2
Use Case 2 (Service Callout Processing)
38.5.2.3
Use Case 3 (Suspending Transactions)
38.5.2.4
Use Case 4 (Multiple URIs)
38.6
The Security Model
38.6.1
Inbound Request Authentication
38.6.2
Outbound Request Authentication
38.6.2.1
Outbound Username/Password Authentication
38.6.2.2
Outbound SSL Client Authentication (Two-Way SSL)
38.6.2.3
Outbound JAAS Subject Authentication
38.6.3
Link-Level or Connection-Level Credentials
38.6.4
Uniform Access Control to Proxy Services
38.6.5
Identity Propagation and Credential Mapping
38.7
The Threading Model
38.7.1
Overview
38.7.2
Inbound Request Message Thread
38.7.3
Outbound Response Message Thread
38.7.4
Support for Asynchrony
38.7.5
Publish and Service Callout Threading
38.8
Designing for Message Content
38.8.1
Overview
38.8.2
Sources and Transformers
38.8.3
Sources and the MessageContext Object
38.8.4
Built-In Transformations
39
Developing a Transport Provider
39.1
Development Road Map
39.1.1
Planning
39.1.2
Developing
39.1.3
Packaging and Deploying
39.2
Before You Begin
39.3
Basic Development Steps
39.3.1
1. Review the Transport Framework Components
39.3.2
2. Create a Directory Structure for Your Transport Project
39.3.3
3. Create an XML Schema File for Transport-Specific Artifacts
39.3.4
4. Define Transport-Specific Artifacts
39.3.4.1
EndPointConfiguration
39.3.4.2
RequestMetaDataXML
39.3.4.3
RequestHeadersXML
39.3.4.4
ResponseMetaDataXML
39.3.4.5
ResponseHeadersXML
39.3.5
5. Define the XMLBean TransportProviderConfiguration
39.3.6
6. Implement the Transport Provider User Interface
39.3.7
7. Implement the Runtime Interfaces
39.3.8
8. Deploy the Transport Provider
39.4
Important Development Topics
39.5
Handling Messages
39.5.1
Overview
39.5.2
Sending and Receiving Message Data
39.5.3
Request and Response Metadata Handling
39.5.4
Character Set Encoding
39.5.5
Co-Located Calls
39.5.6
Returning Outbound Responses to Oracle Service Bus Runtime
39.6
Transforming Messages
39.7
Working with TransportOptions
39.7.1
Inbound Processing
39.7.2
Outbound Processing
39.7.3
Request Mode
39.8
Handling Errors
39.8.1
Case 1
39.8.2
Case 2
39.8.3
Case 3
39.8.4
Catching Application Errors
39.8.4.1
Identifying Application Errors
39.8.4.2
Configuring Application Error Retries
39.8.5
Catching Connection Errors
39.8.5.1
Identifying Connection Errors
39.9
Defining Custom Environment Value Types
39.10
Publishing Proxy Services to a UDDI Registry
39.11
When to Implement TransportWLSArtifactDeployer
39.12
Creating Help for Custom Transports
39.12.1
Custom Transport Help Overview
39.12.1.1
Eclipse Help
39.12.1.2
Oracle Service Bus Administration Console Help
39.12.2
Providing Custom Transport Help in Eclipse
39.12.2.1
Providing Context-Sensitive Help in Eclipse
39.12.2.2
Providing Help in the Eclipse Help System
39.12.2.3
Help Implementation Reference
39.12.2.4
Packaging Help for the Transport Plug-in
39.12.2.5
Related Topics
39.12.3
Providing Custom Transport Help in the Oracle Service Bus Administration Console
39.12.3.1
Implementing the CustomHelpProvider Interface
39.12.3.2
Creating an HTML File to Launch
39.12.3.3
Creating a Simple Web Application to Display Expanded Help (Optional)
39.12.3.4
Packaging Transport Help for the Oracle Service Bus Administration Console
40
Developing Oracle Service Bus Transports for Eclipse
40.1
Introduction
40.2
Services Runtime and Services Configuration
40.2.1
Offline Methods
40.2.2
Restrictions when Working Offline
40.2.3
Working Offline with a Remote Server
40.2.4
Bootstrapping Transports in Offline Mode
40.2.5
Packaging Transports in Offline Mode
40.3
Packaging Transports as Eclipse Plug-Ins
40.3.1
Transport Plug-in Resources
40.3.2
Transport Plug-in Packaging
40.4
Reference
40.4.1
Working in Different Modes
40.4.2
TransportProviderFactory
40.4.3
Extension Point Schema
40.4.4
plugin.xml
40.4.5
MANIFEST.MF
40.4.6
Build.xml
40.4.7
TransportManagerHelper Methods
41
Transport SDK Interfaces and Classes
41.1
Introduction
41.2
Schema-Generated Interfaces
41.3
General Classes and Interfaces
41.3.1
Summary of General Classes
41.3.2
Summary of General Interfaces
41.4
Source and Transformer Classes and Interfaces
41.4.1
Summary of Source and Transformer Interfaces
41.4.2
Summary of Source and Transformer Classes
41.5
Metadata and Header Representation for Request and Response Messages
41.5.1
Runtime Representation of Message Contents
41.5.2
Interfaces
41.6
User Interface Configuration
41.6.1
Overview
41.6.2
Summary of UI Interfaces
41.6.3
Summary of UI Classes
42
Sample Socket Transport Provider
42.1
Sample Socket Transport Provider Design
42.1.1
Concepts Illustrated by the Sample
42.1.2
Basic Architecture of the Sample
42.1.3
Configuration Properties
42.2
Sample Location and Directory Structure
42.3
Building and Deploying the Sample
42.3.1
Setting Up the Environment
42.3.2
Building the Transport
42.3.3
Deploying the Sample Transport Provider
42.4
Start and Test the Socket Server
42.4.1
Start the Socket Server
42.4.2
Test the Socket Transport
42.5
Configuring the Socket Transport Sample
42.5.1
Create a New Project
42.5.2
Create a Business Service
42.5.3
Create a Proxy Service
42.5.4
Edit the Pipeline
42.6
Testing the Socket Transport Provider
43
Deploying a Transport Provider
43.1
Packaging the Transport Provider
43.2
Deploying the Transport Provider
43.2.1
Transport Registration
43.3
Undeploying a Transport Provider
43.4
Deploying to a Cluster
Part VII Security
44
Introduction
44.1
Document Audience
44.2
Related Information
45
Understanding Oracle Service Bus Security
45.1
Inbound Security
45.2
Outbound Security
45.3
Options for Identity Propagation
45.3.1
Example: Authentication with a User Name Token
45.4
Administrative Security
45.5
Access Control Policies
45.5.1
Configuring Proxy Service Access Control
45.5.2
Access Control Policy Management
45.5.2.1
Deleting a Proxy Service
45.5.2.2
Deleting the Access Control Policy Assigned to a Proxy Service
45.5.2.3
Moving or Renaming a Proxy Service
45.5.2.4
Renaming a Proxy Service Operation
45.6
Preserving Security Configuration During Import
45.6.1
Preserve Security and Policy Configuration Check Box
45.6.2
Preserve Credentials Check Box
45.6.3
Preserve Access Control Check Box
45.7
Configuring the Oracle WebLogic Security Framework: Main Steps
45.8
Context Properties Are Passed to Security Providers
45.8.1
Context Properties for HTTP Transport-Level Authentication
45.8.2
ContextHandler Properties for Access Control and Message-Level Custom Authentication
45.8.3
Additional Transport-Specific Context Properties
45.8.4
Administrator-Supplied Context Properties for Message-Level Authentication
45.8.5
Security Provider Must Have Knowledge of the Property Name
45.8.6
Oracle WebLogic Server Administrative Channel is Supported
45.9
Using Security Providers
45.9.1
Configuring Authentication Providers
45.9.2
Using a Custom Authorization Provider to Protect Oracle Service Bus Resources
45.9.2.1
WebLogic Authorization Provider Usage Information
45.9.2.2
Oracle Service BusProxyServiceResource Object
45.9.2.3
ProjectResourceV2 Object
45.9.2.4
ConsoleResource Object
45.9.3
About Errors When Using Security Provider Policies
46
Oracle Service Bus Security FAQ
46.1
How are Oracle Service Bus and Oracle WebLogic Server Security related?
46.2
What is Transport-Level Security?
46.3
What is Web Services Security?
46.4
What is Web Service Policy?
46.5
What are Web Service Policy assertions?
46.6
Are Access Control Policy and Web Service Policy the same?
46.7
What is Web Services Security Pass-Through?
46.8
What is a Web Services Security Active Intermediary?
46.9
What is outbound Web Services Security?
46.10
What is SAML?
46.11
Is it possible to customize the format of the subject identity in a SAML assertion?
46.12
What is the Certificate Lookup And Validation Framework?
46.13
Does Oracle Service Bus support identity propagation in a proxy service?
46.14
If both transport-level authentication and message-level authentication exist on inbound messages to the proxy service, which identity is propagated?
46.15
Is single sign-on supported in Oracle Service Bus?
46.16
Are security errors monitored?
46.17
Can I configure security for MBeans?
47
Configuring Administrative Security
47.1
Administrative Security Roles and Privileges
47.1.1
Role-Based Access in the Oracle Service Bus Administration Console
47.2
Administrative Security Groups
47.3
Configuring Administrative Security: Main Steps
48
Securing Oracle Service Bus in a Production Environment
48.1
Undeploying the Service Bus (SB) Resource
48.2
Protection of Temporary Files With Streaming body Content
48.3
Protecting Against Denial of Service Attacks on the Oracle Service Bus Administration Console
49
Configuring Transport-Level Security
49.1
Configuring Transport-Level Security for HTTPS
49.1.1
HTTPS Authentication Levels
49.1.2
Configuring Inbound HTTPS Security: Main Steps
49.1.3
Configuring Outbound HTTPS Security: Main Steps
49.2
Configuring Transport-Level Security for HTTP
49.2.1
Configuring Inbound HTTP Security: Main Steps
49.2.2
Configuring Outbound HTTP Security: Main Steps
49.3
Configuring Transport-Level Security for JMS
49.3.1
Configuring Inbound JMS Transport-Level Security: Main Steps
49.3.2
Configuring Outbound JMS Transport-Level Security: Main Steps
49.4
Configuring Transport-Level Security for SFTP Transport
49.4.1
How Two-Way Authentication is Performed
49.4.2
Use of the known_hosts File
49.4.3
SFTP Transport Authentication Process
49.4.4
Configuring Inbound SFTP Transport-Level Security: Main Steps
49.4.5
Configuring Outbound SFTP Transport-Level Security: Main Steps
49.4.6
SFTP Security Attributes Preserved During Import
49.4.7
SFTP Credential Life Cycle
49.5
Email, FTP, and File Transport-Level Security
49.5.1
Email and FTP Transport-Level Security
49.5.2
File Transport Security
49.6
Configuring Transport-Level Security for SB Transport
49.6.1
Configuring SAML Authentication With Service Bus (SB) Transport
49.7
Configuring Transport-Level Security for WS Transport
49.7.1
Reliable Web Services Messaging Defined
49.7.2
WS Transport Resources Visible in WLS Console
49.7.3
Use of WS-Policy Files for Web Service Reliable Messaging Configuration
49.7.3.1
Preconfigured WS-RM Policy Files
49.7.4
RM WS-Policy Required Prior to Activation
49.7.5
Async Responses
49.7.6
Proxy Service Authentication
49.7.7
Preserving Security Configuration on Import
49.7.8
Configuring Inbound and Outbound WS Transport-Level Security
49.8
Configuring Transport-Level Security for WebSphere Message Queue Transport
49.8.1
Configuring Inbound MQ Transport-Level Security: Main Steps
49.8.2
Configuring Outbound MQ Transport-Level Security: Main Steps
49.9
Transport-Level Security Elements in the Message Context
50
Securing Oracle Service Bus with Oracle Web Services Manager
50.1
About Oracle Web Services Manager Integration with Oracle Service Bus
50.1.1
Security Providers
50.1.1.1
JPS Providers
50.1.1.2
CSS Providers
50.2
Setting Up and Using Oracle Web Services Manager with Oracle Service Bus
50.2.1
Adding Oracle Web Services Manager and Oracle Enterprise Manager to an Oracle Service Bus Domain
50.2.2
Attaching Oracle Web Services Manager Policies to Oracle Service Bus Services
50.2.2.1
Policy Overrides
50.2.3
Configuring SAML
50.2.4
Advertising WSDLs to Support WS Standards
50.2.4.1
WSDL Query Parameter Reference for WS Policies
50.2.5
Deployment Considerations
50.2.6
Auditing
50.2.7
Monitoring Statistics
50.2.8
Supported Seed Policies and Unsupported Assertions
50.2.8.1
Supported Seed Policies
50.2.8.2
Unsupported Assertions
50.3
Use Cases: Oracle Service Bus and WLS 9 Policies with Oracle Web Services Manager
50.3.1
Message Protection
50.3.1.1
Message Protection with Client Agent
50.3.1.2
Message Protection with Server Agent
50.3.1.3
Message Protection with Client and Server Agents
50.3.1.4
Message Protection with Gateway
50.3.2
Authentication
50.3.3
Perimeter Security
50.3.4
Identity Propagation
51
Using WS-Policy in Oracle Service Bus Proxy and Business Services
51.1
About Web Services Policy
51.1.1
Relationship Between WS-Security and WS-Policy
51.1.2
WS-Policies Can be Bound Directly to Service
51.1.3
Abstract and Concrete WS-Policy Statements
51.2
Oracle Service Bus WS-Policy Files
51.2.1
Predefined Oracle Proprietary Policy Files
51.2.2
Predefined Reliable Messaging Policy Files
51.2.3
When to Use the Predefined Policy Files
51.3
Creating and Using Custom WS-Policy Statements
51.4
Attaching WS-Policy Statements to WSDL Documents
51.4.1
Determining the URI of a WS-Policy Statement
51.4.2
Specifying the URI of a WS-Policy Statement in a WSDL Document
51.4.3
Best Practices: Attaching WS-Policy Statements
51.4.4
Example: Requiring X.509 Credentials for Identity and Confidentiality
51.4.5
Example: Attaching Custom Inline WS-Policy Statements to a WSDL Document
51.5
Oracle-Proprietary Security Policy Best Practices
51.6
Policy Subjects and Effective Policy
52
Configuring Message-Level Security for Web Services
52.1
About Message-Level Security
52.1.1
Sample Sequence of Actions in Message-Level Security
52.2
Message-Level Access Control Policies for Proxy Services
52.3
Configuring Proxy Service Message-Level Security
52.3.1
Creating an Active Intermediary Proxy Service: Main Steps
52.3.2
Creating a Pass-Through Proxy Service: Main Steps
52.4
Configuring Business Service Message-Level Security: Main Steps
52.5
Examples of Custom WS-Policy Statements
52.5.1
Example: Encrypting Part of the SOAP Body and Header
52.5.2
Example: Encryption Policy for a Business Service
52.5.3
Example: Encrypting a Custom SOAP Header
52.5.4
Example: Signing the Message Body and Headers
52.5.5
Example: Signing a SOAP Body with SAML Holder-of-Key
52.5.6
Example: Authenticating, Signing, and Encrypting a SOAP Body and Headers with SAML Sender Vouches
52.6
Disabling Outbound WS-Security
53
Using SAML with Oracle Service Bus
53.1
Mapping Identity to a SAML Token
53.2
Configuring SAML Pass-Through Identity Propagation
53.3
Authenticating SAML Tokens in Proxy Service Requests
53.4
Configuring SAML Authentication with Service Bus (SB) Transport
53.5
Using SAML Identity Switching
53.5.1
Protecting the Identity-Switching Resource
53.6
Troubleshooting SAML with Oracle Service Bus
54
Configuring Custom Authentication
54.1
What Are Custom Authentication Tokens?
54.1.1
Custom Authentication Token Use and Deployment
54.2
Understanding Transport-Level Custom Authentication
54.2.1
Importing and Exporting and Transport-Level Custom Token Authentication
54.3
Understanding Message-Level Custom Authentication
54.4
Format of XPath Expressions
54.5
Configuring Identity Assertion Providers for Custom Tokens
54.5.1
Object Type of Custom Tokens
54.5.2
Configuring a Custom Token Type in an Identity Assertion Provider
54.5.2.1
Steps for Configuring a Custom Token Type in an Identity Assertion Provider
54.5.2.2
Setting the Supported and Active Types in the MBean
54.6
Configuring Custom Authentication Transport-Level Security
54.6.1
Steps for Configuring Custom Authentication Transport-Level Security
54.7
Configuring Custom Authentication Message-Level Security
54.7.1
Steps for Configuring Custom Authentication Message-Level Security
54.8
Propagating the Identity Obtained From Custom Authentication Tokens
54.9
Combining WS-Security with Custom Username/Password and Tokens
55
Message-Level Security with .Net 2.0
55.1
Message-Level Security Between .NET 2.0 and Oracle Service Bus
55.2
What is .NET?
55.3
Message-Level Security Configuration in .NET For Oracle Service Bus Interoperability
55.4
Oracle Service Bus Configuration for Message-Level Security with .NET
55.4.1
Sample WSDL File
Part VIII Appendix
A
Transport SDK UML Sequence Diagrams
A.1
Oracle Service Bus Runtime Inbound Messages
A.2
Oracle Service Bus Runtime Outbound Messages
A.3
Design Time Service Registration
Scripting on this page enhances content navigation, but does not change the content in any way.