oracle® fusion middleware · oracle® fusion middleware developer’s guide for oracle service bus...

862
Oracle® Fusion Middleware Developer’s Guide for Oracle Service Bus 11g Release 1 (11.1.1.6.3) E15866-08 August 2012 Documentation for developers that describes how to use the Oracle Service Bus (OSB) development environment (IDE) to create and configure proxy and business services, Split-Joins, create message flows, perform message transformation with XQuery, XSLT, and MFL, configure transports, work with JCA adapters, create custom transports, configure security using WS-Security, use the OSB API, and create global JNDI resources.

Upload: trantruc

Post on 28-Aug-2018

310 views

Category:

Documents


0 download

TRANSCRIPT

  • Oracle Fusion MiddlewareDevelopers Guide for Oracle Service Bus

    11g Release 1 (11.1.1.6.3)

    E15866-08

    August 2012

    Documentation for developers that describes how to use the Oracle Service Bus (OSB) development environment (IDE) to create and configure proxy and business services, Split-Joins, create message flows, perform message transformation with XQuery, XSLT, and MFL, configure transports, work with JCA adapters, create custom transports, configure security using WS-Security, use the OSB API, and create global JNDI resources.

  • Oracle Fusion Middleware Developer's Guide for Oracle Service Bus, 11g Release 1 (11.1.1.6.3)

    E15866-08

    Copyright 2008, 2012, Oracle and/or its affiliates. All rights reserved.

    Primary Author: Carol Thom

    Contributing Author: Floyd Jones

    Contributor:

    This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

    The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

    If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

    U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

    This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

    Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

    Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

    This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

  • iii

    Contents

    Preface .............................................................................................................................................................. xliii

    Documentation Accessibility .................................................................................................................. xliiiConventions .............................................................................................................................................. xliii

    What's New in This Guide for Release 11.1.1.6.x .................................................................... xlv

    Part I IDE Help for Oracle Service Bus

    1 Introduction to Oracle Service Bus

    2 Tasks

    Working with Projects, Folders, Resources, and Configurations ................................................... 2-1Resource Naming Restrictions ......................................................................................................... 2-2Editing Resources............................................................................................................................... 2-2Cloning Oracle Service Bus Projects and Folders.......................................................................... 2-2Creating Oracle Service Bus Configuration Projects..................................................................... 2-3Creating Oracle Service Bus Projects............................................................................................... 2-3Creating Servers ................................................................................................................................. 2-3Creating Custom Resources.............................................................................................................. 2-4Creating and Editing JNDI Provider Resources ............................................................................ 2-4Creating Proxy Server Resources..................................................................................................... 2-5Creating Message Format Files ........................................................................................................ 2-5Exporting Resources .......................................................................................................................... 2-5

    Using the Export Wizard ........................................................................................................... 2-6Using the Command Line or a Script to Export an Oracle Service Bus Configuration.... 2-6

    Before You Begin.................................................................................................................. 2-6Exporting a Configuration Using the Command Line................................................... 2-6Exporting a Configuration Using Ant .............................................................................. 2-8Exporting a Configuration Using WLST .......................................................................... 2-9

    Generating an Effective WSDL ........................................................................................................ 2-9Modifying JAR Dependencies.......................................................................................................... 2-9Importing Resources.......................................................................................................................... 2-9

    Using the Import Wizard........................................................................................................ 2-10Using the Command Line or a Script to Import an Oracle Service Bus Configuration. 2-10

    Creating Service Account Resources............................................................................................ 2-10

  • iv

    Creating Service Key Provider Resources ................................................................................... 2-10Creating SMTP Server Resources ................................................................................................. 2-11Creating XQuery Transformations ............................................................................................... 2-11Creating XSL Transformations...................................................................................................... 2-11

    Working with Business Services ........................................................................................................ 2-11Creating Business Services............................................................................................................. 2-12

    Generating a Business Service from an Existing Service.................................................... 2-12Generating a JCA Business Service from an Outbound JCA File ............................................ 2-12Generating a Business Service from Oracle Enterprise Repository......................................... 2-13

    Re-generating an Existing Business Service from Oracle Enterprise Repository........... 2-13Editing Business Services............................................................................................................... 2-13

    Working with Proxy Services .............................................................................................................. 2-13Creating Proxy Services ................................................................................................................. 2-13

    Generating a Proxy Service from an Existing Service ........................................................ 2-14Generating a JCA Proxy Service from an Inbound JCA File .................................................... 2-14Consuming Oracle Service Bus Proxy Services in Oracle JDeveloper with WSIL ................ 2-15Editing Proxy Services.................................................................................................................... 2-16

    Working with Proxy Service Message Flows ................................................................................... 2-16Constructing Proxy Service Message Flows................................................................................ 2-17Adding and Configuring Alert Actions in Message Flows ...................................................... 2-18Adding and Configuring Assign Actions in Message Flows ................................................... 2-18Adding and Configuring Conditional Branch Nodes in Message Flows ............................... 2-19Adding and Configuring Delete Actions in Message Flows .................................................... 2-19Adding and Configuring Dynamic Publish Actions in Message Flows ................................. 2-20Adding and Configuring Dynamic Routing Actions in Message Flows ................................ 2-20Adding and Configuring Error Handlers in Message Flows ................................................... 2-20Adding and Configuring For-Each Actions in Message Flows................................................ 2-21Adding and Configuring If-Then Actions in Message Flows .................................................. 2-21Adding and Configuring Insert Actions in Message Flows ..................................................... 2-22Adding and Configuring Java Callout Actions in Message Flows.......................................... 2-22Adding and Configuring Log Actions in Message Flows......................................................... 2-23Adding and Configuring MFL Transform Actions in Message Flows ................................... 2-23Adding and Configuring Operational Branch Nodes in Message Flows............................... 2-23Adding and Configuring Pipeline Pair Nodes in Message Flows........................................... 2-24Adding and Configuring Publish Actions in Message Flows .................................................. 2-24Adding and Configuring Publish Table Actions in Message Flows ....................................... 2-25Adding and Configuring Raise Error Actions in Message Flows............................................ 2-26Adding and Configuring Rename Actions in Message Flows ................................................. 2-26Adding and Configuring Replace Actions in Message Flows.................................................. 2-27Adding and Configuring Reply Actions in Message Flows ..................................................... 2-27Adding and Configuring Report Actions in Message Flows ................................................... 2-27Adding and Configuring Resume Actions in Message Flows ................................................. 2-28Adding and Configuring Route Nodes in Message Flows ....................................................... 2-28Adding and Configuring Routing Actions in Message Flows ................................................. 2-28Adding and Configuring Routing Options Actions in Message Flows .................................. 2-29Adding and Configuring Routing Table Actions in Message Flows ...................................... 2-29Adding and Configuring Service Callout Actions in Message Flows..................................... 2-30

  • v

    Adding and Configuring Skip Actions in Message Flows........................................................ 2-30Adding and Configuring Stages in Message Flows................................................................... 2-31Adding and Configuring Transport Headers Actions in Message Flows .............................. 2-31Adding and Configuring Validate Actions in Message Flows................................................. 2-31

    Working with Alert Destinations ....................................................................................................... 2-32Creating and Editing Alert Destinations ..................................................................................... 2-32Adding E-mail Recipients to Alert Destinations ........................................................................ 2-32Adding JMS Destinations to Alert Destinations......................................................................... 2-32

    Working with MQ Connections ......................................................................................................... 2-33Adding and Editing MQ Connections ......................................................................................... 2-33

    Working with Oracle Enterprise Repository and Harvester ......................................................... 2-34Generating Business Services from Oracle Enterprise Repository .......................................... 2-34Using Harvester............................................................................................................................... 2-35

    Using Harvester from Eclipse ................................................................................................ 2-36Using Harvester from the Command Line or a Script ....................................................... 2-37

    Performing Queries in Oracle Enterprise Repository from Eclipse......................................... 2-38Working with UDDI Registries .......................................................................................................... 2-38

    Adding and Configuring UDDI Registries ................................................................................. 2-39Importing Business Services From a UDDI Registry................................................................. 2-39

    Working with Split-Join....................................................................................................................... 2-39Introduction to Split-Join ............................................................................................................... 2-40

    Using Split-Join with Content in SOAP Headers ................................................................ 2-40Transaction Support ................................................................................................................ 2-41Security with Split-Joins.......................................................................................................... 2-41

    Designing a Split-Join ..................................................................................................................... 2-41Initial Setup............................................................................................................................... 2-42

    Creating/Importing a WSDL Containing the Base Operation .................................. 2-42Creating/Importing a Business Service to Use the Split-Join .................................... 2-42

    Designing a Static Split-Join .......................................................................................................... 2-421. Creating a New Split-Join ................................................................................................... 2-422. Adding an Assign ................................................................................................................ 2-433. Adding a Parallel Node ...................................................................................................... 2-434. Adding an Assign for Each Branch ................................................................................... 2-445. Adding an Invoke Service .................................................................................................. 2-446. Adding an Assign for Each Branch ................................................................................... 2-447. Exporting and Testing the Split-Join................................................................................. 2-44

    Designing a Dynamic Split-Join .................................................................................................... 2-451. Creating a New Split-Join ................................................................................................... 2-462. Adding an Assign ................................................................................................................ 2-473. Adding a For Each ............................................................................................................... 2-474. Adding an Assign ................................................................................................................ 2-475. Adding an Invoke Service .................................................................................................. 2-476. Adding an Assign ................................................................................................................ 2-487. Adding an Error Handler ................................................................................................... 2-488. Exporting and Testing the Split-Join................................................................................. 2-48

    Creating a New Split-Join .............................................................................................................. 2-49Configuring the Start Node ........................................................................................................... 2-50

  • vi

    Adding General Information.................................................................................................. 2-51Defining Global Variables....................................................................................................... 2-51Viewing External Services ...................................................................................................... 2-52

    Configuring a Receive .................................................................................................................... 2-52Viewing the Operation............................................................................................................ 2-52Defining the Receive Variable................................................................................................ 2-52Adding General Information.................................................................................................. 2-53

    Creating an Assign.......................................................................................................................... 2-53Adding and Configuring Assign Operations ...................................................................... 2-53

    Adding an Operation to an Assign ................................................................................ 2-54Adding a Copy Operation............................................................................................... 2-54

    Adding General Information.................................................................................................. 2-55Invoking a Service ........................................................................................................................... 2-55

    Selecting an Operation ............................................................................................................ 2-55Defining Input and Output Variables................................................................................... 2-55Adding General Information.................................................................................................. 2-56

    Creating a Parallel ........................................................................................................................... 2-56Adding Nodes .......................................................................................................................... 2-56Adding General Information.................................................................................................. 2-57

    Creating a For Each......................................................................................................................... 2-57Defining the For Each Logic ................................................................................................... 2-57Adding General Information.................................................................................................. 2-58

    Creating an If Activity .................................................................................................................... 2-58Configuring the If ................................................................................................................... 2-58

    Writing the logic of the condition................................................................................... 2-59Adding resulting nodes ................................................................................................... 2-59Adding General Information .......................................................................................... 2-59

    Adding and Configuring Else If ........................................................................................... 2-59Writing the Logic of the Condition ................................................................................ 2-59Adding Resulting Nodes ................................................................................................. 2-60Adding General Information .......................................................................................... 2-60

    Configuring the Else ................................................................................................................ 2-60Adding Resulting Nodes ................................................................................................. 2-60

    Adding General Information.................................................................................................. 2-60Creating an Error Handler............................................................................................................. 2-60Creating a Raise Error..................................................................................................................... 2-61Configuring a Reply........................................................................................................................ 2-61

    Viewing the Operation............................................................................................................ 2-62Defining the Reply Variable ................................................................................................... 2-62Adding General Information.................................................................................................. 2-63

    About Scope ..................................................................................................................................... 2-63Scope and Variables................................................................................................................. 2-63

    Exporting and Testing a Split-Join................................................................................................ 2-64Creating a Transport Typed Business Service ..................................................................... 2-64Exporting the Split-Join Files.................................................................................................. 2-64

    Exporting from the Business Service Menu.................................................................. 2-65Auto-export ....................................................................................................................... 2-65

  • vii

    Manual export ................................................................................................................... 2-65Testing the Split-Join in the Test Console............................................................................. 2-66

    Exporting from the Business Service Menu.................................................................. 2-66Using the Oracle Service Bus Debugger........................................................................................... 2-66

    Enabling Debugging ....................................................................................................................... 2-67Using Standard Debugging ........................................................................................................... 2-67

    Debug Views............................................................................................................................. 2-68Step Actions and Breakpoints ................................................................................................ 2-69

    Using the Oracle Service Bus Debugger Launch Configuration.............................................. 2-69Remote Debugging .................................................................................................................. 2-70Debugging Oracle Service Bus Running Stand-Alone on a Managed Server................. 2-70Server Sharing .......................................................................................................................... 2-70

    3 Transport Configuration

    Protocol-Specific Transport Configuration Pages.............................................................................. 3-1BPEL-10g Transport Configuration Page (Business Services)..................................................... 3-2DSP Transport Configuration Page (Business Services)............................................................... 3-3EJB Transport Configuration Page (Business Services) ................................................................ 3-4E-Mail Transport Configuration Page (Business Services) .......................................................... 3-5E-Mail Transport Configuration Page (Proxy Services) ............................................................... 3-6File Transport Configuration Page (Business Services)................................................................ 3-7File Transport Configuration Page (Proxy Services)..................................................................... 3-7FTP Transport Configuration Page (Business Services) ............................................................... 3-8FTP Transport Configuration Page (Proxy Services) .................................................................... 3-9HTTP Transport Configuration Page (Business Services) ........................................................ 3-10HTTP Transport Configuration Page (Proxy Services) ............................................................. 3-13JCA Transport Configuration Page (Proxy and Business Services)......................................... 3-15JEJB Transport Configuration Page (Business Services)............................................................ 3-17JEJB Transport Configuration Page (Proxy Services) ................................................................ 3-19JMS Transport Configuration Page (Business Services) ............................................................ 3-20JMS Transport Configuration Page (Proxy Services)................................................................. 3-24MQ Transport Configuration Page (Business Services) ............................................................ 3-28MQ Transport Configuration Page (Proxy Services) ................................................................. 3-30SB Transport Configuration Page (Business Services)............................................................... 3-32SB Transport Configuration Page (Proxy Services) ................................................................... 3-33SFTP Transport Configuration Page (Business Services) .......................................................... 3-34SFTP Transport Configuration Page (Proxy Services)............................................................... 3-34SOA-DIRECT Transport Configuration Page (Business Services)........................................... 3-36Tuxedo Transport Configuration Page (Business Services)...................................................... 3-38Tuxedo Transport Configuration Page (Proxy Services)........................................................... 3-40WS Transport Configuration Page (Business Services) ............................................................. 3-41WS Transport Configuration Page (Proxy Services) .................................................................. 3-42

    4 User Interface Reference

    Alerts ........................................................................................................................................................... 4-1Alert Destination Editor .................................................................................................................... 4-2

  • viii

    Edit E-mail Recipient Page ............................................................................................................... 4-2Edit JMS Destination Page ................................................................................................................ 4-3

    Business Service Configuration ............................................................................................................ 4-3Business Service General Configuration Page ............................................................................... 4-4

    Business Service Editor Options ............................................................................................... 4-4Business Service Message Type Configuration Page.................................................................... 4-4Business Service SOAP Binding Configuration Page ................................................................... 4-6Business Service Transport Configuration Page ........................................................................... 4-6Business Service Message Handling Configuration Page......................................................... 4-10Business Service - Service Policy Configuration Page ............................................................... 4-13Business Service Security Configuration Page............................................................................ 4-14

    Proxy Service Configuration ............................................................................................................... 4-15Proxy Service General Configuration Page ................................................................................. 4-15

    Proxy Service Editor Options ................................................................................................. 4-15Proxy Service Message Type Configuration Page...................................................................... 4-16Proxy Service Operation Selection Configuration Page ............................................................ 4-18Proxy Service Message Handling Configuration Page.............................................................. 4-21Proxy Service SOAP Binding Configuration Page .................................................................... 4-24Proxy Service Transport Configuration Page ............................................................................. 4-25Proxy Service - Service Policy Configuration Page ................................................................... 4-27Proxy Service Security Configuration Page ................................................................................ 4-28

    Oracle Service Bus Configurations and Projects............................................................................. 4-30Oracle Service Bus Configurations View..................................................................................... 4-30New Oracle Service Bus Configuration Project Wizard............................................................ 4-31Oracle Service Bus Configuration Page ....................................................................................... 4-31New Oracle Service Bus Project .................................................................................................... 4-32

    Custom Resources ................................................................................................................................. 4-32New Custom Resource Wizard..................................................................................................... 4-33New Custom Resource Editor....................................................................................................... 4-33New Custom Resource - Resource Type Page ........................................................................... 4-33Custom MQ Resource Configuration Page ................................................................................ 4-33

    Export Wizard......................................................................................................................................... 4-34Export Wizard - Oracle Service Bus Configuration JAR Export Page..................................... 4-34Export Wizard - Export to Server - Select Resources Page ....................................................... 4-35Export Wizard - Export to Server - Review Resources Page .................................................... 4-36

    Import Wizard ........................................................................................................................................ 4-36Import Wizard - Config JAR Import - Load Resources Page ................................................... 4-36Import Wizard - Config JAR Import - Review Resources Page ............................................... 4-37Import Wizard - Config ZIP Import - Load Resources Page .................................................... 4-37Import Wizard - Config ZIP Import - Review Resources Page ................................................ 4-37Import Wizard - URL Import - Load Resources Page ............................................................... 4-38Import Wizard - URL Import - Review Resources Page ........................................................... 4-38

    JNDI Providers....................................................................................................................................... 4-38JNDI Provider Editor ...................................................................................................................... 4-38New JNDI Provider Resource Wizard ......................................................................................... 4-39

    Proxy Servers ......................................................................................................................................... 4-39Message Flow Design Palette ............................................................................................................. 4-40

  • ix

    Message Flow Nodes ...................................................................................................................... 4-40Message Flow Route Actions - Communication Actions.......................................................... 4-41Message Flow Route Actions - Flow Control Actions ............................................................... 4-41Message Flow Stage Actions - Communication Actions........................................................... 4-42Message Flow Stage Actions - Flow Control Actions ................................................................ 4-42Message Flow Stage Actions - Message Processing Actions .................................................... 4-43Message Flow Stage Actions - Reporting Actions...................................................................... 4-44

    Message Flow Editor............................................................................................................................. 4-44Alert Action Properties................................................................................................................... 4-46Assign Action Properties ............................................................................................................... 4-46Conditional Branch Node Properties ........................................................................................... 4-47Delete Action Properties ................................................................................................................ 4-48Dynamic Publish Action Properties ............................................................................................. 4-49Dynamic Routing Action Properties ............................................................................................ 4-50Error Handler Node Properties..................................................................................................... 4-50For-Each Action Properties............................................................................................................ 4-50If-Then Action Properties............................................................................................................... 4-51

    If Action and Else-If Action Properties................................................................................. 4-52Else Action Properties ............................................................................................................. 4-52

    Insert Action Properties ................................................................................................................. 4-52Java Callout Action Properties ...................................................................................................... 4-53Log Action Properties..................................................................................................................... 4-55Message Flow Properties - Comment .......................................................................................... 4-56Message Flow Properties - Namespaces ..................................................................................... 4-56Message Flow Properties - Variables .......................................................................................... 4-56MFL Transform Action Properties................................................................................................ 4-56Operational Branch Node Properties ........................................................................................... 4-57Pipeline Pair Node Properties ....................................................................................................... 4-58Publish Action Properties .............................................................................................................. 4-59Publish Table Action Properties.................................................................................................... 4-59

    Publish Table Properties ......................................................................................................... 4-60Case Action Properties ............................................................................................................ 4-60Publish Action Properties ....................................................................................................... 4-61

    Raise Error Action Properties........................................................................................................ 4-61Transactions .............................................................................................................................. 4-61

    Rename Action Properties ............................................................................................................. 4-61Replace Action Properties.............................................................................................................. 4-62Reply Action Properties ................................................................................................................. 4-63Report Action Properties................................................................................................................ 4-64Resume Action Properties ............................................................................................................. 4-65Route Node Properties ................................................................................................................... 4-65Routing Action Properties ............................................................................................................. 4-66Routing Options Action Properties .............................................................................................. 4-66Routing Table Action Properties................................................................................................... 4-67

    Routing Table Properties ........................................................................................................ 4-68Case Action Properties ............................................................................................................ 4-69Routing Action Properties ...................................................................................................... 4-69

  • x

    Service Callout Action Properties................................................................................................. 4-69Skip Action Properties.................................................................................................................... 4-72Stage Node Properties .................................................................................................................... 4-72Transport Headers Action Properties .......................................................................................... 4-72Validate Action Properties............................................................................................................. 4-74

    Modify JAR Dependencies Dialog .................................................................................................... 4-75SMTP Servers ......................................................................................................................................... 4-75

    Edit SMTP Server Page................................................................................................................... 4-76New SMTP Server Resource Wizard............................................................................................ 4-76

    UDDI Registry Configuration Page................................................................................................... 4-76Outline view - Oracle Service Bus ..................................................................................................... 4-77Resource Management ......................................................................................................................... 4-77

    Preferences dialog - Oracle Service Bus - Type Associations Page.......................................... 4-77References View .............................................................................................................................. 4-78Select Clone Target Dialog............................................................................................................. 4-78Select a Resource Dialog................................................................................................................. 4-78

    New Service Key Provider Resource ................................................................................................. 4-78New WS-Policy ...................................................................................................................................... 4-79Service Accounts.................................................................................................................................... 4-79

    New Service Account Resource .................................................................................................... 4-80Service Account Editor - General Configuration Page .............................................................. 4-80Service Account Editor - Static User Configuration Page ......................................................... 4-80Service Account Editor - User Mappings Configuration Page................................................. 4-81

    Expression Editors ................................................................................................................................ 4-81XQuery/XSLT Expression Editor ................................................................................................. 4-81XPath Expression Editor ................................................................................................................ 4-82Condition Editor.............................................................................................................................. 4-82Condition Builder Page .................................................................................................................. 4-83Expression Page............................................................................................................................... 4-83XQuery Resource Page ................................................................................................................... 4-83XSLT Resource Page ....................................................................................................................... 4-84Dynamic XQuery Page ................................................................................................................... 4-84Variable Structures Page ................................................................................................................ 4-85Namespace Definitions Page......................................................................................................... 4-85XQuery Functions Page.................................................................................................................. 4-86Add Variable Structure Dialog ..................................................................................................... 4-86

    New XSL Transformation .................................................................................................................... 4-87Split-Join User Interface Reference ................................................................................................... 4-87

    Split-Join Design Palette................................................................................................................. 4-88Operations................................................................................................................................. 4-88

    Global / Start Node Properties ..................................................................................................... 4-90Variable Properties.......................................................................................................................... 4-90Error Handler Properties ............................................................................................................... 4-91Invoke Service Properties............................................................................................................... 4-91

    Invoking Another Split-Join ................................................................................................... 4-92Reply Properties .............................................................................................................................. 4-93For Each Properties ......................................................................................................................... 4-93

  • xi

    If Properties...................................................................................................................................... 4-94If and Else If Properties .................................................................................................................. 4-94Parallel Properties ........................................................................................................................... 4-95Raise Error Properties..................................................................................................................... 4-95Repeat Until Properties .................................................................................................................. 4-95Re-Raise Error Properties............................................................................................................... 4-95Scope Properties .............................................................................................................................. 4-96While Properties .............................................................................................................................. 4-96Wait Properties ................................................................................................................................ 4-96Assign Properties ............................................................................................................................ 4-97

    Assign Operation Properties .................................................................................................. 4-97Copy Properties............................................................................................................................... 4-98Delete Properties ............................................................................................................................. 4-98Insert Properties .............................................................................................................................. 4-99Java Callout Properties................................................................................................................. 4-100Log Properties................................................................................................................................ 4-101Replace Properties......................................................................................................................... 4-101Receive Properties ......................................................................................................................... 4-102Counter Variable Dialog .............................................................................................................. 4-102Create/Edit Variable Dialog........................................................................................................ 4-102

    Scope and Variables............................................................................................................... 4-103Create Message Variable Dialog ................................................................................................. 4-103Service Browser ............................................................................................................................. 4-103SOAP Fault Variable Dialog ........................................................................................................ 4-103WSDL Browser .............................................................................................................................. 4-104Split-Join Wizard - New Split-Join.............................................................................................. 4-104Split-Join Wizard - Specify Operations ...................................................................................... 4-104

    Part II XQuery Mapper

    5 Introduction

    Overview of XQuery Mapper ................................................................................................................ 5-1Support for XQuery 2002 and 2004........................................................................................................ 5-2

    Restrictions Applicable to the XQuery Test View......................................................................... 5-2

    6 Transforming Data Using XQuery Mapper

    Launching XQuery Mapper.................................................................................................................... 6-1Importing the XQuery Mapper Sample Project ................................................................................. 6-1Creating an XQuery Mapper Project .................................................................................................... 6-2Importing and Creating Schema Files.................................................................................................. 6-2

    Importing XML Schemas and MFL Files ........................................................................................ 6-3Creating XML Schemas ..................................................................................................................... 6-4Creating XML Files from XML Schemas ........................................................................................ 6-4Creating WSDL Files.......................................................................................................................... 6-5Creating MFL Files............................................................................................................................. 6-5

    Selecting Source and Target Data Types .............................................................................................. 6-6

  • xii

    Creating Data Transformations ............................................................................................................. 6-7Creating Basic Element Transformations ....................................................................................... 6-8

    Prerequisite .................................................................................................................................. 6-8Creating Element-to-Element Links......................................................................................... 6-8

    Creating Basic Attribute Transformations...................................................................................... 6-8Prerequisite .................................................................................................................................. 6-9Creating an Attribute-to-Element Link.................................................................................... 6-9

    Creating Complex Transformations................................................................................................ 6-9Prerequisite ............................................................................................................................... 6-10Creating a Complex Transformation .................................................................................... 6-10

    Editing Data Transformations............................................................................................................. 6-10Viewing and Editing XQuery Files............................................................................................... 6-10Creating Joins and Unions ............................................................................................................. 6-11Creating If-Then-Else Expressions................................................................................................ 6-11Creating For-Let-Where-Order By-Return (FLWOR) Expressions.......................................... 6-13Creating Typeswitch Expressions................................................................................................. 6-14Inserting XQuery Functions .......................................................................................................... 6-15Inserting Expression Variables...................................................................................................... 6-16Viewing Schema Properties........................................................................................................... 6-17

    Restricting Output of Optional Elements ........................................................................................ 6-17Testing Data Transformations ............................................................................................................. 6-18

    Features of the Test View............................................................................................................... 6-18Related Topics .......................................................................................................................... 6-21

    Graphical Features in Design View ................................................................................................... 6-21Right-Click Menu Options............................................................................................................. 6-21Link Patterns .................................................................................................................................... 6-22Link Colors....................................................................................................................................... 6-23

    XML Global Elements, Global Types, Local Elements, and Attributes...................................... 6-24

    7 Examples: Data Transformation Using XQuery Mapper

    Combining Data from Different Schemas .......................................................................................... 7-1Mapping Repeating Elements and Creating Joins ............................................................................ 7-4

    Step 1. Create an XQuery File........................................................................................................... 7-4Step 2. Add a Constraint ................................................................................................................... 7-6Step 3. Add Data to Return Element ............................................................................................... 7-7Step 4. Add Function to Calculate Value of Quote ....................................................................... 7-7Step 5. Add a Constraint with Multiple Conditions ..................................................................... 7-9Test the XQuery............................................................................................................................... 7-10

    Creating Unions..................................................................................................................................... 7-10Creating Repeating-Source to Nonrepeating-Target Transformations ....................................... 7-12Creating Nonrepeating-Source to Repeating-Target Transformation ......................................... 7-14Creating Nested If-Then-Else Expressions....................................................................................... 7-17

    Step 1. Create the XQuery Transformation ................................................................................. 7-18Step 2. Create the First "If" Condition .......................................................................................... 7-19Step 3. Create the First Nested If-Then-Else Condition............................................................. 7-20Step 4. Create the Second Nested If-Then-Else Condition ........................................................ 7-20

    Creating FLWOR Expressions ............................................................................................................. 7-21

  • xiii

    Using Recursive Schemas .................................................................................................................... 7-23Grouping Data by Key Fields ............................................................................................................. 7-25

    Part III Format Builder

    8 Introduction

    Overview .................................................................................................................................................... 8-1

    9 Format Builder Main Window

    Using the Menu Bar ................................................................................................................................. 9-1Using the Toolbar ..................................................................................................................................... 9-1Using the Tree Pane.................................................................................................................................. 9-2Using the Shortcut Menus ...................................................................................................................... 9-3Using Drag and Drop .............................................................................................................................. 9-4Valid Names .............................................................................................................................................. 9-4

    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

    Importing a Guideline XML File........................................................................................................ 16-1Importing an XML Schema ................................................................................................................. 16-2Importing a COBOL Copybook ......................................................................................................... 16-2Importing C Structures......................................................................................................................... 16-3Starting the C Structure Importer ...................................................................................................... 16-3Generating MFL Data ........................................................................................................................... 16-4Generating C Code................................................................................................................................ 16-5Importing an FML Field Table Class ................................................................................................ 16-5

    FML Field Table Class Importer Prerequisites .......................................................................... 16-5Sample FML Field Table Class Files ............................................................................................ 16-6Creating XML with the FML Field Table Class Importer ........................................................ 16-6

    17 Format Tester

    Format Tester Window ......................................................................................................................... 17-1Format Tester Menus ............................................................................................................................ 17-1

  • xiv

    File Menu ................................................................................................................................................ 17-1Edit Menu ............................................................................................................................................... 17-2Display Menu......................................................................................................................................... 17-2Generate Menu ...................................................................................................................................... 17-3Transform Menu .................................................................................................................................... 17-3Shortcut Menu ....................................................................................................................................... 17-3Using the Non-XML Window ............................................................................................................. 17-3Using the Data Offset Feature............................................................................................................. 17-4Using the Text Feature .......................................................................................................................... 17-4Using the XML Window ...................................................................................................................... 17-4Using the Debug Window ................................................................................................................... 17-4Using the Resize Bars ........................................................................................................................... 17-5Debugging Format Definitions .......................................................................................................... 17-5Searching for Values ............................................................................................................................. 17-5Searching for Offsets ............................................................................................................................ 17-5Using the Debug Log ............................................................................................................................ 17-6

    18 Format Builder Menus

    File Menu ................................................................................................................................................ 18-1Edit Menu ............................................................................................................................................... 18-1Insert Menu ............................................................................................................................................ 18-2View Menu ............................................................................................................................................. 18-3Tools Menu ............................................................................................................................................. 18-3Help Menu .............................................................................................................................................. 18-3Shortcut Menu ....................................................................................................................................... 18-3

    19 How Do I?

    Create a Message Format ..................................................................................................................... 19-1Create a Group ....................................................................................................................................... 19-1Create a Field.......................................................................................................................................... 19-2Create a Comment ................................................................................................................................. 19-2Create a Reference ................................................................................................................................. 19-3Save a Document ................................................................................................................................... 19-3Use Format Tester .................................................................................................................................. 19-4Debug Format Definitions .................................................................................................................. 19-4Search for Values ................................................................................................................................... 19-4Search for Offsets .................................................................................................................................. 19-5Use the Debug Log ................................................................................................................................ 19-5Character Delimiters............................................................................................................................. 19-5Specify a Delimiter ............................................................................................................................... 19-6

    Specify by Reference ....................................................................................................................... 19-6Specify by Value ............................................................................................................................. 19-7

    Delimiter Match Rule ........................................................................................................................... 19-7Data Delimiter ................................................................................................................................. 19-7Escape Character ............................................................................................................................. 19-8None.................................................................................................................................................. 19-8

  • xv

    20 Using the Palette

    Displaying the Palette Window.......................................................................................................... 20-1Adding Items to the Palette ................................................................................................................. 20-1Adding Palette Items to a Message Format ...................................................................................... 20-2Using the File Menu ............................................................................................................................. 20-2Using the Shortcut Menu..................................................................................................................... 20-2

    21 Format Builder Supported Data Types

    MFL Data Types..................................................................................................................................... 21-1COBOL Copybook Importer Data Types ......................................................................................... 21-5Unsupported C Language Features.................................................................................................... 21-6

    Part IV General Development Topics

    22 Development Environment Setup

    Running Multiple Development Servers with Derby ................................................................... 22-1Derby Best Practices and Troubleshooting.................................................................................. 22-1Sharing a Single Derby Database Instance Between Multiple Domains................................. 22-2Running Each Domain with a Unique Derby Instance ............................................................. 22-3

    Disabling the JMS Reporting Provider............................................................................................. 22-4

    23 Creating and Using Custom XPath Functions

    Registering Custom Functions with Oracle Service Bus ............................................................... 23-1Creating and Packaging the Custom Function Java Classes......................................................... 23-3

    Creating the Class and Method..................................................................................................... 23-3Using Single-Dimensional Arrays ......................................................................................... 23-3

    Packaging the Custom Function Class......................................................................................... 23-4Using Custom Functions...................................................................................................................... 23-4

    Using Custom Functions in Inline XQuery Expressions and XQuery Resources ................. 23-4Using Custom Functions in XSLT Resources.............................................................................. 23-4

    Testing Custom XPath Functions in Eclipse..................................................................................... 23-5Deploying Custom Functions in a Cluster ....................................................................................... 23-5

    Part V Transports

    24 Oracle SOA Suite Transport (SOA-DIRECT)

    About the SOA-DIRECT Transport ................................................................................................... 24-1WS-Addressing................................................................................................................................ 24-2Security ............................................................................................................................................. 24-3Environment Values ....................................................................................................................... 24-3Error Handling ................................................................................................................................ 24-3

    Connection Errors .................................................................................................................... 24-3Application Errors ................................................................................................................... 24-3Generic Errors........................................................................................................................... 24-4

    Using SOA Suite Services with Oracle Service Bus....................................................................... 24-4

  • xvi

    Simple Use Cases Synchronous ................................................................................................. 24-4Synchronous Invocation of a SOA Composite .................................................................... 24-4

    Creating and Configuring the Services ......................................................................... 24-4Synchronous Invocation from a SOA Composite ............................................................... 24-5

    Creating and Configuring the Services ......................................................................... 24-5Associating Messages with the Correct Conversation ....................................................... 24-6

    Advanced Use Cases Asynchronous......................................................................................... 24-6Asynchronous Invocation of a SOA Composite.................................................................. 24-6

    Creating and Configuring the Services ......................................................................... 24-7Asynchronous Invocation from a SOA Composite............................................................. 24-8

    Creating and Configuring the Services ......................................................................... 24-9Transport Configuration Reference ................................................................................................. 24-10

    SOA-DIRECT Endpoint URI ....................................................................................................... 24-11Cluster URI ............................................................................................................................. 24-11URI Examples ......................................................................................................................... 24-11

    SOA-DIRECT Transport Configuration for Business Services............................................... 24-12WS-Addressing Reference................................................................................................................. 24-14

    ReplyTo Header ............................................................................................................................ 24-14Calling a SOA Composite Asynchronously with a SOA-DIRECT Business Service ... 24-14Calling Back to a SOA Composite Asynchronously with a SOA-DIRECTBusiness Service ..................................................................................................................... 24-14

    MessageID / RelatesTo Headers ................................................................................................ 24-14XML Examples ..................................................................................................................................... 24-15

    Conversation ID Examples .......................................................................................................... 24-15Port and Message Definitions .............................................................................................. 24-15WS-Addressing that Sets the Conversation ID.................................................................. 24-16Message Payload Data that Sets the Conversation ID...................................................... 24-17Transformation Examples..................................................................................................... 24-18

    Asynchronous Composite to Composite Native Communication Through Oracle Service Bus Example..................................................................................................................... 24-20

    Port and Message Definitions .............................................................................................. 24-20BP1 to P1 Initiate operation ............................................................................................... 24-20P1/B1 to BP2........................................................................................................................... 24-21BP2 to P2 onResult operation ............................................................................................ 24-21P2/B2 to BP1 onResult operation ..................................................................................... 24-22

    25 JCA Transport

    About the JCA Transport ..................................................................................................................... 25-1Messaging......................................................................................................................................... 25-2

    Transactions .............................................................................................................................. 25-2Transport Headers and Normalized Message Properties......................................................... 25-2

    $inbound and $outbound Request Headers ........................................................................ 25-2$inbound-Only Request Headers .......................................................................................... 25-3$outbound-Only Request Headers........................................................................................ 25-3

    Endpoint Properties ........................................................................................................................ 25-4Proxy Service Endpoint Properties (Inbound)..................................................................... 25-4Business Service Endpoint Properties (Outbound)............................................................. 25-6

  • xvii

    Security ............................................................................................................................................. 25-6Proxy Services........................................................................................................................... 25-7Business Services...................................................................................................................... 25-7

    Logging............................................................................................................................................. 25-7Oracle BAM Adapter Logging ............................................................................................... 25-8

    Error Handling ................................................................................................................................ 25-8EIS Fault Details in JCA Business Services........................................................................... 25-8Business Service Retry Application Errors........................................................................... 25-8

    URI Rewriting.................................................................................................................................. 25-8Environment Variables................................................................................................................... 25-8Encoding........................................................................................................................................... 25-9

    Working with Adapters ........................................................................................................................ 25-9Adapter Support.............................................................................................................................. 25-9Oracle JCA Adapter Limitations................................................................................................. 25-10

    Limitations that Apply to All JCA Adapters ..................................................................... 25-10Oracle JCA Adapter for AQ Limitations ............................................................................ 25-10Oracle JCA Adapters for Files/FTP Limitations ............................................................... 25-10

    JCA Adapter Framework ............................................................................................................. 25-10Configuring Adapters General ................................................................................................ 25-11Configuring Adapters that Poll a Database .............................................................................. 25-11Configuring the Oracle JCA Adapter for Database ................................................................. 25-12Configuring the Oracle JCA Adapter for AQ ........................................................................... 25-12Using Custom JCA Adapters ...................................................................................................... 25-12Rejected Messages......................................................................................................................... 25-13

    Invoking an EIS Service Through Oracle Service Bus................................................................. 25-13Creating, Configuring, and Invoking the Services................................................................... 25-13

    Invoking an External Service from an EIS ..................................................................................... 25-14Creating, Configuring, and Invoking the Services................................................................... 25-14

    Transport Configuration Reference ................................................................................................. 25-15Endpoint URI ................................................................................................................................. 25-15

    Endpoint Redeployment....................................................................................................... 25-15JCA Transport Configuration for Proxy and Business Services............................................. 25-15Proxy Service Operation Configuration .................................................................................... 25-17Proxy Service Message Handling ............................................................................................... 25-17Policies ............................................................................................................................................ 25-17

    26 HTTP and Poller Transports

    HTTP Transport ..................................................................................................................................... 26-1Configuring Proxy Services using the HTTP Transport ........................................................... 26-1Configuring Business Services using the HTTP Transport....................................................... 26-3REST Support................................................................................................................................... 26-6

    REST in Proxy Services ...................................................................................................