Go to main content
1/82
Contents
List of Tables
Title and Copyright Information
Preface
Documentation Accessibility
Conventions
What's New in This Guide
Significant Documentation Changes for 12c (12.1.3)
New and Changed Features for 12c (12.1.3)
Part I Introduction to Oracle Service Bus
1
Learning About Oracle Service Bus
Differences Between Using this Component in the Cloud and On-Premises Environments
Oracle Service Bus Overview
Functional Areas
Adaptive Messaging
Service Security
Service Virtualization
Configuration Framework
Service Management
Service Bus Architectural Concepts
Message Processing
Proxy Service Role in Message Processing
Transport Layer (Inbound)
Binding Layer
Pipeline Role in Message Processing
Transport Layer (Outbound)
Business Service Role in Message Processing
Service Bus Components
Service Components
Proxy Services
Business Services
Message Flows
Pipelines
How Data Flows Through a Pipeline
Message Context
Split-Joins
Transports, Adapters, and Bindings
Supported Transport Protocols
Service Types
Transformation Resources
XQuery Mappings
XSLT Mappings
Cross References
Domain Value Maps
Transport and Adapter Related Resources
JCA Bindings
JAR Files (Archives)
JavaScript Files
MQ Connections
Schema and Document Resources
XML Schemas
XML Documents
WSDL Documents
WADL Documents
MFL Resources
Security Resources
Service Key Providers
Service Accounts
WS-Policy Resources
Alert Destinations
Throttling Group Resources
System Resources
JNDI Providers
SMTP Servers
Proxy Servers
UDDI Registries
Service Bus Messaging
Messaging Models
Message Formats
Message Context
Content Types
Using Work Managers with Service Bus
Service Bus Security
Service Bus Security Features
Service Bus Service Security Model
Oracle Web Services Manager
Oracle Platform Security Services
WS-Policies
Types of Security
Inbound Security
Outbound Security
Identity Propagation
User Management and Administrative Security
Transport-Level Security
Message-Level Security
Custom Security Credentials
Approaches for Designing Service Bus Services
Service Bus Top-Down Roadmap
Service Bus Bottom-Up Roadmap
Naming Guidelines for Service Bus Components
Viewing Service Bus Resources in a Web Browser
WSDL Documents
WS Policies
Message Format Language (MFL) Resources
Schema Resources
Notes About Viewing Service Bus Resources in a Web Browser
Accessibility Options
Setting Accessibility Options in JDeveloper
Notes on Screen Reader Mode
How to Set Accessibility Options in the Oracle Service Bus Console
Additional Resources
2
Getting Started with the Oracle Service Bus Console
Overview of the Oracle Service Bus Console
Service Bus Sessions
Oracle Service Bus Console Layout
Service Bus Projects and Folders
The System Project
Projects and Folder Names
Qualified Resource Names Using Projects and Folders
Service Bus Resources
Oracle Service Bus Console Editors
Getting Started
How to Access the Oracle Service Bus Console
How to Exit the Oracle Service Bus Console
Working with Sessions
How to Create a Session
How to Activate a Session
How to Exit a Session
Working with Projects, Folders, and Resources in Oracle Service Bus Console
How to Locate Services
Working with the Project and Folder Definition Editors
About Viewing Project, Folder, and Resource Information
Viewing All Projects in the Session
Viewing Folders and Resources in a Project
Viewing the Subfolders and Resources in a Folder
How to Filter Components on the Project and Folder Definition Editors
Create New Projects and Folders for Resources
Creating a Project in the Project Navigator
Creating a Folder in the Project Navigator
How to Clone Projects, Folders, and Resources
What Happens When You Clone a Project
What Happens When You Clone a Folder
How to Rename Projects, Folders, and Resources
How to Move Projects, Folders, and Resources
How to Delete Projects, Folders, and Resources
Deleting a Service Bus Component using the Project Navigator
Deleting a Service Bus Component Using an Editor
Viewing and Resolving Conflicts
How to View Conflicts and Errors
Viewing All Conflicts and Errors in the Service Bus Console
Viewing Conflicts and Errors for a Deployed Resource
How to Resolve Conflicts and Errors
Resolving Concurrent Update Conflicts
Resolving Error Conflicts
Viewing Historical Data
How to View the Changes in the Current Session
How to View the Existing Sessions
How to View the Changes in an Activated Session
How to Purge Activated Sessions
Undoing Changes and Activations
How to Undo Specific Changes in the Current Session
How to Undo a Session Activation
Viewing References
Viewing Resource References
Customizing the Appearance of the Oracle Service Bus Console
How to Customize Table Views
Specifying the Columns to Display
Sorting the Columns in a Table
Reordering Columns in a Table
Viewing a Table in Full-Screen Mode
3
Getting Started with Oracle Service Bus in JDeveloper
JDeveloper Concepts for Service Bus
Application Navigator
Service Bus Overview Editor
Resource Editors
Components Window
Resources Window
Properties Window
Structure View
Log Window
Managing Service Bus Components in JDeveloper
Creating Service Bus Applications and Projects in JDeveloper
Guidelines for Creating Applications and Projects
How to Create a Service Bus Application and Project
Creating a Service Bus Application with No Project
Creating a Service Bus Application and Project
Adding a Service Bus Project to a Service Bus Application
Refactoring Service Bus Projects, Folders, and Resources
How to Rename a Service Bus Folder or Resource in JDeveloper
How to Move a Service Bus Folder or Resource in JDeveloper
How to Delete a Project or Resource:
Deleting a Resource
Deleting a Project
How to Clone a Project or Folder:
4
Setting up the Development Environment for JDeveloper
Creating Server Connections in JDeveloper
How to Create an Application Server Connection
How to Create a SOA-MDS Connection
How to Change the MDS Repository Location
Creating Connection Factories for Oracle JCA Adapters
Disabling the JMS Reporting Provider
5
Developing Oracle Service Bus Applications in JDeveloper
Introduction to the Service Bus Overview Editor
Service Bus Overview Editor Components
Transports, Adapters, and Bindings
Project and Overview Diagram Synchronization
Adding Service Bus Components
How to Launch the Service Bus Overview Editor
How to Add a Pipeline
How to Add a Split-Join
How to Create a Proxy Service
Creating a Proxy Service with an Adapter
Creating a Proxy Service with a Transport
Creating a Proxy Service from an Existing Pipeline or Split-Join
How to Reuse Existing Proxy Services in the Overview
How to Create a Business Service
Creating a Business Service with an Adapter
Creating a Business Service with a Transport
How to Reuse Existing Business Services in the Overview
How to Invoke Deployed Service Bus and SOA Applications
What You May Need to Know About Adding Components
Modifying and Deleting Components in the Service Bus Overview Editor
How to Edit Components from the Service Bus Overview Editor
How to Rename Components in the Service Bus Overview Editor
How to Delete Components in the Service Bus Overview Editor
Synchronizing the Overview Diagram
Wiring Service Bus Components
How to Wire Service Bus Components
How to Delete Wires Between Services
Attaching Security Policies to Service Bus Components
Testing Service Bus Components in the Overview Editor
How to Test a Service Bus Component
How to Debug a Service Bus Component
Deploying a Service Bus Application
Part II Working with Oracle Service Bus Resources
6
Creating and Configuring Project Resources
Introduction to Service Bus Project Resources
Project Resources and Sessions in the Oracle Service Bus Console
Working with Service Accounts
Service Account Authentication Types
Static
User Name and Password Pass-Through
User Mapping Authentication
How to Create Service Accounts
Creating a Service Account that Passes Though Authentication Information
Creating a Service Account with a Static Password
Creating a Service Account that Maps Incoming Passwords
How to Edit Service Accounts
How to Delete Service Accounts
Working with Service Key Providers
How to Create Service Key Providers
How to Edit Service Key Providers
How to Delete Service Key Providers
Working with Alert Destinations
Alert Destination Types
Email
SNMP Traps
Reporting
Alert Logging
JMS
How To Create Alert Destinations
How to Define Email Recipients for an Alert Destination
How to Define JMS Recipients for an Alert Destination
How to Edit Alert Destinations
How to Delete Alert Destinations
Working with SNMP
Guidelines for Working with SNMP Agents for Service Bus
How to Start Listening for Traps
Working with XML Schemas
How to Create XML Schemas
How to Edit XML Schemas
How to Delete XML Schemas
Working with XML Documents
How to Create XML Documents
How to Edit XML Documents
How to Delete XML Documents
Working with JAR Files
How to Add JAR Files
How to Update a JAR File
How to Modify JAR File Dependencies
How to Delete a JAR File
7
Creating and Configuring System Resources
Working with JNDI Provider Resources
Classpath Requirements for JBoss Application Server
About JBoss Initial Context Factory Environment Properties
How to View JNDI Provider Resources in the Oracle Service Bus Console
How to Create a JNDI Provider Resource
How to Edit JNDI Provider Resources
How to Delete JNDI Provider Resources
Working with SMTP Server Resources
How to View SMTP Server Resources in the Oracle Service Bus Console
How to Create SMTP Server Resources
How to Configure a Default SMTP Server
How to Edit SMTP Server Resources
How to Delete SMTP Server Resources
Working with Proxy Server Resources
Using Proxy Servers with SSL
How to View Proxy Server Resources in Oracle Service Bus Console
How to Create Proxy Server Resources
How to Edit Proxy Server Resources
How to Delete Proxy Server Resources
8
Creating and Configuring Proxy Services
Introduction to Proxy Services
Proxy Service Definitions
Service Types and Protocols for Proxy Services
When to Use SOAP or Any XML Service Types
When to Use the Messaging Service Type
Binding Definitions and Runtime Variables for Proxy Service Types
WSDL Service Type
Messaging Service Type
Any SOAP Service
Any XML Service
Proxy Service Transport Protocol Configuration
Securing Proxy Services
Service Level Agreement Alert Rules
Web Services Interoperability Compliance
Creating Proxy Services
How to Create a Proxy Service
How to Generate a Proxy Service from a JCA Binding Resource
Generating a Proxy Service from a JCA Binding in JDeveloper
Generating a Proxy Service from a JCA Binding in the Console
How to Generate a Proxy Service from an Existing Service in JDeveloper
How to Generate a Proxy Service from a WSDL Document in JDeveloper
Configuring Proxy Services
How to Configure General Information for a Proxy Service
How to Configure a Proxy Service Transport
How to Configure Proxy Service Message Handling
How to Configure Security for a Proxy Service
How to Configure Service Level Agreement Alerts for a Proxy Service
Deleting Proxy Services
How to Delete a Proxy Service
Consuming Proxy Services in JDeveloper with WSIL
How to Consume Service Bus Proxy Services in JDeveloper with WSIL
9
Creating and Configuring Business Services
Introduction to Business Services
Business Service Definitions
Service Types and Protocols for Business Services
Binding Definitions and Runtime Variables for Business Service Types
Business Service Transport Protocol Configuration
About the Load Balancing Algorithm
About Business Service URI Retries
Suppressing Retries in Case of Application Errors
Message Handling for Business Services
XOP/MTOM Support
Attachments
Web Services Interoperability Compliance
Using Proxy Servers
Service Level Agreement Alert Rules
Security and Security Policies for Business Services
Creating Business Services
How to Create a Business Service
How to Generate a Business Service from a JCA Binding Resource
Generating a Business Service from a JCA Binding in JDeveloper
Generating a Business Service from a JCA Binding in the Console
How to Generate a Business Service from a Proxy Service in JDeveloper
How to Generate a Business Service from a WSDL Document in JDeveloper
Configuring Business Services
How to Configure General Information for a Business Service
How to Configure a Business Service Transport
How to Configure Business Service Message Handling
How to Configure Performance for a Business Service
How to Configure Security for a Business Service
How to Configure Service Level Agreement Alerts for a Business Service
Deleting Business Services
How to Delete a Business Service
Improving Performance by Caching Business Service Results
How Result Caching Works
Flushing Cached Results
Result Caching Best Practices
Result Cache Metadata
Cache Token
Expiration Time
Request Metadata
Response Metadata
Testing Result Caching
How to Configure a Business Service for Result Caching
Result Caching Advanced Configuration
Working with Unicast and Multicast
How to Disable Coherence for Service Bus
About Out-of-Process Coherence Servers
How to Use an Out-of-Process Coherence Cache Server
Creating an Out-of-Process Coherence Cache Server
Configuring the Servers for an Out-of-Process Coherence Cache Server
More Information on Configuring and Using Oracle Coherence
10
Improving Service Performance with Split-Join
Introduction to Split-Joins
Static Split-Joins
Static Split-Join – Sample Scenario
Dynamic Split-Join
Dynamic Split-Join – Sample Scenario
Split-Join Operations
Split-Join Communication Operations
Split-Join Flow Control Operations
Split-Join Assign Operations
Using Split-Join with Content in SOAP Headers
Transaction Support
Security with Split-Joins
Split-Join Resource Type and Environment Variable
Service Level Agreement Alert Rules
Working with Split-Joins in JDeveloper
How to Create a Split-Join in JDeveloper
How to Generate a Split-Join from a WSDL Document in JDeveloper
How to Display the Components Window and Properties Windows
Displaying the Components Window
Displaying the Properties Window
How to Configure the Start Node
How to View External Services
How to Configure Global and Local Variables
Defining Global and Local Variables
Editing Global or Local Variables
How to Configure the Receive Operation
Adding Communication Operations in JDeveloper
How to Invoke a Service
How to Configure a Reply
Adding Flow Control Operations in JDeveloper
How to Create a Container Node
How to Iterate Through a Variable Number of Requests
How to Process a Fixed Number of Requests in Parallel
How to Define If-Else Conditional Logic
How to Create Error Handlers
How to Raise an Error
How to Re-Raise an Error
How to Repeat an Operation Until it Evaluates to True
How to Repeat an Operation Until it Evaluates to False
How to Insert a Pause in Processing
Adding Assign Operations in JDeveloper
About Transformations and Expressions in Assign Operations
Assign Operation Expression Resolution
How to Assign a Value to a Variable
How to Copy a Value from a Source to a Destination Document
How to Delete a Set of Nodes
How to Insert the Result of an XQuery Expression
How to Invoke a Java Method in a Split-Join
How to Log Split-Join Data
How to Replace a Node or Its Contents
Working with Split-Joins in the Oracle Service Bus Console
How to Import a Split-Join into the Console
How to Configure Split-Joins in the Console
How to Define Service Level Agreement Rules for a Split-Join
Static and Dynamic Split-Join Samples
Designing a Static Split-Join
Creating a New Split-Join
Adding an Assign
Adding a Parallel Node
Adding an Assign for Each Branch
Adding an Invoke Service
Adding an Assign for Each Branch
Exporting and Testing the Split-Join
Designing a Dynamic Split-Join
Creating a New Split-Join
Adding an Assign
Adding a For Each
Adding an Assign
Adding an Invoke Service
Adding an Assign
Adding an Error Handler
Exporting and Testing the Split-Join
11
Working with WSDL Documents
WSDL Overview
WSDL Types
WSDL Messages
WSDL Port Types
WSDL Bindings
WSDL Services and Ports
WSDL Documents in Service Bus
Web Service Types
SOAP Document Wrapped Web Services
SOAP Document Style Web Services
SOAP RPC Web Services
About Effective WSDL Documents and Generated WSDL Documents
Effective WSDL Documents
Generated WSDL Documents
Services Based on WSDL Ports and on WSDL Bindings
Effective WSDL Documents for Proxy Services
Effective WSDL Files for Non-Transport-Type Business Services
Effective WSDL Files for Transport-Type Business Services
Examples of Proxy Services Based on a Port and on a Binding
A Service Based on a Port
A Service Based on a Binding
Importing and Exporting WSDL Resources
Working with WSDL Documents in JDeveloper
How to Create a WSDL Resource in JDeveloper
How to Generate a WSDL File from a Service in JDeveloper
How to Edit a WSDL Document in JDeveloper
How to Delete a WSDL Document in JDeveloper
Working with WSDL Documents in the Oracle Service Bus Console
How to Create a WSDL Resource in the Console
How to Export a WSDL File in the Console
Exporting a WSDL FIle from a Project or Folder in the Console
Exporting a WSDL File From a Service Definition Editor
How to Generate a WSDL File from a Service in the Console
How to Edit a WSDL Document in the Console
How to Delete a WSDL Document in the Console
Viewing Effective WSDL Documents
Part III Working with Oracle Service Bus Pipelines
12
Modeling Message Flow in Oracle Service Bus
Pipeline Components
Building a Message Flow
Message Execution
Branching in Pipelines
Operational Branching
Conditional Branching
Configuring Actions in Stages and Route Nodes
Communication Actions
Flow Control Actions
Message Processing Actions
Reporting Actions
Configuring Transport Headers in Pipelines
Global Pass Through and Header-Specific Copy Options
How the Runtime Uses Transport Headers Settings
Limitations to Transport Header Values you Specify in Transport Header Actions
Performing Transformations in Pipelines
Transformations and Publish Actions
Publish Action Behavior with Quality of Service
Transformations and Route Nodes
Constructing Service Callout Messages
SOAP Document Style Services
SOAP RPC Style Services
XML Services
Messaging Services
Using Attachments with Service Callout Messages
Example of Using Attachments with SOAP-Document Style Services
Example of Using Attachments with SOAP RPC Style Service
MTOM/XOP Support
Page Attachments to Disk
Handling Errors as the Result of a Service Callout
Transport Errors
SOAP Faults
Unexpected Responses
Handling Errors in Pipelines
Generating the Error Message, Reporting, and Replying
Different Behavior of Security Fault Handling in Service Bus 11g and 12c
Example of Action Configuration in Error Handlers
Using Dynamic Routing
Implementing Dynamic Routing
Sample XML File
Creating an XQuery Resource From the Sample XML
Creating and Configuring the Pipeline to Implement Dynamic Routing
Guidelines for Implementing Identity-Based Routing
Accessing Databases Using XQuery
Understanding Message Context
Message Context Components
Guidelines for Viewing and Altering Message Context
Copying JMS Properties From Inbound to Outbound
Working with Variable Structures
Using the Inline XQuery Expression Editor
Inline XQueries
Uses of the Inline XQuery Expression Editor
Best Practices for Type-Dependent Expressions
Using Variable Structures
Quality of Service
Delivery Guarantees
Overriding the Default Element Attribute
Delivery Guarantee Rules
Threading Model
Splitting Proxy Services
Outbound Message Retries
Using Work Managers with Service Bus
Content Types, JMS Type, and Encoding
Throttling Pattern
WS-I Compliance
WS-I Compliance Checks
Converting Between SOAP 1.1 and SOAP 1.2
13
Working with Pipelines in Oracle Service Bus Console
Introduction to the Oracle Service Bus Console Pipeline Designer
Edit Message Flow Page on the Console
Edit Stage Configuration Page on the Console
Viewing and Editing Pipelines in the Console
How to View and Edit Pipelines in the Console
How to Add Shared Variables to Pipelines in the Console
How to Add Pipeline Pairs to Pipelines
How to Add Conditional Branches to Pipelines in the Console
How to Add Operational Branches to Pipelines in the Console
How to Add Stages to Pipelines in the Console
How to Add Route Nodes to Pipelines in the Console
Cutting, Copying, and Pasting Stages and Route Nodes
Configuring the Resequencer in the Console
How to Configure Resequencing in a Pipeline in the Console
How to Select the Resequence Level in the Console
How to Configure the Resequencing Mode in the Console
Configuring a Standard Resequencer
Configuring a FIFO Resequencer
Configuring a Best Effort Resequencer
Creating Variable Structure Mappings
Sample WSDL Document
Creating the Resources You Need for the Examples
Save the WSDL File as a Resource
Create a Proxy Service and Pipeline
Build a Message Flow for the Sample Pipeline
Create a Business Service
Example 1: Selecting a Predefined Variable Structure
Example 2: Mapping a Variable to a Type
Example 3: Mapping a Variable to an Element
Example 4: Mapping a Variable to a Child Element
Example 5: Mapping a Variable to a Business Service
Example 6: Mapping a Child Element to Another Child Element
14
Working with Pipeline Actions in Oracle Service Bus Console
Adding and Editing Pipeline Actions in the Console
Adding Publish Actions in the Console
Adding Publish Table Actions in the Console
Adding Dynamic Publish Actions in the Console
Adding Routing Options Actions in the Console
Adding Service Callout Actions in the Console
Adding Transport Header Actions in the Console
Setting Cookies in Outbound HTTP Transport Headers
Setting a Cookie as a Complex XML Expression
Setting a Cookie with a String Expression
Adding Dynamic Routing to Route Nodes in the Console
Adding Routing Actions to Route Nodes in the Console
Adding Routing Tables to Route Nodes in the Console
Adding For-Each Actions in the Console
Adding If-Then Actions in the Console
Adding Raise Error Actions in the Console
Transactions
Adding Reply Actions in the Console
Adding Resume Actions in the Console
Adding Skip Actions in the Console
Adding Assign Actions in the Console
Adding Delete Actions in the Console
Adding Insert Actions
Adding Java Callout Actions in the Console
Adding MFL Translate Actions in the Console
Adding nXSD Translate Actions
Adding Rename Actions in the Console
Adding Replace Actions in the Console
Adding Validate Actions in the Console
Adding Alert Actions in the Console
Adding Log Actions in the Console
Adding Report Actions in the Console
Adding Error Handlers in the Console
Adding Pipeline Error Handlers in the Console
Adding Stage Error Handlers in the Console
Adding Route Node Error Handlers in the Console
Editing Error Handlers in the Console
Disabling an Action or a Stage in the Console
Disabling an Action on the Pipeline
Re-Enabling an Action in the Pipeline
Disabling a Stage in the Pipeline
Re-Enabling a Stage in the Pipeline
15
Working With Expression Editors in Oracle Service Bus Console
Creating and Editing Inline XQuery and XPath Expressions
Understanding XQuery Editor Layouts and Tasks
Palettes
Workspace
Property Inspector
Building Expressions in the Editor Workspace Text Fields
Creating Namespaces to Use in Inline Expressions
Creating Variable Structures in the XQuery Editors
Creating Custom XPath Functions in the XQuery Editors
Binding External XQuery Resources to Inline XQueries
Binding External XSLT Resources to Inline XQueries
Binding Dynamic XQuery Expressions to Inline XQueries
Binding Dynamic XSLT Expressions to Inline XQueries
Entering XQuery Comparison Expressions Using the Builder Option
Entering Unary Expressions Using the Builder Option
16
Working with Pipelines in Oracle JDeveloper
Adding a Pipeline Component in JDeveloper
How to Add a Pipeline in JDeveloper
Viewing and Editing Pipelines in JDeveloper
How to View and Edit a Pipeline in JDeveloper
Adding Shared Variables to Pipelines in JDeveloper
How to Add a Shared Variable to a Pipeline in JDeveloper
Adding Pipeline Pair Nodes to Pipelines in JDeveloper
How to Add a Pipeline Pair Node to a Pipeline in JDeveloper
Adding Conditional Branches to Pipelines in JDeveloper
How to Add a Conditional Branch to a Pipeline in JDeveloper
Adding Operational Branches to Pipelines in JDeveloper
How to Add an Operational Branch to a Pipeline in JDeveloper
Adding Stages to Pipelines in JDeveloper
How to Add a Stage to a Pipeline in JDeveloper
Adding Route Nodes to Pipelines in JDeveloper
How to Add a Route Node to a Pipeline in JDeveloper
Cutting, Copying, and Pasting Stages and Route Nodes in JDeveloper
Configuring the Resequencer in JDeveloper
How to Configure Resequencing in a Pipeline in JDeveloper
Selecting the Resequence Level in JDeveloper
How to Configure the Resequencing Mode in JDeveloper
Configuring a Standard Resequencer
Configuring a FIFO Resequencer
Configuring a Best Effort Resequencer
17
Working with Pipeline Actions in Oracle JDeveloper
Adding and Editing Actions in Pipelines in JDeveloper
Adding Publish Actions in JDeveloper
Adding Publish Table Actions in JDeveloper
Adding Dynamic Publish Actions in JDeveloper
Adding Routing Options Actions in JDeveloper
Adding Service Callout Actions in JDeveloper
Adding Transport Header Actions in JDeveloper
Adding Dynamic Routing to Route Nodes in JDeveloper
Adding Routing Actions to Route Nodes in JDeveloper
Adding Routing Tables to Route Nodes in JDeveloper
Adding For Each Actions in JDeveloper
Adding If Then Actions in JDeveloper
Adding Raise Error Actions in JDeveloper
Adding Reply Actions in JDeveloper
Adding Resume Actions in JDeveloper
Adding Skip Actions in JDeveloper
Adding Assign Actions in JDeveloper
Adding Delete Actions in JDeveloper
Adding Insert Actions in JDeveloper
Adding Java Callout Actions in JDeveloper
Adding MFL Translate Actions in JDeveloper
Adding nXSD Translate Actions in JDeveloper
Adding Rename Actions in JDeveloper
Adding Replace Actions in JDeveloper
Adding Validate Actions in JDeveloper
Adding Alert Actions in JDeveloper
Adding Log Actions in JDeveloper
Adding Report Actions in JDeveloper
Adding Error Handlers in JDeveloper
How to Add Error Handlers in Pipelines in JDeveloper
Disabling an Action or a Stage in JDeveloper
Disabling an Action or Stage
Re-Enable an Action or Stage
18
Working with Pipeline Templates
Adding a Pipeline Template
How to Add a Pipeline Template
Editing a Pipeline Template
How to Edit a Pipeline Template
How to View External Services
How to View Shared Variables
Adding Placeholder Blocks to a Pipeline Template Message Flow
Locking an Action in a Pipeline Template
How to Lock an Action in a Pipeline Template
Creating a Concrete Pipeline from a Pipeline Template
How to Create a Concrete Pipeline
Editing the Message Flow for a Concrete Pipeline
How to Edit the Message Flow for a Concrete Pipeline
Converting a Concrete Pipeline in to a Regular Pipeline
How to Break a Template Link for a Concrete Pipeline
Part IV Transforming Data
19
Transforming Data with XQuery
Introduction to XQuery Transformations
XQuery Editors and Mappers
JDeveloper Editors and Mappers
Oracle Service Bus Console Editors
Creating XQuery Maps in JDeveloper
How to Create XQuery Mappings in JDeveloper
Testing Service Bus Projects Converted from XQuery 2004 to XQuery 1.0 in JDeveloper
Working with XQuery Resources in the Oracle Service Bus Console
How to Create an XQuery Resource in the Console
How to Edit an XQuery Resource in the Console
How to Delete an XQuery Resource in the Console
How to Upgrade Your XQuery Resources to use XQuery 1.0
Service Bus XQuery Functions
Supported Function Extensions from Oracle
Function Extensions from Service Bus
fn-bea:lookupBasicCredentials
fn-bea:isUserInGroup
fn-bea:isUserInRole
fn-bea: uuid
fn-bea:execute-sql()
Example 1: Retrieving the URI from a Database for Dynamic Routing
Example 2: Getting XMLType Data from a Database
fn-bea:serialize()
Creating and Using Custom XPath Functions
20
Transforming Data with XSLT
Introduction to XSLT
XSLT Editors and Mappers
JDeveloper Editors and Mappers
Oracle Service Bus Console Editors
Creating XSLT Mappings in JDeveloper
How to Create XSLT Mappings in JDeveloper
Working with XSLT Resources in the Oracle Service Bus Console
How to Create XSLT Resources in the Console
How to Edit XSLT Resources in the Console
How to Delete an XSLT Resource
21
Mapping Data with Cross-References
Introduction to Cross References
Cross Reference Database Tables
Cross Reference Functions
Managing Cross Reference Data at Runtime
Creating Cross Reference Tables in JDeveloper
How to Create Cross Reference Tables in JDeveloper
Working with Cross Reference Resources in the Oracle Service Bus Console
How to Create Cross Reference (XRef) Resources in the Console
How to Edit Cross Reference Resources in the Console
How to Create a Custom Database Table in the Console
Deleting a Cross Reference Resource
How to Delete a Cross Reference Resource
Populating Cross Reference Tables in Oracle Service Bus
22
Mapping Data with Domain Value Maps
Introduction to Domain Value Maps
Domain Value Map Functions
Creating Domain Value Maps in JDeveloper
How to Create a Domain Value Map in JDeveloper
Working with DVM Resources in the Oracle Service Bus Console
How to Create DVM Resources in the Console
How to Add Domains to a Domain Value Map
How to Add Domain Values to a Domain Value Map
How to Edit a Domain Value Map in the Console
Deleting a Domain Value Map
How to Delete a Domain Value Map
Using Domain Value Maps in Expressions and Conditions
23
Defining Data Structures with Message Format Language
Introduction to the Format Builder
About MFL Files
Valid Names for Formats, Fields, and Groups
Supported Character Delimiters
Working with MFL Resources in the Oracle Service Bus Console
How to Create MFL Resources in the Console
How to Edit MFL Resources in the Console
Creating the MFL Message Structure
Using Drag and Drop in the Format Builder
How to Create an MFL File in JDeveloper
How to Create a Group
How to Create a Field
How to Reference Groups or Fields
How to Add a Comment
Configuring the MFL Message Structure
How to Make a Node Recurring
How to Define Delimiters
Specifying a Delimiter by Reference
Specifying a Delimiter by Value
Importing and Converting Metadata
How to Convert a Guideline XML File
How to Convert an XML Schema
How to Convert a COBOL Copybook
How to Convert C Structures
How to Convert an FML Field Table Class
Deleting MFL Resources
How to Delete an MFL Resource
Testing Format Definitions
How to Start Format Tester
How to Test Using the Non-XML Window
Using the Data Offset Feature
Using the Text Feature
How to Test Using the XML Window
How to Test Using the Debug Window
How to Debug Format Definitions
Searching for Values
Searching for Offsets
Using the Debug Log
Format Tester Command Reference
File Menu
Edit Menu
Display Menu
Generate Menu
Transform Menu
Using the Palette
How to Display the Palette Window
How to Add Items to the Palette
How to Add Palette Items to a Message Format
Format Builder Supported Data Types
MFL Data Types
COBOL Copybook Importer Data Types
Unsupported C Language Features
Format Builder Field Reference
Format Builder Window
Format Builder Tool Bar
Format Builder Tree Pane
Field Configuration Window
Group Configuration Window
Format Builder Reference Configuration Window
24
Using Java Callouts and POJOs
Introduction to Java Callouts
Java Callout Usage Guidelines
Java Callouts or EJBs
Working with Streaming Content
Passing Streaming Content to a Java Callout
Streaming Content Results from a Java Callout
Best Practices for Java Callouts and POJOs
Part V Working with JCA Adapters, Transports, and Bindings
25
Using the JCA Transport and JCA Adapters
Introduction to the JCA Transport
Supported JCA Adapters
AQ Adapter
Oracle BAM 11g Adapter
Coherence Adapter
Database Adapter
File Adapter
FTP Adapter
JDE World Adapter
JMS Adapter
LDAP Adapter
MQ Series Adapter
MSMQ Adapter
Oracle E-Business Suite Adapter
Salesforce Cloud Adapter
SAP Adapter
Socket Adapter
Third Party Adapter
User Messaging Service Adapter
Oracle JCA Adapter Limitations
Limitations that Apply to All JCA Adapters
Oracle JCA Adapters for Files/FTP Limitations
JCA Adapter Framework
JCA Transport Messaging
Security for JCA Transports
Proxy Services
Business Services
Logging
Oracle BAM Adapter Logging
JCA Transport Error Handling
URI Rewriting with JCA Transports
JCA Transport Message Encoding
Rejected Messages
JCA Adapter Configuration Recommendations for Service Bus
Configuring the JCA Adapter Connections
Configuring JCA Adapters that Poll a Database
Configuring the Oracle JCA Adapter for Database
Configuring the Oracle JCA Adapter for AQ
Configuring the Oracle JCA Adapter for Coherence
Configuring the Salesforce Cloud Adapter
Working with JCA Binding Resources
How to Create a JCA Adapter in JDeveloper
How to Import JCA Adapters in the Oracle Service Bus Console
How to Create a JCA Binding Resource in the Oracle Service Bus Console
How to Edit JCA Binding Resources in the Console
How to Delete JCA Binding Resources
Using Custom JCA Adapters
About the Custom Adapter Registration File
Registering and Using a Custom JCA Adapter with Service Bus
Working with JavaScript Resources
How to Create JavaScript Resources
How to Edit JavaScript Resources
How to Delete JavaScript Resources
JCA Transport Configuration Reference
JCA Transport Endpoint URIs
Endpoint Redeployment
JCA Transport Headers and Normalized Message Properties
JCA Transport Endpoint Properties
Standard Endpoint Properties
Dynamic Endpoint Properties
Activation and Interaction Specification Properties
JCA Transport Environment Variables
Configuring Proxy and Business Services to Use the JCA Transport
Proxy Service Operation Configuration
26
Creating REST Services with Oracle Service Bus
Oracle Service Bus and REST
REST Features in Service Bus
REST Implementation in Service Bus
REST Security
WADL Documents for REST Services in Service Bus
WADL Documents in the Design Time and Runtime
Query Operations with WADL
WADL Restrictions
Effective WADL Documents
Creating WADL Documents
How to Create a WADL Resource in the Oracle Service Bus Console
Modifying WADL Documents
How to Edit a WADL Document
How to Delete a WADL Document
Creating REST Services
How to Create REST Services for Service Bus
How to Create or Configure a REST Operation
How to Expose an HTTP Proxy or Business Service as REST
What you May Need to Know About Configuring URI Parameters for REST
Accessing WADL Documents in a Web Browser
Viewing WADL Documents in XML Format
Viewing WADL Documents in a Readable Format
27
Using the DSP Transport
Introduction to the DSP Transport
Enabling Data Services for Service Bus
Using the DSP Transport
Generate the WSDL File in Oracle Data Service Integrator
Step 1. Start Your Server
Step 2. Generate a WSDL File from the Data Service
Step 3: Obtain the Web Service Address
Create the Service Bus Project
Step 4: Import the Data Service WSDL File into Service Bus
Step 5: Create the Business Service
Step 6: Create the Proxy Service
Step 7: Create a Pipeline
Step 8: Test Your Setup
DSP Transport Configuration Reference
DSP Transport Endpoint URIs
Configuring Business Services to Use the DSP Transport
28
Using the EJB Transport
Introduction to the EJB Transport
Prerequisites for Creating Services that Invoke EJBs
Registering a JNDI Provider Resource
Registering an EJB Client or Converter JAR Resource
Adding a Client or Converter JAR File
Create a Service Account (Optional)
Locate an EJB in the JNDI Tree
Invoking EJB Business Services
Exposing EJBs as Web Services
Advanced EJB Transport Topics
EJB Transport Transactions
EJB Transport Retries and Failover
EJB Transport Error Handling
Supported Types and Converter Classes
Custom Converter Classes
Using a Converter Class for an EJB Business Service
Business Exception Classes
Troubleshooting EJB Transports
Temp Directories
Deployed Application
EJB Transport Errors
EJB Transport Configuration Reference
EJB Endpoint URI Format
Configuring Business Services to Use the EJB Transport
29
Using HTTP and Poller Transports
Introduction to Poller Transports
Using the HTTP Transport
HTTP Session Stickiness
Retrieving the HTTP Authorization Header in a Proxy Service
HTTP Transport Configuration Reference
HTTP Transport Endpoint URIs
Configuring Proxy Services to Use the HTTP Transport
Configuring Business Services to Use the HTTP Transport
REST Support
REST in Proxy Services
XQuery Examples
Headers
REST in Business Services
Response Codes and Error Handling for HTTP Business Services
Using the Email Transport
Email Transport Configuration Reference
Email Transport Endpoint URIs
Configuring Proxy Services to Use the Email Transport
Configuring Business Services to Use the Email Transport
Using the File Transport
File Transport Configuration Reference
File Transport Endpoint URIs
Configuring Proxy Services to Use the File Transport
Special Considerations for NFS File Systems
Configuring Business Services to Use the File Transport
Using the FTP Transport
FTP Transport Configuration Reference
FTP Transport Endpoint URIs
Configuring Proxy Services to Use the FTP Transport
Configuring Business Services to Use the FTP Transport
Using the SFTP Transport
SFTP Transport Features
General Principles of SFTP Authentication
SFTP Transport Runtime Behavior
Enabling SFTP Authentication
Creating the Known Hosts File
Enabling User Name and Password Authentication
Enabling Host-Based Authentication
Enabling Public Key Authentication
Handling SFTP Transport Communication Errors
Troubleshooting the SFTP Transport
Importing SFTP Transport Services
Importing Resources Used by the SFTP Transport
Importing and Publishing Services: UDDI Registries
SFTP Transport Configuration Reference
SFTP Transport Endpoint URIs
Configuring Proxy Services to Use the SFTP Transport
Configuring Transport Headers and Metadata
Configuring Transport Headers in the Pipeline
Configuring Transports Headers and Metadata in the Test Console
Configuring Business Services to Use the SFTP Transport
SFTP Transport Environment Values
30
Using the JEJB Transport
Introduction to the JEJB Transport
Differences Between the JEJB Transport and the EJB Transport
JEJB Transport WSDL Generation
JEJB Transport Error Handling
Exception Propagation in the Response
Application and Connection Errors
Connection Errors
Prerequisites for Creating JEJB Services
Creating and Packaging Your Client EJB JAR File
Registering a JNDI Provider Resource (Business Services)
Use Cases
EJB Invoking an External Service
Non-EJB Client Invoking an EJB
EJB Invoking EJB
UDDI Integration
UDDI Publish
UDDI Import
JEJB Transport Configuration Reference
JEJB Transport Endpoint URI
Proxy Service JEJB Endpoint URI
Business Service JEJB Endpoint URI
Configuring Proxy Services to Use the JEJB Transport
Configuring Business Services
JEJB Transport Environment Values
31
Using the JMS Transport
Introduction to the JMS Transport
JMS Content Type for Services
JMS Transport Security
Asynchronous Request-Response Messaging
Sending and Receiving Java Objects in Messages
Required JMS Resources
Platform Interoperability
Interoperability with WebLogic JMS
Interoperability with WebSphere MQ
Interoperability with Tibco EMS
Using SOAP Over JMS Transport
Interoperating with WebLogic Server
Configuring the Response Queues for Cross-Domain JMS Calls
Naming Guidelines for Domains, Servers, and URIs
JMS Server Names
JNDI Names and Service Bus
JMS Client ID in Proxy Services
About the Client ID and Subscriber Name
Recommended Usage
JMS Transport Error Handling
Application Errors
Communication Errors
Pipeline Exceptions with Java Objects
WSDL-Defined SOAP Fault Messages
Adding a Fault in a SOAP Message if the Fault is Constructed from inside a Service Bus Pipeline
Message ID and Correlation ID Patterns for JMS Request/Response
Overview of JMS Request-Response and Design Patterns
Patterns for Messaging
JMS Message ID Pattern
Access to the JMSReplyTo Property
JMS Message ID Pattern in a Cluster
JMS Correlation ID Pattern
Comparison of Message ID and Correlation ID Patterns
Interoperating with JAX-RPC Over JMS
Invoking a JAX-RPC Web Service Using the JMS Message ID Pattern
Invoking a JMS Request-Response Proxy Service from a JAX-RPC Client
JMS Message ID Pattern Examples
MQ Service Using a JMS Message ID to Correlate the Request-Response Message
JAX-RPC Client with a Proxy Service
Service Bus as a Client of a WebLogic Server JAX-RPC Service
JMS Transport Configuration Reference
JMS Transport Endpoint URIs
Configuring Proxy Services to Use the JMS Transport
JMS Transport Headers
Configuring Transport Headers
Configuring Business Services to Use the JMS Transport
32
Using the Local Transport
Introduction to the Local Transport
Features and Characteristics of Local Transport Proxy Services
Using Local Transport Proxy Services
Changes from Previous Usage
Propagating SOAP Faults Between Proxy Services
Using OWSM Security with Local Proxy Services
33
Using the MQ Transport
Introduction to the MQ Transport
MQ Transport Features
MQ Transport Advantages
Messaging Patterns
MQ Connection Resources
Quality of Service
MQ Clusters and the MQ Transport
Limitations of the MQ Transport
Setting Up the Environment for the MQ Transport
How to Add MQ Client Libraries to Your Environment
How to Configure Environment Variables
Working with MQ Connections
How to Create MQ Connections
How to Edit MQ Connections
How to Delete MQ Connections
MQ Transport Error Handling
Using the WebSphere JMS MQ Interface
Using the WebSphere MQ JMS Interface
MQ Messaging Types
Non-Persistent Messaging
Non-XA Persistent Messaging
XA Messaging
Tuning WebSphere MQ
MQ Transport Configuration Reference
MQ Transport Endpoint URIs
Configuring Proxy Services to Use the MQ Transport
Configuring Business Services to Use the MQ Transport
MQ Transport Environment Values
MQ Transport Headers
Configuring Transport Headers
About RFH2 Headers
34
Using the Oracle BPEL Process Manager Transport
Introduction to the BPEL Transport
SOAP Support with the BPEL Transport
Transaction Propagation in the BPEL Transport
SSL Support in the BPEL Transport
BPEL Transport Environment Values
BPEL Transport Simple Use Cases (Synchronous)
Synchronous: Invoking Processes in Oracle BPEL Process Manager
Creating and Configuring the Services
Synchronous: Calling External Services from Oracle BPEL Process Manager
Creating and Configuring the Services
Associating Messages with the Correct Conversation
Advanced Use Cases (Asynchronous)
Asynchronous: Invoking Processes in Oracle BPEL Process Manager
Creating and Configuring the Services
Asynchronous: Calling Service Providers from Oracle BPEL Process Manager
Creating and Configuring the Services
BPEL Transport Security
Using SSL from Oracle Service Bus to Oracle Servers
BPEL Transport Error Handling
Application Errors
Connection Errors
Other Errors
WS-Addressing Reference
ReplyTo
Calling a BPEL Process Asynchronously Through Service Bus
BPEL Processes Calling External Services Through Service Bus
MessageID / RelatesTo
Examples of XML Messaging with the BPEL Transport
Conversation ID Examples
Port and Message Definitions
WS-Addressing that Sets the Conversation ID
Message Payload Data that Sets the Conversation ID
Transformation Examples
Asynchronous BPEL to BPEL Through Service Bus Example
Port and Message Definitions
BP1 to P1 – Initiate operation
P1/B1 to BP2
BP2 to P2 – onResult operation
P2/B2 to BP1 – onResult operation
BPEL Transport Configuration Reference
BPEL Transport Endpoint URI
Configuring Business Services to Use the BPEL Transport
35
Using the SB Transport
Introduction to the SB Transport
SB Transport Features
SB Transport Error Handling
UDDI and the SB Transport
Publishing a Service
Importing a Service
SB Transport Configuration Reference
SB Transport Environment Values
Configuring Proxy Services to Use the SB Transport
Configuring Business Services to Use the SB Transport
JNDI Providers
36
Using the SOA-DIRECT Transport
Introduction to the SOA-DIRECT Transport
SOA-DIRECT Transport Features
Service Binding Types
WS-Addressing for the SOA-DIRECT Transport
SOA-DIRECT Transport Security
SOA-DIRECT Transport Error Handling
Connection Errors
Application Errors
Generic Errors
Using SOA Suite Services with Service Bus
Simple Use Cases – Synchronous
Transactional Boundaries
Synchronous Invocation of a SOA Composite
Synchronous Invocation from a SOA Composite
Associating Messages with the Correct Conversation
Advanced Use Cases – Asynchronous
Asynchronous Invocation of a SOA Composite
Asynchronous Invocation from a SOA Composite
SOA-DIRECT Transport Configuration Reference
SOA-DIRECT Endpoint URIs
Endpoint URI Format in a Cluster
Endpoint URI Examples
Configuring Business Services to Use the SOA-DIRECT Transport
SOA-DIRECT Transport Environment Values
WS-Addressing Reference
ReplyTo Header
Calling a SOA Composite Asynchronously
Calling Back to a SOA Composite Asynchronously
MessageID / RelatesTo Headers
XML Messaging Examples
Conversation ID Examples
Port and Message Definitions
WS-Addressing that Sets the Conversation ID
Message Payload Data that Sets the Conversation ID
Transformation Examples
Asynchronous Composite to Composite Communication Through Service Bus
Port and Message Definitions
BP1 to P1 – Initiate operation
P1/B1 to BP2
BP2 to P2 – onResult operation
P2/B2 to BP1 – onResult operation
37
Using the Tuxedo Transport
Introduction to the Tuxedo Transport
Capabilities of the Tuxedo Transport
Configuring Oracle Tuxedo Connector
Before You Begin
Configuring Oracle Tuxedo Connector
Using Tuxedo Services from Service Bus
Configuring a Tuxedo-Based Business Service
Business Service Endpoint URIs for Tuxedo Transports
Load Balancing and Failover for Tuxedo-Based Business Services
Error Handling for Tuxedo-Based Business Services
Testing Your Configuration
Using Service Bus from Tuxedo
Configuring a Tuxedo-Based Proxy Service
Testing Your Configuration
Tuxedo Transport Buffer Transformation
Buffer Transformation with the Any XML Service Type
Buffer Transformation with the Messaging Service Type
Tuxedo Transport Transaction Processing
Inbound Tuxedo Service Transaction Processing
Outbound Tuxedo Service Transaction Processing
Tuxedo Transport Configuration Reference
Configuring Proxy Services to Use the Tuxedo Transport
Configuring Business Services to Use the Tuxedo Transport
38
Using the WS Transport
Introduction to the WS Transport
Web Services Reliable Messaging
WS Transport Features
Messaging Patterns
WS-Policies in the WS Transport
WS-Policy Configurations
Streaming Content for Large Messages
Web Services Interoperability
Authentication and Authorization of Services
Proxy Service Authentication
Proxy Service Authorization
Business Service Authentication
Using the WS Transport
Importing the WSDL Document into the Oracle Service Bus Console
Configuring WS Policies
Attaching WS Policies to a Service
Configuring an Error Queue
Routing the WS Transport Through an HTTP Proxy Server
WS Transport Error Handling
Importing and Exporting Resources
Importing and Publishing Services Using UDDI Registries
WS Transport Configuration Reference
Endpoint URIs for the WS Transport
Configuring Business Services to Use the WS Transport
Configuring Proxy Services to Use the WS Transport
Part VI Creating Custom Transport Providers
39
Learning About Custom Transport Providers
Introduction to Transport Providers
Introduction to the Transport SDK
Transport SDK Features
Handling Inbound and Outbound Messages
Deploying Transport-Related Artifacts
Processing Messages Asynchronously
Transport Provider Modes
Related Features
Load Balancing
Monitoring and Metrics
Determining Whether to Develop a Custom Transport Provider
When to Use the Transport SDK
When Alternative Approaches are Recommended
Transport Provider Components
Design-Time Component
Runtime Component
The Transaction Model
Overview of Transport Endpoint Properties
Transactional vs. Non-Transactional Endpoints
Supported Message Patterns
Support for Synchronous Transactions
Use Case 1 (Response Pipeline Processing)
Use Case 2 (Service Callout Processing)
Use Case 3 (Suspending Transactions)
Use Case 4 (Multiple URIs)
Transport SDK Security Model
Inbound Request Authentication
Outbound Request Authentication
Outbound User Name and Password Authentication
Outbound SSL Client Authentication (Two-Way SSL)
Outbound JAAS Subject Authentication
Link-Level or Connection-Level Credentials
Uniform Access Control to Proxy Services
Identity Propagation and Credential Mapping
Transport SDK and the Threading Model
Inbound Request Message Thread
Outbound Response Message Thread
Support for Asynchrony
Publish and Service Callout Threading
Designing for Message Content
Sources and Transformers
Sources and the MessageContext Object
Built-In Transformations
40
Developing Custom Transport Providers
Development Road Map
Planning
Developing
Packaging and Deploying
Before You Begin
Basic Development Steps
Step1. Review the Transport Framework Components
Step 2. Create a Directory Structure for Your Transport Project
Step 3. Create an XML Schema File for Transport-Specific Artifacts
Step 4. Define Transport-Specific Artifacts
EndPointConfiguration
RequestMetaDataXML
RequestHeadersXML
ResponseMetaDataXML
ResponseHeadersXML
Step 5. Define the TransportProviderConfiguration XMLBean
Step 6. Implement the Transport Provider User Interface
Step 7. Implement the Runtime Interfaces
Step 8. Package and Deploy the Transport Provider
Important Development Topics
Handling Messages
Sending and Receiving Message Data
Request and Response Metadata Handling
Character Set Encoding
Co-Located Calls
Returning Outbound Responses to the Service Bus Runtime
Transforming Messages
Working with TransportOptions
Inbound Processing
Outbound Processing
Request Mode
Handling Errors
Case 1: The Exception Occurs Before the Outbound Call
Case 2: The Exception Occurs During the Outbound Call
Case 3: The Exception Occurs After the Outbound Call
Catching Application Errors
Identifying Application Errors
Configuring Application Error Retries
Catching Connection Errors
Identifying Connection Errors
Defining Custom Environment Value Types
Publishing Proxy Services to a UDDI Registry
When to Implement TransportWLSArtifactDeployer
Creating Help for Custom Transports
About Custom Transport Online Help
How to Provide Custom Transport Help in the Console
Implement the CustomHelpProvider Interface
Create an HTML File to Launch
Create a Simple Web Application to Display Expanded Help (Optional)
META-INF/application.xml
WEB-INF/web.xml
Help Content and Resources
How to Provide Custom Transport Help in JDeveloper
Packaging Help for the Transport Plug-in
41
Developing Custom Transport Providers for JDeveloper
Introduction
Services Runtime and Services Configuration
Offline Methods
Restrictions when Working Offline
Working Offline with a Remote Server
Bootstrapping Transports in Offline Mode
Packaging Transports for JDeveloper
Custom Transport Provider Reference for Offline Tools
Working in Different Modes
TransportProviderFactory
TransportManagerHelper Methods
42
Packaging and Deploying a Custom Transport Provider
Packaging and Deployment Overview
Custom Transport Provider Components
Custom Transport Provider Resources
Packaging the Transport Provider
Transport JAR File Packaging
Transport EAR File Packaging
Transport Plug-in Registration for JDeveloper
Transport Plug-in Installation
Deploying the Transport Provider
Transport Registration
Undeploying a Transport Provider
Deploying to a Cluster
43
Creating a Sample Socket Transport Provider
Sample Socket Transport Provider Design
Concepts Illustrated by the Sample
Basic Architecture of the Sample
Configuration Properties
Sample Location and Directory Structure
Building and Deploying the Sample
How to Set Up the Environment
How to Build the Sample Transport Provider
How to Deploy the Sample Transport Provider
Registering the Sample Transport Provider With JDeveloper
Creating a Socket Transport Sample Project
Creating the Project
Creating the Business Service
Creating the Proxy Service
Creating the Pipeline
Connecting the Proxy Service and Pipeline
Testing the Socket Transport Provider
Using the Sample Server and Client for Testing
Starting the Sample External Service
Starting the Sample Initiating Service
Using the Test Console
Part VII Sharing Artifacts and Services
44
Importing and Exporting Resources and Configurations
About Importing and Exporting Resources
About Exporting Resources
Data Encryption During Export
About Importing Resources
Improving Import Performance
Importing Service Accounts or Service Key Providers
Preserving Operational Settings During Import
Preserving Security Configuration During Import
Preserve Security and Policy Configuration
Preserve Credentials
Preserve Access Control
Customizing Environment Values After an Import
Importing and Exporting Resources in JDeveloper
How to Export Resources to a Configuration JAR File in Oracle JDeveloper
How to Export Resources to a Server in Oracle JDeveloper
How to Import Resources in JDeveloper
Importing and Exporting Resources in the Oracle Service Bus Console
How to Export Resources to a Configuration JAR File in the Console
How to Import Resources from a Configuration JAR File in the Console
How to Import Resources from a ZIP File in the Console
How to Import Resources from a URL in the Console
Exporting a Service Bus Configuration Offline
About the Export Process
Preparing to Export a Service Bus Configuration
Before You Begin
Creating the Export Settings File
Configuring the Environment
Exporting a Service Bus Configuration Offline
Exporting a Configuration Offline Using a Command Line
Exporting a Configuration Offline Using Ant
Exporting a Configuration Offline Using WLST
Export Settings File Format, Samples, and Schema
Export Settings File Format
Validation
Inclusion and Exclusion Rules
Export Settings File Samples
Export Settings File Schema Definition
45
Sharing Data Using the Metadata Services Repository
Service Bus and the MDS Repository
Managing the MDS Repository
Sharing Artifacts Using the MDS Repository
How to Publish Service Bus Artifacts to the MDS Repository
Consuming Artifacts Stored in the MDS Repository
How to Consume MDS Repository Artifacts Using the Resource Browser
How to Add MDS Repository Artifacts to a Service Bus Project
How to Create a Business Service from a WSDL File in the MDS Repository
How to Create a Business Service from a WADL File in the MDS Repository
How to Expose a WSDL File in the MDS Repository as a REST Service
Opening the Project Overview File Through a SOA-MDS Connection
46
Working with UDDI Registries
UDDI, UDDI Registries, and Web Services
Basic Concepts of the UDDI Specification
Benefits of Using a UDDI Registry with Service Bus
Introduction to UDDI Entities
Service Bus and UDDI
UDDI Registry URLs
UDDI Registry Security Configuration
Authentication Configuration and UDDI Registries
About Publishing Proxy Services to a UDDI Registry
About Importing Services from a UDDI Registry
About Business Entities and Patterns
Keeping Services Synchronized
Automatic Publishing for Proxy Services
Changes to the Default Registry
Auto-Publish Synchronization Process
Automatic Importing of UDDI Services
Synchronization of Imported Services
Unlinking Imported Services
Related References
Working with UDDI Registry Resources
How to View UDDI Registry Resources in the Oracle Service Bus Console
How to Create UDDI Registry Resources
How to Create a UDDI Registry Resource from a JDeveloper UDDI Connection
How to Edit a UDDI Registry Resource
How to Specify a Default UDDI Registry Resource
How to Delete a UDDI Registry Resource
Sharing UDDI Registry Services in JDeveloper
How to Create a UDDI Registry Connection in JDeveloper
How to Create a Business Service from a UDDI Registry Service
How to Download a Service From a UDDI Registry
Sharing UDDI Registry Services in the Oracle Service Bus Console
Publishing Proxy Services to a UDDI Registry
How to Automatically Publish Proxy Services to a UDDI Registry
How to Manually Publish a Proxy Service to a UDDI Registry
How to Import Resources from a UDDI Registry
How to Automatically Synchronize Imported Services
How to Manually Synchronize an Imported Service
How to Unlink an Imported Service From the UDDI Registry
Sample Business Scenarios for Service Bus and UDDI
Basic Proxy Service Communication with a UDDI Registry
Cross-Domain Deployment in Service Bus
Mapping Service Bus Proxy Services to UDDI Entities
UDDI Mapping Details for a Service Bus Proxy Service
Transport Attributes
Service Type Attributes
Canonical tModels Supporting Service Bus Services
Mapping Example
Part VIII Security
47
Understanding Oracle Service Bus Security
Inbound Security
Outbound Security
Options for Identity Propagation
Using a Service Account with Business Service when Attaching OWSM Policies
Example: Authentication with a User Name Token
Administrative Security
Access Control Policies
Configuring Proxy Service Access Control
Access Control Policy Management
Deleting a Proxy Service
Deleting the Access Control Policy Assigned to a Proxy Service
Moving or Renaming a Proxy Service
Renaming a Proxy Service Operation
Configuring the Oracle WebLogic Security Framework: Main Steps
Context Properties Are Passed to Security Providers
Context Properties for HTTP Transport-Level Authentication
ContextHandler Properties for Access Control and Custom Authentication
Additional Transport-Specific Context Properties
Administrator-Supplied Context Properties for Message-Level Authentication
Security Provider Must Have Knowledge of the Property Name
WebLogic Server Administrative Channel is Supported
Using the Administrative Channel: Main Steps
Using Security Providers
Configuring Authentication Providers
Using a Custom Authorization Provider to Protect Service Bus Resources
WebLogic Authorization Provider Usage Information
ALSBProxyServiceResource Object
ALSBProxyServiceResource Examples
ProjectResourceV2 Object
ConsoleResource Object
About Errors When Using Security Provider Policies
48
Oracle Service Bus Security FAQ
How are Service Bus and WebLogic Server Security related?
What is Transport-Level Security?
What is Web Services Security?
What is Web Service Policy?
What are Web Service Policy assertions?
Are Access Control Policy and Web Service Policy the same?
What is Web Services Security Pass-Through?
What is a Web Services Security Active Intermediary?
What is outbound Web Services Security?
What is SAML?
Is it possible to customize the format of the subject identity in a SAML assertion?
What is the Certificate Lookup And Validation Framework?
Does Service Bus support identity propagation in a proxy service?
Is single sign-on supported in Service Bus?
Are security errors monitored?
Can I configure security for MBeans?
49
Securing Business and Proxy Services
Introduction to Policies
Security and Security Policies for Business and Proxy Services
Security Policies in Service Bus
Policy Overrides
Security Settings
Global Policies
Service Accounts in Business Services
Security-Related Validation for Active Proxy Services
Attaching and Configuring Policies in JDeveloper
How to Attach Oracle Web Services Manager Policies in JDeveloper
How to Define Override Values for a Policy in JDeveloper
How to Configure Custom Authentication for Proxy Services in JDeveloper
Configuring Proxy Service Custom Authentication in JDeveloper
How to Specify a Service Key Provider for a Proxy Service in JDeveloper
How to Specify Web Services Policy Enforcement in JDeveloper
Attaching and Configuring Policies in the Oracle Service Bus Console
How to Attach Oracle Web Services Manager Policies in the Console
How to Define Override Values for a Policy in the Console
How to Configure Custom Authentication for a Proxy Service in the Console
Configuring Proxy Server Custom Authentication in the Console
How to Specify a Service Key Provider for a Proxy Service in the Console
How to Specify Web Services Policy Enforcement in the Console
Configuring Service Bus Client Access Security
How To Configure Transport-Level Access Policies
Enabling HTTP URL Links to Open the Policy Editor
Configuring Transport-Level Access Policies
How to Configure Message-Level Access Policies
How to Add Policy Conditions
Hiding Personally Identifiable Information in Messages
How to Hide Personally Identifiable Information
Hiding Personally Identifiable Information Using JDeveloper
Hiding Personally Identifiable Information Using the Console
50
Configuring Message-Level Security for Web Services
About Message-Level Security
Sample Sequence of Actions in Message-Level Security
Message-Level Access Control Policies for Proxy Services
Configuring Proxy Service Message-Level Security
Creating an Active Intermediary Proxy Service: Main Steps
Creating a Pass-Through Proxy Service: Main Steps
Configuring Business Service Message-Level Security: Main Steps
Using the Service Identity Certificate Extensions
Publishing Certificate Identity Extension in a Proxy Service Effective WSDL
Consuming Certificate Identity Extension in a Business Service
Examples of Custom WS-Policy Statements
Example: Encrypting Part of the SOAP Body and Header
Example: Encryption Policy for a Business Service
Example: Encrypting a Custom SOAP Header
Example: Signing the Message Body and Headers
Example: Signing a SOAP Body with SAML Holder-of-Key
Example: Authenticating, Signing, and Encrypting with SAML Sender Vouches
Disabling Outbound WS-Security
51
Configuring Transport-Level Security
Configuring Transport-Level Security for HTTPS
HTTPS Authentication Levels
Configuring Inbound HTTPS Security: Main Steps
Configuring Outbound HTTPS Security: Main Steps
Configuring Transport-Level Security for HTTP
Configuring Inbound HTTP Security: Main Steps
Configuring Outbound HTTP Security: Main Steps
Using Custom Authentication for Outbound HTTP Security
Configuring Transport-Level Security for JMS
Configuring Inbound JMS Transport-Level Security: Main Steps
Configuring Outbound JMS Transport-Level Security: Main Steps
Configuring Transport-Level Security for SFTP Transport
How Two-Way Authentication is Performed
Use of the known_hosts File
SFTP Transport Authentication Process
Inbound One-Way Download to the Proxy Service
Outbound One-Way Upload from the Business Service
Configuring Inbound SFTP Transport-Level Security: Main Steps
Configuring Outbound SFTP Transport-Level Security: Main Steps
SFTP Security Attributes Preserved During Import
SFTP Credential Life Cycle
Email, FTP, and File Transport-Level Security
Email and FTP Transport-Level Security
File Transport Security
Configuring Transport-Level Security for SB Transport
Configuring SAML Authentication With Service Bus (SB) Transport
Configuring Transport-Level Security for WS Transport
Reliable Web Services Messaging Defined
WS Transport Resources Visible in WLS Console
Use of WS-Policy Files for Web Service Reliable Messaging Configuration
Preconfigured WS-RM Policy Files
RM WS-Policy Required Prior to Activation
Async Responses
Proxy Service Authentication
Preserving Security Configuration on Import
Configuring Inbound and Outbound WS Transport-Level Security
Configuring Transport-Level Security for WebSphere Message Queue Transport
Configuring Inbound MQ Transport-Level Security: Main Steps
Configuring Outbound MQ Transport-Level Security: Main Steps
Transport-Level Security Elements in the Message Context
52
Securing Oracle Service Bus with Oracle Web Services Manager
About Oracle Web Services Manager Integration with Oracle Service Bus
Security Providers
JPS Providers
CSS Providers
Using Oracle Web Services Manager with Oracle Service Bus
Attaching Oracle Web Services Manager Policies to Oracle Service Bus Services
Policy Overrides
Configuring SAML
Advertising WSDL Files to Support WS Standards
WSDL Query Parameter Reference for WS Policies
Deployment Considerations
Auditing
Monitoring Statistics
Predefined Policies and Unsupported Assertions
Predefined Policies
wss_http_token_*_policy Guidelines
OWSM Authentication Policy Guidelines
OWSM Policies and SOAP with Attachments (SwA)
OWSM Policies and MTOM-Formatted Messages
Unsupported Assertions
Custom Assertions
53
Securing Oracle Service Bus Proxy and Business Services with WS-Policy
About Web Services Policy
Relationship Between WS-Security and WS-Policy
Abstract and Concrete WS-Policy Statements
Oracle-Proprietary Security Policy Best Practices
Policy Subjects and Effective Policy
54
Using SAML with Oracle Service Bus
Mapping Identity to a SAML Token
Configuring SAML Pass-Through Identity Propagation
Authenticating SAML Tokens in Proxy Service Requests
Configuring SAML Authentication with Service Bus (SB) Transport
Using SAML Identity Switching
Protecting the Identity-Switching Resource
Troubleshooting SAML with Oracle Service Bus
55
Configuring Custom Authentication
Introduction to Custom Authentication in Oracle Service Bus
Understanding Custom Authentication Tokens
Custom Authentication Token Use and Deployment
Understanding Transport-Level Custom Authentication
Import/Export and Transport-Level Custom Token Authentication
Understanding Message-Level Custom Authentication
Propagating the Identity Obtained From Custom Authentication Tokens
Combining WS-Security with Custom User Name/Password and Tokens
Format of XPath Expressions
Configuring Identity Assertion Providers for Custom Tokens
Object Type of Custom Tokens
Configuring a Custom Token Type in an Identity Assertion Provider
How to Configure a Custom Token Type in an Identity Assertion Provider
Setting the Supported and Active Types in the MBean
Configuring Custom Authentication Transport-Level Security
How to Create a Custom Authentication Class for Outbound
How to Configure Transport-Level Custom Authentication
Configuring Message-Level Custom Authentication
How to Configure Message-Level Custom Authentication for Proxy Services
56
Defining Message-Level Security with .Net 2.0
Message-Level Security Between .NET 2.0 and Oracle Service Bus
What is .NET?
Message-Level Security Configuration in .NET
Oracle Service Bus Configuration for Message-Level Security with .NET
Sample WSDL File
Part IX Completing Oracle Service Bus Services
57
Debugging Oracle Service Bus Applications
Introduction to the Debugger
Debug Servers
Local and Remote Debugging
Debugging With Breakpoints
JDeveloper Debugging Windows
Configuring the Project and Debugger
How to Create Run Configuration for Remote Debugging
How to Choose a Run Configuration for Debugging
Accessing the Debugger
Debugging a Service Bus Application
How to Set Breakpoints on Service Bus Components
How to Debug Using Breakpoints
How to Step Through a Debugging Session
How to End or Detach from Debugging
Working with the Debugger Windows
How to Edit Breakpoint Options
How to Create a Breakpoint Group
Creating a Breakpoint Group
Adding a Breakpoint to an Existing Group
How to Remove or Disable Breakpoints
How to Enable a Disabled Breakpoint
How to View and Modify Variable Values at the Current Breakpoint
How to Add a Watch
58
Using the Test Console
Introduction to the Test Console
Proxy Service Testing
Pipeline Testing
Execution Tracing in Pipelines Using the Test Console
Business Service Testing
Recommended Approaches to Testing Services
HTTP Requests
Accessing the Test Console
Prerequisites
How to Access the Test Console from the Oracle Service Bus Console
Accessing the Test Console from a Component's Definition Editor
Accessing the Test Console from the Project or Folder Definition Editor
How to Access the Test Console from Fusion Middleware Control
How to Access the Test Console from JDeveloper
Accessing the Test Console from JDeveloper
Accessing the Test Console for a Transformation from JDeveloper
Testing Proxy Services, Business Services, Pipelines, and Split-Joins
How to Test Service Bus Services
How to Test Attachments in Services
How To Trace Pipeline Processing
How to View Service Test Results
Testing MFL Transformations
How to Test MFL Transformations in the Test Console
MFL Test Console Example
Testing XSLT Transformations (Resources)
How to Test XSLT Transformations Using the Test Console
How to Test XSLT Transformations Using the JDeveloper XSLT Mapper
Testing XQuery Transformations (Resources)
XQuery Transformation Testing Prerequisites and Guidelines
How to Test XQuery Transformations in the Test Console
Testing Inline Expressions
How to Test XQuery Expressions
How to Test XPath Expressions
Testing Services With OWSM Security
Limitations for Services and Policies
About Security and Transports
Undeploying the Test Console
Untargeting the Test Console Before Domain Creation
Untargeting the Test Console when the Server is Running
Untargeting the Test Console when the Server is Not Running
Test Console Page Reference for Services
Test Configuration Test Console Properties
Service Operation Test Console Properties
Request Document Test Console Properties
Security Test Console Properties
Authentication Test Console Properties
Transport Test Console Properties
Test Console Transport Settings
How the Runtime Uses the Transport Settings in the Test Console
Attachment Test Console Properties
59
Deploying Oracle Service Bus Services
Deployment Overview
Before You Deploy
Creating a Service Bus Domain Using the Configuration Wizard
Resolving Conflicts
Configuring JMS Resources
Configuring Security
Deploying from the Oracle Service Bus Console
How to Deploy from the Console
Deploying from JDeveloper
How to Create a Connection to the WebLogic Server
How to Create a Deployment Profile
How to Deploy a Service Bus Project or Application
How to Deploy a Project or Application Using the Previous Configuration
What Happens When You Deploy Using JDeveloper
Deploying a Service Bus Configuration JAR File in Fusion Middleware Control
Updating an Online Configuration
What You Need to Know for Successful Online Configuration Updates
Changing an Online Business Service
Changing an Online Proxy Service
Changing an Online Pipeline
Updating an Online Configuration in a Cluster
Changing a Business Service in a Cluster
Installing a New Version of a Proxy Service in a Cluster
60
Using the Oracle Service Bus Development Maven Plug-In
Introduction to the Oracle Service Bus Maven Plug-In
Maven Lifecycle Phases and Goals
POM Files and Archetypes
Installing and Configuring Maven
How to Configure the Oracle Service Bus Development Maven Plug-In
How to Use Maven Online Help
Using the Oracle Service Bus Development Maven Plug-In
How to Generate a Service Bus Project POM File
How to Generate a Service Bus Project POM File from an Archetype
Creating a Service Bus Project POM File from an Archetype in JDeveloepr
Generating a Service Bus Project POM File from an Archetype Using a Command Line
How to Generate a Service Bus System Resources POM File from an Archetype
Generating a Service Bus System Resources POM File from an Archetype in JDeveloper
Generating a Service Bus System Resources POM File from a Command Line
Parameters for Generating a POM File
Service Bus Development Maven Plug-In Goals
package
deploy
Oracle Service Bus Development Maven Plug-In POM File Samples
Appendixes
A
Message Context
The Message Context Model
Predefined Context Variables
Message-Related Variables
Header Variable
Body Variable
Attachments Variable
Message Types and Context Variables
Binary Content in the Body and Attachments Variables
Sending SOAP with Attachments to Business Processes
Java Content in the Body Variable
Streaming Body Content
Best Practices for Using Content Streaming
Streaming Attachments
Inbound Message Handling
Outbound Response Message Handling
XOP/MTOM Support
XOP/MTOM in Pipelines
Binary by Reference Option
Binary by Value Option
XOP/MTOM in Business Services
XOP/MTOM in Outbound Messages
XOP/MTOM Attachments Streaming
Custom MIME Headers
Inbound and Outbound Variables
Sub-Elements of the Inbound and Outbound Variables
service
transport
security
Related Topics
Operation Variable
Fault Variable
Error Codes
Error Details
XML Parsing Errors (PayloadDetail)
messageID Variable
Initializing Context Variables
Initializing the Attachments Context Variable
Initializing the Header and Body Context Variables
SOAP Services
XML Services (Non SOAP)
Messaging Services
Performing Operations on Context Variables
$body
$header
Related Topics
Constructing Messages to Dispatch
SOAP Services
XML Services (Non SOAP)
Messaging Services
About Sending Binary Content in Email Messages
Related Topics
Message Context Schema
Errors Schema
B
XPath Extension Functions
Cross-Reference Functions
lookupPopulatedColumns
lookupXRef
lookupXRef1M
markForDelete
populateLookupXRefRow
populateXRefRow
populateXRefRow1M
Domain Value Map Functions
lookup
lookupValue
lookupValue1M
Creating Custom XPath Functions
Registering Custom Functions with Service Bus
Creating and Packaging the Custom Function Java Classes
Creating the Class and Method
Using Single-Dimensional Arrays
Packaging the Custom Function Class
Using Custom Functions
Custom Functions In Inline XQuery Expressions and XQuery Resources
Custom Functions In XSLT Resources
Deploying Custom Functions in a Cluster
C
Oracle Service Bus APIs
Resource Update and Customization
Management and Monitoring
Deployment
D
Transport SDK Interfaces and Classes
Introduction
Schema-Generated Interfaces
General Classes and Interfaces
Summary of General Classes
Summary of General Interfaces
Source and Transformer Classes and Interfaces
Summary of Source and Transformer Interfaces
Summary of Source and Transformer Classes
Metadata and Header Representation for Request and Response Messages
Runtime Representation of Message Contents
Interfaces
User Interface Configuration
Summary of UI Interfaces
Summary of UI Classes
E
Transport SDK UML Sequence Diagrams
Service Bus Runtime Inbound Messages
Service Bus Runtime Outbound Messages
Design Time Service Registration
F
XQuery-SQL Mapping Reference
IBM DB2/NT 8
Microsoft SQL Server
Oracle8i, 8.1.x
Oracle 9i and Later
Sybase 12.5.2 (and higher)
Base (Generic) RDBMS Data Type Mapping
G
Work Managers and Threading
Key Threading Concepts
Pipeline Actions
Route Action
Publish Action
Service Callout Action
Work Managers
Work Manager Configuration
Work Manager Priority
Designating Work Managers
Scripting on this page enhances content navigation, but does not change the content in any way.