Oracle® Fusion Middleware

Oracle Cloud Adapter for Oracle RightNow Cloud Service User's Guide

12c (12.2.1)

E56284-04

October 2015

Documentation for Oracle SOA (Service-Oriented Architecture) developers that describes using the Oracle® Fusion Middleware Oracle RightNow adapter.

Oracle Fusion Middleware Oracle Cloud Adapter for Oracle RightNow Cloud Service User's Guide 12c (12.2.1)

E56284-04

Copyright © 2014, 2015, Oracle and/or its affiliates. All rights reserved.

Primary Author:  Oracle Corporation

Contributor: Ravindran Sankaran, Bo Stern, Srimant Misra, Sunil Gopal, Narayana Pedapudi ,Anuj Kaushal, Srikanth Somayajula, Venkata Purna Vamsi Krishna Jandhyala, Rajesh Venkataraman, Divya Vijayalakshmi

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, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

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 about 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 unless otherwise set forth in an applicable agreement between you and Oracle. 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, except as set forth in an applicable agreement between you and Oracle.

Contents

List of Examples

List of Figures

List of Tables

Preface

- Audience

- Documentation Accessibility

- Related Documents

- Conventions

1 Introduction to the RightNow Adapter

- 1.1 Overview

- 1.1.1 Prerequisites to Using the Oracle RightNow Adapter

- 1.1.1.1 Create Permissions for the SOA Map Name

- 1.1.1.2 Oracle RightNow Adapter Design Overview

- 1.2 Supported Versions and Platforms

- 1.2.1 WSDLs Supported by Oracle RightNow Adapter

2 Getting Started with the Right Now Adapter

- 2.1 Using Oracle RightNow Adapter Connection Parameters

- 2.2 Obtaining the Standard WSDL

- 2.2.1 Importing the Oracle RightNow Application's Certificate into the Client/Server

- 2.2.2 Importing the Oracle RightNow Application's Public Certificate into Weblogic Server Using Keytool

- 2.2.3 Configuring Oracle RightNow Adapter Permissions

- 2.2.3.1 Details for Object-specific Permissions

- 2.2.4 Authenticating on the Oracle RightNow Cx Server with Account Passwords

- 2.2.4.1 Oracle Cloud Connect Web Services for SOAP API Access Control

- 2.3 Understanding the Oracle RightNow Adapter in Design Time and Runtime

3 Performing Operations Using the RightNow Cx Adapter

- 3.1 Performing Common JDeveloper Configuration Steps

- 3.1.1 Configuring an Oracle RightNow Adapter Component

- 3.2 Understanding Create, Read, Update, and Delete Operations

- 3.2.1 Supported Features

- 3.2.1.1 Using CRUD Operations

- 3.2.1.2 Using the Batching Feature

- 3.2.1.3 Chaining

- 3.2.1.4 Using Chaining

- 3.2.2 Supported Processing Options

- 3.2.2.1 CreateProcessingOptions

- 3.2.2.2 DestroyProcessingOptions

- 3.2.2.3 GetProcessingOptions

- 3.2.2.4 UpdateProcessingOptions

- 3.3 Working with ROQL

- 3.3.1 Using ROQL

- 3.3.1.1 ROQL Query Statement

- 3.3.2 ROQL Query Statement

- 3.3.3 Running the Query Test Tool

- 3.3.4 Using the ROQL Query Builder

- 3.3.4.1 Simplifying the Discovery of Standard and Custom Business Objects

- 3.3.4.2 Suggesting Query Constructs Based on the Context

- 3.3.4.3 Providing Auto-Completion

- 3.3.4.4 Providing Alias Support to Improve Readability

- 3.3.4.5 Using ROQL to Suggest Relationships

- 3.3.4.6 Using the Query Builder to Obtain Inline and Semantic Validation

- 3.3.5 Adapter Support for ROQL

- 3.3.5.1 Query Arguments

- 3.3.5.2 Support for Bind Parameters

4 Understanding RightNow Adapter Advanced Concepts

- 4.1 Understanding the SOAP API

- 4.1.1 Understanding Objects

- 4.1.2 Understanding Transactions

- 4.2 Handling the Polymorphic Behavior of Oracle RightNow Cx Schema

- 4.2.1 Example: Mapping A Custom Object

- 4.2.1.1 Example: Mapping an Object without Using an Oracle RightNow Adapter

- 4.2.1.2 Example: Mapping an Object with the Oracle RightNow Adapter

- 4.3 Integrating with Custom Objects in the Cloud

- 4.3.1 Creating Custom Objects in the RightNow Cx Server

- 4.3.2 Selecting Custom Objects to Perform Operations

- 4.4 About the Clear Cache User Interface Check Box Option

- 4.5 About the Offline Mode User Interface Check Box Option

- 4.5.1 Behaviors Expected When Using Offline Mode

- 4.6 Understanding Oracle RightNow Adapter Security Management

- 4.6.1 Authenticating on the Oracle RightNow Cx Server with Account Passwords

- 4.6.1.1 Understanding Access Control on the Oracle RightNow CX Server

- 4.6.2 Oracle Cloud Connect Web Services for SOAP Site Configuration

- 4.6.2.1 Configuring Restricted Access Permissions on RightNow Cx

- 4.6.3 Validating Account Credentials

- 4.6.4 Profile Configuration

- 4.6.5 Password-based Authentication

- 4.7 Oracle RightNow Adapter Test Functionality

- 4.7.1 Design-Time Test Functionality Details

- 4.8 Oracle RightNow Adapter Limit and Restriction Handling

- 4.8.1 Delete-Cascading Delete Effect

- 4.8.2 API Limits Enforced by the RightNow Cx Server

5 Understanding Integration with Service Components (BPEL/Mediator)

- 5.1 Overview

- 5.1.1 Understanding the Account Object

- 5.2 Configuring the CSF Key on Fusion Middleware Control Console

- 5.3 Designing a Composite for Service Integration

- 5.3.1 Defining Composite for BPEL and Mediator

- 5.4 Configuring Oracle RightNow Adapter

- 5.5 Integrating with BPEL

- 5.6 Deploying the Composite

- 5.7 Testing the Composite

- 5.7.1 Testing the Outbound Process

6 Developing Integrations with Oracle RightNow Adapter in Service Bus Projects

- 6.1 Generating Oracle Cloud Adapter Artifacts

- 6.1.1 Creating Oracle Service Bus Projects Using the Service Bus Console

- 6.1.2 Creating a Service Bus Project, and Generating Oracle Service Bus JCA Business Service

- 6.1.2.1 Creating an Empty Console for the Oracle Service Bus and Creating a New Service Bus Project

- 6.1.2.2 Defining a Service Bus Business Service with the Oracle RightNow Adapter

- 6.1.2.3 Testing the Oracle Service Bus Project from the Service Bus Console

7 Configuring the Oracle RightNow Cx Adapter on Oracle WebLogic Server

- 7.1 Understanding Oracle RightNow Adapter Runtime Properties

- 7.1.1 About Retry Properties

- 7.1.1.1 Property Values Seen in the Composite

- 7.1.1.2 Providing the Property Values at the Fusion Middleware Control Console

8 Troubleshooting and Error Handling with the RightNow Adapter

- 8.1 Verifying the OPatch Installation

- 8.1.1 Verifying Installation of the JDeveloper Plug-in for Oracle RightNow Cx Adapter

- 8.1.2 Verifying Installation of the Oracle RightNow Adapter Runtime Plug-in on the Server Side

- 8.2 Understanding Oracle RightNow Adapter Design-Time JDeveloper Errors

- 8.3 Understanding API Faults and Error Handling

- 8.3.1 About Request Errors

- 8.3.2 About Server Errors

- 8.3.3 About Unexpected Errors

- 8.4 Understanding RightNow Exception Codes

- 8.5 Understanding Adapter Fault Handling

9 Oracle RightNow Adapter Use Cases

- 9.1 Performing a Create, Read, Update, Destroy (CRUD) Operation on a Single Business Object

- 9.2 Performing a CRUD Operation on Multiple Business Objects

- 9.3 Performing a Batch Operation with Multiple Business Objects and Multiple Operations

- 9.4 Querying Arbitrary Objects using ROQL

- 9.5 Performing CRUD Operations on Custom Objects

- 9.6 Chaining Multiple Operations Together in One Batch Request

A Credential Store Configuration for Managing RightNow Credentials

- A.1 Using CSF Key in Fusion Middleware Control

List of Examples

- 1-1 Generic CRUD Operations in a RightNow Standard WSDL

- 1-2 ROQL Query Example to Retrieve Details of an Incident with a Specific ID

- 3-1 PortType and Operation

- 3-2 Input Message Type Defined in Integration WSDL Batch Operation:

- 3-3 Output Message Type Defined in Integration WSDL Batch Operation:

- 3-4 XML for Chaining

- 3-5 Integration Request Payload

- 3-6 Integration Response Payload

- 3-7 JCA File Generated when Bind Parameters are Used in Query

- 4-1 Example SOAP Request with Username and Password Credentials

List of Figures

- 1-1 Oracle RightNow Adapter Design Overview

- 2-1 The Lock Icon in the Browser Window for Internet Explorer Browser

- 2-2 Location of Lock Icon in Chrome Browser Indicated by Arrow

- 2-3 Location of Lock Icon in Mozilla Firefox Browser Indicated by Arrow

- 2-4 View Certificates in Pop-up

- 2-5 Certificate Details Pop-up

- 2-6 The Certificate Wizard, with Base-64 encoded X.509m(.CER) Selected

- 2-7 The Keystores Tab

- 2-8 Oracle RightNow Adapter Design Time Flowchart

- 2-9 Oracle RightNow Adapter Runtime

- 3-1 Navigation

- 3-2 Create SOA Application

- 3-3 Name Your Application

- 3-4 Providing a Name for Your Project

- 3-5 Configuring SOA Settings

- 3-6 Oracle RightNow Adapter Reference Screen

- 3-7 Oracle RightNow Adapter Connection Screen

- 3-8 Test Connection

- 3-9 Oracle RightNow Adapter Operation Configuration Screen

- 3-10 Creating Organization, Contact, and Incident Objects in One Request

- 3-11 Creating One Object

- 3-12 Retrieving Data from One Object

- 3-13 Retrieving Multiple Objects

- 3-14 Updating Multiple Objects with One Request

- 3-15 Updating a Single Business Object

- 3-16 Deleting Multiple Objects

- 3-17 Deleting One Business Object

- 3-18 Oracle RightNow Adapter Configuration Wizard Reference Screen

- 3-19 Oracle RightNow Adapter Configuration Wizard Connection Screen

- 3-20 RightNow Adapter Configuration Wizard Operation Page with Batch Selected

- 3-21 RightNow Adapter Configuration Wizard Batch Add Operation Dialog

- 3-22 RightNow Adapter Configuration Wizard Operation Options

- 3-23 Add Operation Dialog

- 3-24 Choosing a Substitute Element or Type in the XSLT Mapper

- 3-25 Substitute Element or Type Dialog

- 3-26 Contact ID Type Expanded

- 3-27 Sample ROQL Query

- 3-28 Query Test Screen, with Specific Areas Highlighted

- 3-29 Displaying a List of Standard and Custom Objects Available on Oracle RightNow Cx

- 3-30 Providing a Package to Display All Custom Objects Created in That Package

- 3-31 Query in Context, Showing List of Fields in Contact Object

- 3-32 Query Auto-Completion

- 3-33 Alias Support

- 3-34 Alias Support with All Relationships Displayed

- 3-35 Alias Support Showing All Fields Associated with ServiceCategory Displayed

- 3-36 Suggesting Relationships Example

- 3-37 Query Validation Example

- 3-38 Semantic Validation in Query Builder

- 3-39 Query Inputs in the Form of Bind Parameters

- 3-40 Query Example using BInd Parameters

- 3-41 Running a Query Test

- 3-42 Run Query Test Tool Prompting for Bind Parameters

- 3-43 Query Test Tool Query Result, Using Bind Parameters

- 3-44 Part of Generated Input Schema for WSDL Showing Bind Parameter

- 4-1 Using XSLT Mapper to Map a RightNow Custom Object for the Schema without Using the Oracle RightNow Adapter-Generated WSDL

- 4-2 Sample XSL File in Source Mode

- 4-3 Object Summary Page

- 4-4 Selecting a Custom Object to Perform Operations

- 4-5 Example of a Custom Object Schema

- 4-6 Location of Permissions Checkboxes

- 5-1 Navigation

- 5-2 Create SOA Application

- 5-3 Name Your Application

- 5-4 Provide a Name for Your Project

- 5-5 Configure SOA Settings

- 5-6 Create BPEL Process

- 5-7 Composite.xml

- 5-8 XML Schema File

- 5-9 Edit XML Schema File

- 5-10 Oracle RightNow Adapter with composite.xml File

- 5-11 Oracle RightNow Adapter Configuration Wizard Welcome Screen

- 5-12 Oracle RightNow Adapter Configuration Wizard Server Connection Screen

- 5-13 Oracle RightNow Adapter Configuration Wizard WSDL Chooser Dialog

- 5-14 Oracle RightNow Adapter Configuration Wizard

- 5-15 Storing WSDL at an MDS Location

- 5-16 Oracle RightNow Adapter Configuration Wizard Server Connection Showing WSDL

- 5-17 Oracle RightNow Adapter Configuration Wizard Add Credential Dialog

- 5-18 Oracle RightNow Adapter Configuration Wizard Server Connection Screen Showing Successful Test Connection

- 5-19 Oracle RightNow Adapter Operation Configuration Showing Account Business Object Selected

- 5-20 Oracle RightNow Adapter Configuration Wizard Operation Options Screen with Suppress Response Option Selected

- 5-21 Oracle RightNow Adapter Configuration Wizard Finish Screen

- 5-22 The Services, Components and External References Screen Showing the Adapter in External References Swimlane

- 5-23 BPELProcess1 and RightNowAccount External Reference Connected Through a Wire

- 5-24 Composite Application with Service, BPELProcess and Reference Wired

- 5-25 Oracle RightNow Reference Adapter Shown as Part of Partner Links

- 5-26 Invoke Activity

- 5-27 Create Variable Dialog to Create an Input Variable for the Partner Link

- 5-28 Create Variable Dialog to Create an Output Variable

- 5-29 Two Transform Activities in Bpel Diagram

- 5-30 Mapping Transform1 Values from Receive Activity's Input Variable to Invoke Activity's Input Variable

- 5-31 Mapping between inputVariable and Invoke1_create_InputVariable

- 5-32 Mapping Transform2 values from Invoke Activity's Output Variable to Reply Activity's Input Variable

- 5-33 Mappings for Output Variable

- 5-34 Composite.xml

- 5-35 Deploying the Project

- 5-36 Test Button

- 5-37 Testing the Web Service

- 5-38 Test Response Containing ID of the Account Created on RightNow Cx

- 6-1 Create an Oracle Service Bus Session

- 6-2 Adding a New Project to Oracle Service Bus

- 6-3 Create a New Project Page

- 6-4 Choosing WSDL Reference

- 6-5 Creating a WSDL

- 6-6 rightnowReference WSDL

- 6-7 Selecting JCA Binding from Create Drop-Down List

- 6-8 Choosing the RightNow Adapter JCA File

- 6-9 Edit JCA Binding References

- 6-10 Generate WSDL and Service from JCA Binding

- 6-11 Generate WSDL and Service

- 6-12 Activate Session

- 6-13 Confirming Session Activation

- 6-14 Choosing an Application

- 6-15 Name Your Application

- 6-16 Create a New Project

- 6-17 Name Your Project Page

- 6-18 RightNow Adapter Configuration Wizard Components Pane

- 6-19 RightNow Adapter Welcome Page

- 6-20 Connection Page

- 6-21 WSDL Chooser Dialog

- 6-22 Import Service Bus Resources

- 6-23 Import Service Bus Resources

- 6-24 RightNow Cloud Server Connection Page

- 6-25 Add Credential

- 6-26 Test Connection to Validate Connection Key

- 6-27 Cloud Operation Configuration

- 6-28 Cloud Operation Configuration with Account Object Moved to Selected List

- 6-29 Finish Page

- 6-30 Pipeline Component

- 6-31 Create Pipeline Service Dialog

- 6-32 Creating a Pipeline

- 6-33 Select WSDL

- 6-34 Creating a Pipeline Service

- 6-35 Pipeline Component

- 6-36 Connecting the rightnowReference to the Pipeline Component

- 6-37 Routing Properties

- 6-38 Deploy Action

- 6-39 Select Server Page.

- 6-40 Summary Page

- 6-41 Success Message Page

- 6-42 Service Bus Console

- 6-43 Service Bus Deployed Projects

- 6-44 Proxy Service Definition

- 6-45 Option for Launching Test Console

- 6-46 Proxy Service Testing

- 7-1 Properties Available in the composite.xml File

- 7-2 Services & References Section

- 7-3 Properties Tab

- 9-1 Selecting Multiple Business Objects on the Operation Configuration Screen

- 9-2 Oracle RightNow Adapter Operation Configuration Screen with Multiple Operations in a Batch Selected

- 9-3 The Add Operation Screen

- 9-4 ROQL Query Input Text Box

- 9-5 Query Test Dialog Showing Query Statement Test with Sample Results

- 9-6 Oracle RightNow Adapter Operation Configuration Screen with Custom Object Selected

- 9-7 Oracle RightNow Adapter Operation Configuration Wizard Screen Showing Custom Object Selected

- 9-8 Oracle RightNow Adapter Operation Configuration Wizard Screen Showing Custom Object Selected and Get Operation Chosen

- 9-9 Oracle RightNow Adapter Configuration Wizard Finish Screen

- A-1 Fusion Middleware Control, Showing WebLogic Domain

- A-2 WebLogic Domain in Fusion MIddleware Control

- A-3 Create Map Screen

- A-4 Map Name

- A-5 Create Key

- A-6 Create Key Screen

- A-7 Enter Credentials

- A-8 Credentials Store Provider

List of Tables

- 1-1 Oracle RightNow adapter Artifacts

- 2-1 Finding Information on Objects

- 3-1 CreateProcessing Options

- 3-2 Destroy Processing Options

- 3-3 GetProcessing Options

- 3-4 UpdateProcessingOptions

- 7-1 Oracle RightNow Adapter Configurable Properties

- 8-1 Oracle Cloud Adapter for RightNow Server CX in JDeveloper

Preface

- Audience

- Documentation Accessibility

- Related Documents

- Conventions

Audience

Oracle Cloud Adapter for Oracle RightNow Cloud Service User's Guide is intended for anyone who is interested in using the Oracle RightNow adapter.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Related Documents

For more information, see the following documents in the Oracle Fusion Middleware 12c Release 1 (12.0.0.0) documentation set:

- Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite

- Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus

- Understanding Technology Adapters

Conventions

The following text conventions are used in this document:

Convention

Meaning

boldface

Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.

italic

Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.

monospace

Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.

1 Introduction to the RightNow Adapter

This chapter provides an introduction to the Oracle Cloud Adapter for Oracle RightNow Cloud Service (the Oracle RightNow adapter).

The Oracle RightNow adapter combines web, social tools, and contact center experiences for a unified, cross-channel service solution in Oracle Cloud, enabling organizations to increase sales and customer acquisition, build trust and strengthen relationships, and reduce costs and effort. The RightNow Cloud Service enterprise platform provides transparent reliability, unmatched security, and successful delivery of the mission-critical customer service and support. It is a key component of the Oracle RightNow product family.

Today, there are thousands of enterprise customers across the globe and across different industry verticals who use Oracle RightNow Cx for providing superior customer experience across multiple channels including web, contact center, social and others.

These channels empower customers to easily self-solve issues from anywhere through the web, collaborate support issues on products through social channels such as Facebook and, most importantly, manage timely resolution of incidents across all channels.

To maximize ROI in SaaS assets, enterprises need to ensure that the data in their individual SaaS and on-premise applications are accurate, up-to-date and integrated.

For example, enterprises can streamline operations and deliver real-time scheduling of field technicians for services through Field Service integration with on-premise or SaaS Applications such as E-Business Suite, TOA ETADirect and other integration with SaaS applications such Oracle Sales Cloud or Salesforce.com can ensure that the enterprise sales personnel have complete visibility into the customer experiences when they talk to their customers and prospects. Similarly, integration with bug tracking applications such as Jira or Bugzilla helps manage end-to-end resolution of customer-reported issues from start to finish.

Oracle RightNow Cx exposes various integration capabilities for desktop extensibility, data integration and web integration. Data integration capabilities of Oracle RightNow Cx enable real-time access and synchronization of data with other SaaS and on-premise applications. Oracle RightNow Cx exposes a web services platform called Oracle Cloud Connect Web Services for SOAP — a set of SOAP-based services that can be used to securely access and modify data contained in the Oracle RightNow Cx platform. It is a backward-compatible, public API that enables customers and partners to integrate with the Oracle RightNow Cx platform using industry leading standards such as WSDL 1.1 and SOAP 1.1. It provides broad support for a wide variety of languages, platforms, and tools.

The Oracle RightNow adapter leverages this web service platform to offer seamless connectivity and simplified integration with the Oracle RightNow Cx. Using the Oracle RightNow adapter and the SOA Suite platform, customers can avoid high costs of development, QA, maintenance and upgrades associated with developing custom point to point integrations with other applications.

1.1 Overview

The Oracle RightNow adapter builds on the Connect Web Services API for SOAP to provide real-time integration with the Oracle RightNow Cx Platform. The Oracle RightNow Connect Web Services platform exposes two web service definitions (WSDLs) to calling applications.

- Standard WSDL.This WSDL should be used by integration designers to model integrations specific to their Oracle RightNow instance. The typed WSDL is a strongly typed representation of the Connect Common Object Model. The strongly typed WSDL can be accessed from the following URL with a standard HTTP GET request.

<a target="_blank" href="http://">http://</a><host_name>/cgi-bin/<interface>.cfg/services/soap?wsdl=typed

Because the Standard WSDL is tied to a specific Oracle RightNow Cx Instance for an Organization, it will change if modifications or customizations are made to the instance configuration.

- Partner WSDL. This WSDL should be used by integration designers building integrations that function across multiple instances of Oracle RightNow Cx. It provides the ability to work with generic objects that can be used across multiple instances of Oracle RightNow. The generic WSDL can be accessed from the following URL with a standard HTTP GET request.

<a target="_blank" href="http://">http://</a><host_name>/cgi-bin/<interface>.cfg/services/soap?wsdl=generic

Since the WSDL is static and does not change across organizations, it will not have any customizations or modifications made to the Organization's specific RightNow Cx instance. It is used primarily by Partners, hence the name Partner WSDL.

The Oracle RightNow adapter enables customers to perform integration with a specific Oracle RightNow Cx instance through the Standard WSDL However, Partner WSDL-based integration is currently unsupported.

The Standard WSDL exposes categories of operations, including:

- Basic CRUD Operations (Create, Get, Update, Destroy Business Objects in RightNow)

- ROQL (Query data in RightNow as Objects or tabular form)

- Analytics Operations

- Miscellaneous (Executing MarketingFlow, Sending Mailing to Contact and others)

- Batch Operation (a batch of one or more of the other operations in one operation)

The above operations, more specifically the CRUD Operations, are polymorphic in nature. Though this might appear to simplify the integration interface by needing to expose just four generic CRUD operations (Create, Get, Update and Destroy) across all supported business objects in the application, it also poses challenges during the integration process, especially during data mapping. For more information, see Chapter 5, "Understanding Integration with Service Components (BPEL/Mediator)" and Chapter 6, "Developing Integrations with Oracle RightNow Adapter in Service Bus Projects".

The following is a RightNow Standard WSDL with generic CRUD operations shown.

Example 1-1 Generic CRUD Operations in a RightNow Standard WSDL

<wsdl:operation name="Create">
<wsdl:input message="rnw_v1_2:CreateRequest"/>
<wsdl:output message="rnw_v1_2:CreateResponse"/>
<wsdl:fault message="rnw_v1_2:RequestErrorFault" name="RequestErrorFault"/>
<wsdl:fault message="rnw_v1_2:ServerErrorFault" name="ServerErrorFault"/>
<wsdl:fault message="rnw_v1_2:
UnexpectedErrorFault"name="UnexpectedErrorFault"/>
</wsdl:operation>
<wsdl:operation name="Get">
<wsdl:input message="rnw_v1_2:GetRequest"/>
<wsdl:output message="rnw_v1_2:GetResponse"/>
<wsdl:fault message="rnw_v1_2:RequestErrorFault" name="RequestErrorFault"/>
<wsdl:fault message="rnw_v1_2:ServerErrorFault" name="ServerErrorFault"/>
<wsdl:fault message="rnw_v1_2:
UnexpectedErrorFault"   name="UnexpectedErrorFault"/>
</wsdl:operation>
<wsdl:operation name="Get">
<wsdl:input message="rnw_v1_2:GetRequest"/>
<wsdl:output message="rnw_v1_2:GetResponse"/>
<wsdl:fault message="rnw_v1_2:RequestErrorFault"
name="RequestErrorFault"/>
<wsdl:fault message="rnw_v1_2:ServerErrorFault"
name="ServerErrorFault"/>
<wsdl:fault message="rnw_v1_2:
UnexpectedErrorFault" name="UnexpectedErrorFault"/>
</wsdl:operation>
<wsdl:operation name="Update">
<wsdl:input message="rnw_v1_2:UpdateRequest"/>
<wsdl:output
message="rnw_v1_2:UpdateResponse"/>
<wsdl:fault message="rnw_v1_2:RequestErrorFault" name="RequestErrorFault"/>
<wsdl:fault message="rnw_v1_2:ServerErrorFault" name="ServerErrorFault"/>
<wsdl:fault message="rnw_v1_2:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
</wsdl:operation>
<wsdl:operation name="Destroy">
<wsdl:input message="rnw_v1_2:DestroyRequest"/>
<wsdl:output message="rnw_v1_2:DestroyResponse"/>
<wsdl:fault message="rnw_v1_2:RequestErrorFault" name="RequestErrorFault"/>
<wsdl:fault message="rnw_v1_2:ServerErrorFault" name="ServerErrorFault"/>
<wsdl:fault message="rnw_v1_2:
UnexpectedErrorFault" name="UnexpectedErrorFault"/>
</wsdl:operation>

RightNow Object Query Language (ROQL pronounced "Rockwell") provides a query subsystem that enables clients of the API to perform SQL-like queries against the Oracle RightNow Cx platform. The language evolved from Object Query Language (OQL), a query language standard developed by the Object Data Management Group (ODMG) for object-oriented databases modeled after SQL.

ROQL supports querying data in two forms. QueryObject enables calling applications to retrieve data as list of Objects. QueryCSV enables retrieval of data in a tabular format.

Example 1-2 ROQL Query Example to Retrieve Details of an Incident with a Specific ID

select Incident from Incident I where I.ID=102345

The Oracle RightNow adapter exposes the capabilities defined in the Standard WSDL in a simpler graphical object-operation view hiding the complexities of the interface from the integration modeler. In contrast to the polymorphic interface definition, the Oracle RightNow adapter generates a strongly-typed service operation from the design-time configuration. This significantly simplifies the data mapping exercise.

1.1.1 Prerequisites to Using the Oracle RightNow Adapter

The following are the prerequisites for you to start modeling integrations using the Oracle RightNow adapter with either the SOA Suite or Oracle Service Bus.

In addition to these prerequisites, you must ensure that you have the correct supported version of the SOA Suite and the Oracle Service Bus. For information on supported versions and platforms, see the release certification matrix at http://www.oracle.com/technetwork/middleware/ias/downloads/
fusion-certification-100350.html

- Obtain the standard WSDL. For more information on the Standard WSDL, see the Oracle RightNow Connect Web Services for SOAP Developer Guide "WSDL Retrieval".

- Ensure you have valid RightNow Cx credentials. For more information, refer to the section "Oracle Cloud Adapter for Service Cloud Connection Parameters", in the Oracle RightNow Connect Web Services for SOAP Developer Guide.

- Obtain client certificates. For more information, refer to "Service Cloud Certificate into Client/Server", in the Oracle RightNow Connect Web Services for SOAP Developer Guide.

- Create Permissions for the SOA or Service Bus Map Name. See Section 1.1.1.1, "Create Permissions for the SOA Map Name" below.

1.1.1.1 Create Permissions for the SOA Map Name

To create the permissions for the SOA Map Name:

1. Log in to Fusion Middleware Control Console.

2. Expand Weblogic Domain in the left panel.

3. Right-click the domain you want to modify and select Security > System Policies to display the page System Policies.

4. In the System Policies page, expand Search. For Type select Codebase, for Includes enter jca and click the arrow button.

5. Select jca-binding-api.jar in the search returned result and click Edit.

6. In the Edit System Grant page, click Add.

7. In the Add Permission page, click Select here to enter details for a new permission and enter the following:

- Permission Class: oracle.security.jps.service.credstore.CredentialAccessPermission

- Resource Name: context=SYSTEM,mapName=SOA,keyName=*

- Permission Action: *

8. Click OK to save the new permission.

1.1.1.2 Oracle RightNow Adapter Design Overview

The following diagram provides a complete design overview of the Oracle RightNow adapter from the runtime perspective. It shows the related one-time installation activities, deployment activities, execution dependencies, and the relation to the Oracle RightNow CX server.

Figure 1-1 Oracle RightNow Adapter Design Overview

The Oracle RightNow adapter can have multiple adapter instances. An adapter instance is basically a configured Oracle RightNow adapter, which can connect with the RightNow CX Server and invoke the RightNow Cx cloud operation which you have selected during configuration.

Each adapter instance has its own artifacts, for example, Integration WSDL and JCA file.

Because each adapter instance points to a single RightNow Cx cloud operation, there is a one-to-one correspondence from adapter instances to RightNow Cx cloud operations. For the list of supported operation, see Section 3.2, "Understanding Create, Read, Update, and Delete Operations".

The adapter instances are part of the SOA composites. Each time the adapter wizard is run, it creates one instance of the Oracle RightNow adapter.

An Oracle RightNow adapter instance consists of a jca file, a WSDL, and a reference element added to the composite.xml.

The Oracle RightNow adapter supports RightNow making outbound synchronous calls from the Oracle SOA Suite.

The Oracle RightNow adapter runtime framework uses the artifacts generated in the above steps

The following table shows the adapter configuration wizard-generated SOA composite adapter artifacts, together with notes. The Finish screen of the RightNow adapter wizard also displays these artifacts once you have completed using the RightNow adapter configuration wizard.

Table 1-1 Oracle RightNow adapter Artifacts

Artifact

Notes

rightnowReference.wsdl

The Oracle RightNow adapter supports Standard WSDL only.

<serviceName>_rightnow.jca

The JCA file contains the internal implementation details used by the adapter during run-time. It contains the different interaction and connection properties used by the adapter. The operations describe the action that must be taken against the end point, such as Create, Update, etc. The contents of the file are determined by choices made during the Adapter Configuration.

1.2 Supported Versions and Platforms

For information on supported versions and platforms, see the release certification matrix at http://www.oracle.com/technetwork/middleware/ias/downloads/
fusion-certification-100350.html

1.2.1 WSDLs Supported by Oracle RightNow Adapter

The Oracle RightNow adapter supports the Standard WSDL only. There is no support for the Partner WSDL. The API version which the RightNow adapter supports is 1.2.See also Section 2.2, "Obtaining the Standard WSDL".

For more information on the Standard WSDL, see "WSDL Retrieval" in the Oracle RightNow Connect Web Services for SOAP Developer Guide, Getting Started: Introduction to Connect to Web Services.

2 Getting Started with the Right Now Adapter

This chapter explains how to get started with the Oracle RightNow adapter. For information on running specific use cases once you have prepared the design time and run time features of the Oracle RightNow adapter, see Chapter 9, "Oracle RightNow Adapter Use Cases".

It provides information on quickly getting started with the Oracle RightNow adapter and contains the following sections:

- Section 2.1, "Using Oracle RightNow Adapter Connection Parameters"

- Section 2.2, "Obtaining the Standard WSDL"

- Section 2.2.3, "Configuring Oracle RightNow Adapter Permissions"

- Section 2.3, "Understanding the Oracle RightNow Adapter in Design Time and Runtime"

2.1 Using Oracle RightNow Adapter Connection Parameters

This section describes the Oracle RightNow adapter connection parameters that enable you to perform operations on business objects

The Oracle RightNow adapter requires your login credentials to enable you to begin using the Oracle RightNow adapter configuration wizard.

The required connection parameters are:

- Username

- Password

- Authentication Key, or CSF (Credential Store Framework) Key. This is a key you use to inject runtime credentials.The adapter uses the Credential Store Framework to retrieve the username and password required for RightNow authentication. This key identifies a user's Oracle RightNow CX login credentials during design time and has to be configured the same in the Fusion Middleware Control console on WebLogic Server under the CSF Map name SOA (Case sensitive).
See Appendix A, "Credential Store Configuration for Managing RightNow Credentials" for more information.

- For additional information, see Section 4.6.1, "Authenticating on the Oracle RightNow Cx Server with Account Passwords".

2.2 Obtaining the Standard WSDL

To obtain the standard WSDL for your use with the RightNow adapter:

1. Collect the following details from your Oracle RightNow Cx Account:

- Host

- Interface name

- Username and password

2. Open your web browser and enter the following URL to obtain the Standard WSDL, replacing the host name and interface details as appropriate.

https://<host_name>/cgi-bin/<interface>.cfg/services/soap?wsdl

For example,

https://integration-test.rightnowdemo.com/cgi-bin/integration_test.cfg/services/soap?wsdl

Note:
Permissions for Public SOAP API must be enabled for the user account to enable use of the Oracle RightNow Connect Web Services for SOAP API.
Permissions for Public SOAP API enable staff members with this profile to access the public SOAP API through account or session authentication.

The Oracle RightNow adapter does not support Partner WSDL/Generic WSDL. Thus, the support for the following URL is not supported.

http://integration-test.rightnowdemo.com/cgi-bin/integration_test.cfg/services
/soap?wsdl=generic

2.2.1 Importing the Oracle RightNow Application's Certificate into the Client/Server

To import the Oracle RightNow adapter certificate into the client/server:

1. Open your web browser and type the following URL, replacing the host_name and interface details.

https://<host_name>/cgi-bin/<interface>.cfg/services/soap?wsdl=typed

An example is:

http://integration-test.rightnowdemo.com/cgi-bin/integration_test.cfg/services/soap?wsdl=typed

Where host name is integration-test.rightnowdemo.com and the interface name is integration_test

2. Click the lock icon.

Figure 2-1 The Lock Icon in the Browser Window for Internet Explorer Browser

Figure 2-2, "Location of Lock Icon in Chrome Browser Indicated by Arrow" shows the location of the lock icon in the Chrome Browser.

Figure 2-2 Location of Lock Icon in Chrome Browser Indicated by Arrow

Figure 2-3, "Location of Lock Icon in Mozilla Firefox Browser Indicated by Arrow" shows the location of the lock icon in the Mozilla Firefox browser.

Figure 2-3 Location of Lock Icon in Mozilla Firefox Browser Indicated by Arrow

A small window pops up. Click View certificates, at the bottom of the pop-up, as shown in Figure 2-4, "View Certificates in Pop-up"

Figure 2-4 View Certificates in Pop-up

3. After clicking on View Certificates another window pops up, providing the details of the certificate. Open the Details tab and click on Copy to File button, as shown in Figure 2-5, "Certificate Details Pop-up".

Figure 2-5 Certificate Details Pop-up

4. The Windows Certificate export wizard opens. Click the Next button and select Base-64 encoded X.509 (.CER) option, See Figure 2-6, "The Certificate Wizard, with Base-64 encoded X.509m(.CER) Selected".

Figure 2-6 The Certificate Wizard, with Base-64 encoded X.509m(.CER) Selected

5. Click Next and browse to the location where you want to save the certificate. Provide an appropriate name to the certificate file and save it. For example, you can copy the certificate, say rightnowdemo.crt to the folder,
FMW_HOME/wlserver/server/lib

6. Import the downloaded certificate into your application server, and configure your application server to request the client certificate. Re-import the certificate in case certification expiration has occurred.

2.2.2 Importing the Oracle RightNow Application's Public Certificate into Weblogic Server Using Keytool

You must import the Oracle RightNow application's public certificate into Weblogic Server using the Keytool

Before you follow the steps for importing, ensure that parameter Hostname Verification field (under the tab SSL in the console) is set to NONE on the server side.

To import the Oracle RightNow adapter's public certificate into WebLogic Server Keytool:

1. Provide a suitable location on your system to save the certificate authority. Mark it as trusted. Save it on a suitable location on your system.

2. To find the WebLogic server's trust keystore location, login to the admin console http://url:port/console/

3. On the home page, proceed to Servers under Environment subsection.

4. Select the Admin server from the list of servers displayed.

5. Proceed to the Keystores tab.

Figure 2-7 The Keystores Tab

6. Under the Keystores tab, select the Demo Trust Keystore path. This is the path where the keystore resides.

The path is similar to {Middleware_Home} \wlserver_10.3\server\lib.

7. Import this certificate from the authority into WebLogic server's trust store. If you're using windows, use the command prompt or if you're using Unix/Linux, use your command shell and navigate to the path mentioned above.

8. Once at the path where the keystore resides, run the following keytool command:

keytool -import -trustcacerts -alias OracleRightNowCA -file <Filename with location> -keystore DemoTrust.jks -storepass DemoTrustKeyStorePassPhrase

For example, assuming you keep the downloaded certificate at the location as mentioned in Step 7 and the name of the certificate is OracleServiceCloudCA.cer, the keytool command you use is similar to:

keytool -import -trustcacerts -alias OracleRightNowCA -file OracleServiceCloudCA.cer -keystore DemoTrust.jks -storepass DemoTrustKeyStorePassPhrase

9. A message that the certificate was added to keystore is displayed, which confirms your successful import of the certificate. When prompted if you can trust this certificate, enter Yes and select Enter.

10. You can verify that the certificate was added to the keystore by listing all certificates using the following command:

keytool -list -keystore DemoTrust.jks -storepass DemoTrustKeyStorePassPhrase

The newly imported certificate appears as part of existing certificates in the keystore.

11. Restart the server to bring modifications made in the previous steps into effect.

2.2.3 Configuring Oracle RightNow Adapter Permissions

To configure permissions to enable you to make calls for CRUD operations and query operations:

1. Install Oracle RightNow CX client.

2. Login to Oracle RightNow CX client, See the Oracle RightNow CX User Guide.

3. Navigate to Staff Management, and then click Profiles

4. Select the Profile, the user account that must be enabled.

5. Click the Permissions tab.

6. Check Select All for Public SOAP API.

7. Check Account Authentication under Public SOAP API.

8. Select object-specific permissions from object-specific tabs. See the next section.

2.2.3.1 Details for Object-specific Permissions

See Table 2-1, "Finding Information on Objects" for information on these permissions. See the Oracle RightNow CX Cloud Service Server August 2014 User Guide for additional information.

Table 2-1 Finding Information on Objects

Information on...

Can be found in this location in the Oracle RightNow Cx User Guide

Organization Permissions

Navigate to Core Features -->Staff Management-->Customizing Profiles --> Organization Permissions

Contact Permissions

Navigate to Core Features --.>Staff Management --.>Customizing Profiles --.>Contact Permissions

Service Permissions

Navigate to Core Features --.>Staff Management--.>Customizing Profiles ' Service Permissions

Opportunity Tracking Permissions

Navigate to Core Features--.>Staff Management --.> Customizing Profiles--.>Opportunity Tracking Permissions

Custom Object Permissions

Navigate to Core Features--.>Staff Management--.>Customizing Profiles --.>Custom Object Permissions

For related permissions information, specifically, information on RightNow CX IP Address Range and Restrictions, see the Oracle RightNow Cx Server May 2013 Release Notes.

2.2.4 Authenticating on the Oracle RightNow Cx Server with Account Passwords

The following section provides information on authenticating on the Oracle RightNow Cx Server with account passwords.

2.2.4.1 Oracle Cloud Connect Web Services for SOAP API Access Control

When the Oracle Cloud Connect Web Services for SOAP API receives a request, a series of access control measures are enforced:

1. The site configuration is checked to ensure the API has been enabled at a site level.

2. The user credentials supplied in the request are validated

3. The profile for the supplied account is checked to ensure the correct profile bit is enabled. The profile is the mechanism for controlling access to administrative functions and for assigning staff members specific permissions, default workspaces, a default navigation set, and report access.

Note:
Server-side access control is enforced on all core API calls made by Oracle Cloud Connect Web Services for SOAP. The current permissions map to read, edit, delete, and move check boxes on the Profile Permissions editor in Oracle RightNow. Although server-side access is enabled by default on new May 2013 sites and later, it is disabled on upgraded sites before the May 2013 release. If you are an existing Oracle RightNow customer and plan to upgrade your site to a May 2013 or later build, contact customer care to have this security-enhancing functionality enabled.
If you already have server-side access control enabled on your site, be careful of changes you make to Profile permissions. If an Oracle RightNow administrator changes the permissions on a profile for a specific Oracle Cloud Connect Web Services for SOAP integration, such changes might break that integration.

2.3 Understanding the Oracle RightNow Adapter in Design Time and Runtime

This section provides an overview that enables you to access the Oracle RightNow adapter in both design time and runtime.

The Oracle RightNow adapter has two components:

- Design time. The design-time component of the Oracle RightNow adapter is the configuration wizard. The wizard enables generation of artifacts that are needed to invoke and consume Web services. It consists of configuration windows that create the artifacts needed to communicate with the RightNow Cx.
The JDeveloper Design Time for the Oracle RightNow adapter provides the user interface that facilitates creating an on-premise connector/adapter to the RightNow Cx. It supplies the following functionalities:

- Ability to choose the RightNow Cx WSDL on which the connection is to the RightNow Cx is to be made.

- Validation of the RightNow Cx WSDL together with its associated CSF key.

- Browsing standard objects that are available to you in RightNow CX.

- Enabling you to select/query the RightNow CX business objects in two ways:

- Ability to use the shuttle-based business object browser widget.

- Ability to perform context sensitive, system-assisted ROQL queries through your use of the ROQL editor.

The flowchart diagram below explains the complete design-time lifecycle--the actions you perform in configuring the Oracle RightNow adapter. It shows the Configuration Wizard for the runtime and how the Design Time relates to its SOA context.

Figure 2-8 Oracle RightNow Adapter Design Time Flowchart

- The adapter also has a runtime component:

- You use the runtime part of the adapter for delivering the information generated during design time to the service endpoint. This is where the invocation of the Web Service occurs.

- Figure 2-9, "Oracle RightNow Adapter Runtime"shows the complete runtime lifecycle and the activities related to performing the Oracle RightNow adapter runtime.

- Figure 2-9 Oracle RightNow Adapter Runtime

You can install the Oracle RightNow adapter for both new and existing customers of Oracle SOA Suite 12.2.1.

3 Performing Operations Using the RightNow Cx Adapter

This chapter describes common configuration steps for the RightNow adapter using JDeveloper, various operations available with the Adapter that are related to Create, Read, Update and Delete, features available with those operations, and use of the ROQL Query Language.

The chapter includes the following sections:

- Section 3.1, "Performing Common JDeveloper Configuration Steps"

- Section 3.2, "Understanding Create, Read, Update, and Delete Operations"

- Section 3.3, "Working with ROQL"

Many of the sections summarize the operation or option and point to other chapters where the information is discussed in more depth.

3.1 Performing Common JDeveloper Configuration Steps

This section provides a summary of the common configuration steps for beginning a Oracle RightNow adapter project using JDeveloper. While you can use JDeveloper to configure a RightNow adapter and create a BPEL project, you can also configure the adapter for use with other service engines, such as Service Bus.

This section is referenced in other chapters in this Guide.

3.1.1 Configuring an Oracle RightNow Adapter Component

To configure an Oracle RightNow adapter for use an outbound service using JDeveloper:

1. In the File menu of JDeveloper, click New and select Application.

Figure 3-1 Navigation

2. The New Gallery page is displayed. Select SOA Application from the Items list.

Figure 3-2 Create SOA Application

3. Provide a suitable name to your application.

Figure 3-3 Name Your Application

4. Click Next and provide a suitable name to your project.

Figure 3-4 Providing a Name for Your Project

5. Click Next.

6. Select Composite with BPEL Process from Standard Composite

Figure 3-5 Configuring SOA Settings

7. Click Finish.

8. Drag and drop the RightNow adapter component from the Components in JDeveloper to the references swimlane.

9. Click the RightNow adapter icon in the swimlane. The RightNow adapter Welcome screen appears.

Figure 3-6 Oracle RightNow Adapter Reference Screen

10. On the RightNow Adapter Connection Screen, enter connection information to connect to Oracle RightNow Cx. This includes the WSDL URL, the name of the Authentication key, and options to run in Offline Configuration mode and to Clear Cache. You can leave options both unchecked, as needed.
You can obtain the WSDL and the Authentication Key from your RightNow administrator.

Figure 3-7 Oracle RightNow Adapter Connection Screen

11. You are provided with an option to test the connection in the initial screen itself to validate the credentials. To do, select the Test option.

Figure 3-8 Test Connection

12. Next, the RightNow adapter configuration wizard displays additional information for you to select:

- The operation you want to perform.

- The objects against which you perform operations.

- Any operation-specific configurations.

At this point, you can indicate to either perform single CRUD operations or perform operations in a batch:

- Configure Cloud Operation - This option is for working with a single operation.

- Configure Multiple Operations in a Batch - Select this operation enables to work with multiple operations. This becomes unselected when you choose Configure Cloud Operation option.
See the Operation Configuration screen, where you do the large part of your work related to selecting operations.

Figure 3-9 Oracle RightNow Adapter Operation Configuration Screen

3.2 Understanding Create, Read, Update, and Delete Operations

The operations available with the Oracle RightNow Adapter include basic Create, Read, Update and Delete, or CRUD operations.

The CRUD operations enable the creation, reading, updating and deleting of objects contained in the Oracle RightNow Cx system.

All CRUD operations behave in a polymorphic manner as defined in the Polymorphic Behavior section. Therefore, any CRUD operation can accept as input parameters 1 to N heterogeneous primary objects, which means a mix of object types can be supplied to any CRUD operation in a single request.

For example, a Contact, Incident and Organization object can be supplied to a single invocation of the Create method.

There is a hard limit of 1000 objects that may be supplied in a single CRUD request – however, due to operational constraints, supplying the maximum objects might result in an error.

The return value of Create and Get (Read) is a list containing 1 to N RNObjects. The size of the list will match the size of the list provided in the operation request. The Update and Destroy methods do not return a value upon success. If a CRUD operation fails, a SOAP fault is returned to the client.

However, the Create operation returns the ID of the created business object if you have disabled suppressResponse but the Get operation returns the entire business object.

When a client of Oracle Cloud Connect Web Services for SOAP invokes a Create operation, an object or list of objects will be returned. If you require the rest of the data associated with the object, a Get operation must be performed.

The Create operation can be performed directly on all primary objects.

When a client of the Oracle Cloud Connect Web Services invokes a Get operation, an object or list of objects is returned.

The Destroy operation destroys primary objects and sub-objects.

3.2.1 Supported Features

The following sections discuss the list of features supported by Oracle RightNow adapter.

- Section 3.2.1.1, "Using CRUD Operations"

- Section 3.2.1.2, "Using the Batching Feature"

- Section 3.2.1.3, "Chaining"

- Section 3.2.1.4, "Using Chaining"

3.2.1.1 Using CRUD Operations

The Oracle RightNow adapter supports CRUD, or Create, Read, Update, and Destroy Operations. The basic operations supported include the following:

- Section 3.2.1.1.1, "Creating One or Multiple Business Objects"

- Section 3.2.1.1.2, "Retrieving Data from One or Multiple Objects"

- Section 3.2.1.1.3, "Updating One or Multiple Business Objects"

- Section 3.2.1.1.4, "Deleting one or Multiple Business Objects"

3.2.1.1.1 Creating One or Multiple Business Objects

You create one or multiple business objects (standard or custom) on RightNow Cx using the Oracle RightNow adapter. For example, you create Organization, Contact and Incident objects all as part of a single request or as three independent requests.

In the following screenshot taken from the Oracle RightNow adapter Operation Configuration screen, Organization, Contact and Incident objects are all created as part of one request.

Figure 3-10 Creating Organization, Contact, and Incident Objects in One Request

In the following screenshot, one object, an Organization object is created.

Figure 3-11 Creating One Object

3.2.1.1.2 Retrieving Data from One or Multiple Objects

You can retrieve data either from one or multiple objects available on the RightNow CX cloud platform using the Oracle RightNow adapter. For example, you can use the Oracle RightNow adapter to retrieve data just related to just organizations or the information could be a combination of organizations, contacts and incidents in one request.

In the following screenshot, you retrieve data from just Organization, by specifying the Get operation in Oracle RightNow adapter Cloud Operation Configuration screen and selecting the Organization object.

1. Choose the Get operation from the list of Cloud Operations.

2. Use the arrow to move the Organization object from the Available list to the Selected list.

3. Click Next.

Figure 3-12 Retrieving Data from One Object

In the following screenshot, you use the Oracle RightNow adapter Cloud Operation Configuration screen to obtain data from multiple objects using one Get request and by selecting Organization, Contact and Incident.

Figure 3-13 Retrieving Multiple Objects

3.2.1.1.3 Updating One or Multiple Business Objects

Use the Update operation to update any primary object and associated sub-objects. You can update one or multiple business objects (standard or custom) on the RightNow CX cloud platform using the Oracle RightNow adapter. For example, you can update Organization, Contact and Incident objects as part of a single request or as three independent requests.

The following screenshot shows the Organization, Contact and Incident objects updated as part of a single Update request on the Oracle RightNow adapter Cloud Operation Configuration screen.

To perform an Update operation:

1. Select Update from the list of Cloud Operations.

2. Select one or more Business Objects from the Available list.

3. Use the arrows to move it to the Selected list.

4. Click Next.

Figure 3-14 Updating Multiple Objects with One Request

The following screenshot shows Updating one object as part of a series of updates to three objects. In this example, the Organization object is updated.

Figure 3-15 Updating a Single Business Object

3.2.1.1.4 Deleting one or Multiple Business Objects

You can delete one or multiple business objects (standard or custom) on the RightNow Cx cloud platform using the Oracle RightNow adapter. For example, you can delete Organization, Contact and Incident objects all as part of a single request or as three independent requests.

In the following screenshot, you use the Oracle RightNow adapter Cloud Operation Configuration screen to delete Organization, Contact and Incident objects.

To delete multiple business objects:

1. Choose the Destroy operation from the list of Cloud Operations.

2. Use the arrow to move the Organization, Contact and Incident objects from the Available list to the Selected list.

3. Click Next.

Figure 3-16 Deleting Multiple Objects

In the following screenshot, you use the Oracle RightNow adapter Cloud Operation Configurations screen to delete one business object.

Figure 3-17 Deleting One Business Object

3.2.1.2 Using the Batching Feature

Batching is a unique feature of the Oracle RightNow adapter that enables one or more heterogeneous operations to be sent to RightNow Cx server through a single operation. This feature enables the integration developer to update an existing organization, create a contact for an existing organization, delete a note for an existing incident, or create a new incident. Using batching, all these instructions can be consolidated and sent to Oracle RightNow Cx server as a single operation The Oracle RightNow adapter extends this capability by providing the necessary tooling to configure batch operations and batching options.

The adapter also provides an integration-friendly interface for batch operations and processing options. You can select the Configure batch operation option from the Oracle RightNow adapter configuration wizard to configure this option.

Other features of batching include:

- Each operation in a batch has separate processing options. The adapter configuration wizard provides a graphical and intuitive way for users to configure the processing options.

- Operations within a batch are normally executed in a single transaction, but these operations can be grouped into different units of work using the commitAfter property.

3.2.1.2.1 Oracle RightNow Adapter User Interface Support for Batching

Batching is a unique feature of the Oracle RightNow adapter that allows one or more operations to be sent to Oracle RightNow Cx through a single operation.

The Oracle RightNow adapter extends batching capability by providing the necessary tooling to configure batch operations and batching options. It also provides an integration-friendly interface for batch operations and processing options.

The following section describes how you can use the adapter configuration wizard to model the Oracle RightNow adapter for batch operations:

1. In a SOA project or a service bus project, drag and drop the Oracle RightNow adapter from Components to the composite swim lane. Provide a valid reference name. See Figure 3-18, "Oracle RightNow Adapter Configuration Wizard Reference Screen"

Figure 3-18 Oracle RightNow Adapter Configuration Wizard Reference Screen

2. Provide connection details.

Figure 3-19 Oracle RightNow Adapter Configuration Wizard Connection Screen

3. In the Cloud Operation Configuration page, select the option to configure a batch operation.

Figure 3-20 RightNow Adapter Configuration Wizard Operation Page with Batch Selected

4. Selecting this option enables you to configure multiple operations in a batch. Select the Add operation icon, the plus sign. The adapter displays the Add an Operation dialog.

5. You can then select and add an operation in the batch operation.

Figure 3-21 RightNow Adapter Configuration Wizard Batch Add Operation Dialog

6. Once added, the operations appear listed with the appropriate business object.

Figure 3-22 RightNow Adapter Configuration Wizard Operation Options

7. Each operation in a batch process has separate processing options that can be specified in the Properties tab. For example, the Add Operation has three properties you can specify: Suppress External Events, Suppress Rules, and Commit After.

Figure 3-23 Add Operation Dialog

8. Select Next to complete the adapter wizard. The confirmation dialog will display the generated artifacts.

Operations within a batch are normally executed in a single transaction; however, these operations can be grouped into separate units of work using the commitAfter property.

3.2.1.2.2 Batch Process WSDL

The following examples represent different parts of a sample WSDL from a batch process. The first example shows the PortType and Operation defined within the integration WSDL for the Batch operation:

Example 3-1 PortType and Operation

<wsdl:portType name="rightnowReferencePortType">
<wsdl:operation name="Batch">
<cloud:CloudOperation xmlns:cloud="http://xml.oracle.com/types" targetOperation="Batch"/>
<wsdl:input message="ns0:BatchRequestMessage"/>
<wsdl:output message="ns0:BatchResponseMessage"/>
<wsdl:fault name="ServerErrorFault"
message="ns0:ServerErrorFault"/>
<wsdl:fault name="RequestErrorFault"
message="ns0:RequestErrorFault"/>
<wsdl:fault name="UnexpectedErrorFault" message="ns0:UnexpectedErrorFault"/>
</wsdl:operation>
</wsdl:portType>

The second example shows the input message type defined in the Integration WSDL Batch operation.

Example 3-2 Input Message Type Defined in Integration WSDL Batch Operation:

<xs:element name="Batch" type="ns2:BatchRequestType"/>
<xs:complexType name="BatchRequestType">
<xs:sequence>
<xs:element name="Create"
type="ns2:CreateRequestType"/>
<xs:element name="Update"
type="ns2:UpdateRequestType"/>
<xs:element name="Get"
type="ns2:GetRequestType"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="CreateRequestType">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" type="ns7:Account" name="Account"/>
</xs:sequence>
</xs:complexType>

The next example shows the output message type defined in the integration WSDL Batch operation.

Example 3-3 Output Message Type Defined in Integration WSDL Batch Operation:

<xs:element name="BatchResponse" type="ns2:BatchResponseType"/>
<xs:complexType name="BatchResponseType">
<xs:sequence>
<xs:element name="Create" type="ns2:CreateResponseType"/>
<xs:element name="Update" type="ns2:UpdateResponseType"/>
<xs:element name="Get" type="ns2:GetResponseType"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="CreateResponseType">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0"
type="ns7:Account" name="Account"/>
<xs:element name="RequestErrorFault" maxOccurs="1"
minOccurs="0"
type="ns9:RequestErrorFaultType"/>
<xs:element name="UnexpectedErrorFault"
maxOccurs="1" minOccurs="0"
type="ns9:UnexpectedErrorFaultType"/>
<xs:element name="ServerErrorFault"
maxOccurs="1" minOccurs="0"
type="ns9:ServerErrorFaultType"/>
</xs:sequence>
</xs:complexType>

3.2.1.3 Chaining

Chaining is an Oracle RightNow adapter feature that you can use to correlate multiple operations within a single batch request. Specifically, you use Chaining together with batching to execute related operations. For operations to be chained together, the source and target operations of a chain must be in the same unit of work.

For example, the following request has three operations which are all part of the same sample batch request.

1. Create a Contact.

2. Create Incident (the primary Contact for this Incident is the one you created in the first step.)

3. Get the Incident (you must return the Incident just created.)

Using the attributes highlighted in the example in Section 3.2.1.3, "XML for Chaining", provide a look at how this is accomplished in code.

Example 3-4 XML for Chaining

<Batch
xmlns="http://xmlns.oracle.com/pcbpel/adapter/
rightnow/RNDemo01/RNBatchDemo01/rightnowReference"
xmlns:rna_v1_2="urn:metadata.ws.rightnow.com/v1_2" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:rnm_v1_2="urn:messages.ws.rightnow.com/v1_2"
xmlns:rnn_v1_2="urn:nullfields.ws.rightnow.com/v1_2"
xmlns:rnf_v1_2="urn:faults.ws.rightnow.com/v1_2" xmlns:ns1="urn:base.ws.rightnow.com/v1_2"
xmlns:rno_v1_2="urn:objects.ws.rightnow.com/v1_2" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:rng_v1_2="urn:generic.ws.rightnow.com/v1_2"
xmlns:rnw_v1_2="urn:wsdl.ws.rightnow.com/v1_2"
xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/
rightnow/RNDemo01/RNBatchDemo01/rightnowReference"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:CreateContact>
<tns:Contact>
<ns1:ID xsi:type="ns1:ChainSourceID"
variableName="MyContact" />
<rno_v1_2:Name>
<rno_v1_2:First>John</rno_v1_2:First>
<rno_v1_2:Last>Doe</rno_v1_2:Last>
</rno_v1_2:Name>
</tns:Contact>
</tns:CreateContact>
<tns:CreateIncident>
<tns:Incident>
<ns1:ID xsi:type="ns1:ChainSourceID"
variableName="MyIncident" />
<rno_v1_2:PrimaryContact>
<rno_v1_2:Contact>
<ns1:ID xsi:type="ns1:ChainDestinationID" variableName="MyContact" />
</rno_v1_2:Contact>
</rno_v1_2:PrimaryContact>
<rno_v1_2:Subject>This is a test subject.
</rno_v1_2:Subject>
</tns:Incident>
</tns:CreateIncident>
<tns:GetIncident>
<tns:Incident>
<ns1:ID xsi:type="ns1:ChainDestinationID"
variableName="MyIncident" />
</tns:Incident>
</tns:GetIncident>
</Batch>

There are request and response payloads associated with Section 3.2.1.3, "Integration Request Payload" provides an example of an integration request payload.

Example 3-5 Integration Request Payload

<Batch
xmlns="http://xmlns.oracle.com/pcbpel/adapter/
rightnow/RNDemo01/RNBatchDemo01/rightnowReference"
xmlns:rna_v1_2="urn:metadata.ws.rightnow.com/v1_2" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:rnm_v1_2="urn:messages.ws.rightnow.com/v1_2"
xmlns:rnn_v1_2="urn:nullfields.ws.rightnow.com/v1_2"
xmlns:rnf_v1_2="urn:faults.ws.rightnow.com/v1_2" xmlns:ns1="urn:base.ws.rightnow.com/v1_2"
xmlns:rno_v1_2="urn:objects.ws.rightnow.com/v1_2" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:rng_v1_2="urn:generic.ws.rightnow.com/v1_2" xmlns:rnw_v1_2="urn:wsdl.ws.rightnow.com/v1_2"
xmlns:tns="http://xmlns.oracle.com/pcbpel/
adapter/rightnow/RNDemo01/RNBatchDemo01/rightnowReference"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:CreateContact>
<tns:Contact>
<ns1:ID xsi:type="ns1:ChainSourceID" variableName="MyContact" />
<rno_v1_2:Name>
<rno_v1_2:First>John</rno_v1_2:First>
<rno_v1_2:Last>Doe</rno_v1_2:Last>
</rno_v1_2:Name>
</tns:Contact>
</tns:CreateContact>
<tns:CreateIncident>
<tns:Incident>
<ns1:ID xsi:type="ns1:ChainSourceID"
variableName="MyIncident" />
<rno_v1_2:PrimaryContact>
<rno_v1_2:Contact>
<ns1:ID xsi:type="ns1:ChainDestinationID" variableName="MyContact" />
</rno_v1_2:Contact>
</rno_v1_2:PrimaryContact>
<rno_v1_2:Subject>This is a test
subject.</rno_v1_2:Subject>
</tns:Incident>
</tns:CreateIncident>
<tns:GetIncident>
<tns:Incident>
<ns1:ID xsi:type="ns1:ChainDestinationID"
variableName="MyIncident" />
</tns:Incident>
</tns:GetIncident>
</Batch>

The response payload is shown in Example 3-6, "Integration Response Payload":

Example 3-6 Integration Response Payload

<itns:BatchResponse xmlns:n0=
"urn:messages.ws.rightnow.com/v1_2"
xmlns:n2="urn:base.ws.rightnow.com/v1_2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:n1="urn:objects.ws.rightnow.com/v1_2" xmlns:itns="urn:oracle.cloud.adapter.rightnow/1214">
<itns:Create>

<itns:Contact>
<n2:ID id="1903" />
</itns:Contact>
</itns:Create>
<itns:Create>

<itns:Incident>
<n2:ID id="455" />
</itns:Incident>
</itns:Create>
<itns:Get>

<itns:Incident>
<n2:ID id="455" />
<n2:LookupName>140623-000003</n2:LookupName>
<n2:CreatedTime>2014-06-23T14:44:03.000Z</n2:CreatedTime>
<n2:UpdatedTime>2014-06-23T14:44:03.000Z</n2:UpdatedTime>
<n1:CreatedByAccount>
<n2:ID id="2" />
</n1:CreatedByAccount>
<n1:InitialResponseDueTime>2014-06-24T00:00:00.000Z
</n1:InitialResponseDueTime>
<n1:Interface>
<n2:ID id="1" />
</n1:Interface>
<n1:Language>
<n2:ID id="1" />
</n1:Language>
<n1:PrimaryContact>
<n1:Contact>
<n2:ID id="1903" />
</n1:Contact>
</n1:PrimaryContact>
<n1:Queue>
<n2:ID id="2" />
</n1:Queue>
<n1:ReferenceNumber>140623-000003</n1:ReferenceNumber>
<n1:Source>
<n2:ID id="6006" />
<n2:Parents xsi:type="n2:NamedReadOnlyID">
<n2:ID id="32007" />
</n2:Parents>
</n1:Source>
<n1:StatusWithType>
<n1:Status>
<n2:ID id="1" />
</n1:Status>
<n1:StatusType>
<n2:ID id="1" />
</n1:StatusType>
</n1:StatusWithType>
<n1:Subject>This is a test subject.</n1:Subject>
</itns:Incident>
</itns:Get>
</itns:BatchResponse>

3.2.1.4 Using Chaining

Chaining is always used together with batching and does not require any extra step in the Oracle RightNow adapter batch configuration wizard.

However, to use Chaining, you must link the right chain source and destination in the adapter request, as illustrated in the sample request above.

The following steps illustrate how you can achieve Chaining during transformation with the Oracle XSLT mapper.

1. In the Oracle XSLT mapper, load the Oracle RightNow adapter Reference/business Service request type as the target type.

2. When creating a Contact Object which must be chained to a different Object example, Incident), substitute the Contact ID with the extension ChainSourceID.

Figure 3-24 Choosing a Substitute Element or Type in the XSLT Mapper

3. Expand the Contact object.

4. Right-click the ID element and select Substitute Element or Type from the popup.

5. The opens the Substitute Element or Type dialog. In the dialog, select ChainSourceID.

Figure 3-25 Substitute Element or Type Dialog

This substitution extends the Contact ID type.

Figure 3-26 Contact ID Type Expanded

Set the variableName property with a unique string (for example: MyContact) that uniquely identifies this chain head.

6. During the Create Incident operation, set the following: in the PrimaryContact field of Incident, set the ChainDestinationID so the Incident is created for the Contact as they are Chained.
In other words, ChainDestinationID of MyContact is set on the PrimaryContact field.

<rno_v1_2:PrimaryContact>
<rno_v1_2:Contact>
<ns1:ID xsi:type="ns1:ChainDestinationID"
variableName="{string ('MyContact' )}"/>
</rno_v1_2:Contact>
</rno_v1_2:PrimaryContact>

7. Similarly, to create Incident and subsequently perform a Get on this incident, substitute the Incident ID with the chainSourceID. Set the variableName property with a unique string (example: MyIncident).

8. Next, in the Get operation, substitute the Incident ID with the extension ChainDestinationID and set the variableName property to the variable name of the chainSourceID (that is, MyIncident).

9. Map other types as appropriate.

3.2.2 Supported Processing Options

Use processing options to enable and disable certain aspects of server-side processing when performing a a RightNow cloud operation. Processing options are created and supplied to the various WSDL operations that use processing options. Following is a list of all supported processing options, along with their usage and default values. This section includes the following subsections:

- Section 3.2.2.1, "CreateProcessingOptions"

- Section 3.2.1.2, "Using the Batching Feature"

- Section 3.2.1.3, "Chaining"

- Section 3.2.1.4, "Using Chaining"

3.2.2.1 CreateProcessingOptions

You can use CreateProcessingOptions together with the Create operation, by specifying them on the Create Properties Tab. CreateProcessingOptions contain properties listed in Table 3-1, "CreateProcessing Options".

Table 3-1 CreateProcessing Options

Field

Description

SuppressExternalEvents

Used to indicate that external events should not run after the Create operation completes. The default value is language specific, refer to your documentation and generated client code for more information on the default value.

SuppressResponse

RightNow adapter-specific option. This property, which takes boolean values, indicates if an ID must be returned for a Create operation.

SuppressRules

Used to indicate that business rules should not run after the Create operation completes. Refer to your documentation and generated client code for more information on the default value

3.2.2.2 DestroyProcessingOptions

You can use DestroyProcessiongOptions together with the Delete operation, by specifying them on the Delete Operation Properties tab. DestroyProcessingOptions contain the following properties.

Table 3-2 Destroy Processing Options

Field

Description

SuppressExternalEvents

Used to indicate that external events should not run after the Destroy operation completes. Refer to your documentation and generated client code for more information on the default value.

SuppressRules

Used to indicate that business rules should not run after the Destroy operation completes. Refer to your documentation and generated client code for more information on the default value

3.2.2.3 GetProcessingOptions

You can use GetProcessiongOptions together with the Get operation by specifying them on the Get Operation Properties Tab. GetProcessingOptions contain the following properties.

Table 3-3 GetProcessing Options

Field

Description

FetchAllNames

Signals to the server that all NamedID types should include both the Name and the ID for that field. Note the use of this if very inefficient and should only be used when all Name and ID fields are required. If all Name and ID fields are not require, this option should not be used, for more information, see the Get operation

3.2.2.4 UpdateProcessingOptions

You can use UpdateProcessingOptions together with the Update operation by specifying them on the Update Operation Properties Tab. UpdateProcessingOptions contain the following properties:

Table 3-4 UpdateProcessingOptions

Field

Description

SuppressExternalEvents

Used to indicate that external events should not run after the Update operation completes. The default value is language specific, refer to your language documentation and generated client code for more information on the default value.

SuppressRules

Used to indicate that business rules should not run after the Update operation completes. The default value is language specific, refer to your language documentation and generated client code for more information on the default value.

3.3 Working with ROQL

The ROQL facility enables you to make queries against the RightNow Cx database.

This section includes the following information:

- Section 3.3.1, "Using ROQL"

3.3.1 Using ROQL

If you select the ROQL operation category, a query editor opens. Type the ROQL statement depending on the operation you selected.

ROQL enables you to search your organization's RightNow Cx data for specific information.

This chapter will not be focusing on discussing ROQL at length. Refer to Oracle Service Cloud Connect Web Services for SOAP.

3.3.1.1 ROQL Query Statement

The ROQL Query statement queries data from Oracle RightNow Cx. The Query statement text box consists of ROQL statements according to Oracle RightNow CX.

Refer to the section ROQL Operations for more information on the query operation. For detailed information on ROQL, see the Oracle RightNow Connect Web Services for SOAP Developer's Guide and navigate to the ROQL section. See Figure 3-27, "Sample ROQL Query" for an example.

Figure 3-27 Sample ROQL Query

3.3.2 ROQL Query Statement

Use the ROQL Query statement to query data from RightNow Cx. The Query statement text box consists of ROQL statements according to RightNow Cx. Refer to the section in ROQL Operations for additional information on query operation. For detailed information on ROQL, see the Oracle RightNow Connect Web Services for SOAP Developer's Guide and navigate to the ROQL section.

3.3.3 Running the Query Test Tool

The Query Test tool helps to run and test the query. When you click the Test icon, a test dialogue box appears.

The Query Test dialogue that appears contains the following areas:

- Query Statement and Results. The Query Statement text box is for the query itself and the Results box shows the result of the query executed. If the query has one or more bind parameters in it, one or more input boxes will appear to provide values for these

- Refresh Bind Parameters. Use this button to refresh the Bind Parameters box, if you have made any change in the number of bind parameters in the query statement.

- Execute Query. Use this button to execute the query.

- Results from query. After the successful execution of Execute Query, the text area is filled with results from RightNow Cx.

See Figure 3-28, "Query Test Screen, with Specific Areas Highlighted", which highlights the areas of the screen.

Figure 3-28 Query Test Screen, with Specific Areas Highlighted

3.3.4 Using the ROQL Query Builder

This section discusses how to use the ROQL query builder. The ROQL query builder addresses several areas that are often problematic for the integration developer.

This approach helps you in writing complex, error-free queries with greater ease. To accomplish writing such queries, the ROQL Query Builder provides the following features, described in these subsections:

- Section 3.3.4.1, "Simplifying the Discovery of Standard and Custom Business Objects"

- Section 3.3.4.2, "Suggesting Query Constructs Based on the Context"

- Section 3.3.4.3, "Providing Auto-Completion"

- Section 3.3.4.4, "Providing Alias Support to Improve Readability"

- Section 3.3.4.5, "Using ROQL to Suggest Relationships"

- Section 3.3.4.6, "Using the Query Builder to Obtain Inline and Semantic Validation"

3.3.4.1 Simplifying the Discovery of Standard and Custom Business Objects

The ROQL Query Builder identifies for you potential standard and custom objects that you can use in constructing the queries. To see an example of this feature:

1. Select ROQL as the Cloud API option on the Operation Configuration page.

2. Enter Select in the ROQL Editor Text area and enter Ctrl+Space. The Query Builder displays a list of standard and custom objects available on Oracle RightNow Cx as shown in Figure 3-29, "Displaying a List of Standard and Custom Objects Available on Oracle RightNow Cx".

Note:
If the custom objects you create do not appear in the list of objects shown in the operations page, check the option Clear Cache in the connection page, then connect again to obtain the latest metadata from the RightNow Cx system.

Figure 3-29 Displaying a List of Standard and Custom Objects Available on Oracle RightNow Cx

3. Alternatively, you can provide a specific package to display all custom objects created in that package as shown in Figure 3-30, "Providing a Package to Display All Custom Objects Created in That Package".

Figure 3-30 Providing a Package to Display All Custom Objects Created in That Package

3.3.4.2 Suggesting Query Constructs Based on the Context

ROQL Query Builder automatically identifies the context, based on the position of the cursor, for the query string. Using this context, the Query Builder provides recommendations, enabling you to write efficient ROQL queries. This feature operates in the following manner:

1. When you enter Select in the ROQL Editor Text area and press Ctrl+Space, the Query Builder displays all standard and business objects.

2. Similarly, if you perform the query Select Contact from Contact where and enter Ctrl+Space after the where clause, you are provided with the list of fields of the Contact object that you can use in fine-tuning the query, and applicable keywords and functions.

Figure 3-31 Query in Context, Showing List of Fields in Contact Object

3.3.4.3 Providing Auto-Completion

The auto-completion feature facilitates building complex ROQL queries in a quick and efficient manner. To see this feature:

1. Using the query string Select Se, if you perform Ctrl+Space after the term, Se, the Query Builder displays all objects that start with Se.

Figure 3-32 Query Auto-Completion

3.3.4.4 Providing Alias Support to Improve Readability

The ROQL Query Builder features support for aliasing. It recognizes when aliasing of the RightNow Object (Base class for all primary objects in the Oracle RightNow adapter) is being queried and treats the alias name as the actual object name.

All operations associated with the object can then be performed on the alias.

1. In the query string Select from ServiceCategory S where, S is set as an alias for object ServiceCategory. Thus, you can perform all operations associated with ServiceCategory on the alias 'S'. Some of the operations you can perform on the alias include the following.

2. If you perform Ctrl+Space between Select and from in the query above, the query builder will display S , suggesting that the S should come in between Select and From, as shown here - Select S from ServiceCategory S where.

Figure 3-33 Alias Support

3. If you enter a dot after the first S, all relationships associated with Service Category are displayed.

Figure 3-34 Alias Support with All Relationships Displayed

4. Similarly in this query, Select S from ServiceCategory S where S, if you enter a dot after the last S, all fields associated with ServiceCategory will be displayed.

Figure 3-35 Alias Support Showing All Fields Associated with ServiceCategory Displayed

3.3.4.5 Using ROQL to Suggest Relationships

ROQL has support for the relationship feature. With this feature you can reach from one primary object to other primary objects through a relationship.

The ROQL Query Builder identifies and lists all reachable relationships from the identified object. It can list relationships of relationships.

For more details see Oracle RightNow Connect Web Services for SOAP Developer's Guide

If you must find the parent organization of a particular Contact, enter Select Contact in the ROQL text area and enter "." which displays all relationships possible on the Contact object, as shown in Figure 3-36, "Suggesting Relationships Example".

Figure 3-36 Suggesting Relationships Example

3.3.4.6 Using the Query Builder to Obtain Inline and Semantic Validation

The Query Builder has a built-in inline validator that highlights problematic text by drawing a red curved line underneath it and also provides suggestions to correct the error in a tooltip message.

The Query Builder validator performs spelling checks on keywords, object names, relationship names, field names and names of functions. All the keywords that are typed correctly will automatically be colored blue, indicating the validity of these keywords.

Figure 3-37 Query Validation Example

The ROQL Query builder also has support for semantic validation of the query. It can recognize that the specified relationship or field name is invalid for the currently selected object, as shown in Figure 3-38, "Semantic Validation in Query Builder".

Figure 3-38 Semantic Validation in Query Builder

3.3.5 Adapter Support for ROQL

The Oracle RightNow adapter provides a query subsystem that enables you to perform SQL-like queries against the RightNow CX platform using the object query language.

This language is the RightNow Object Query Language (ROQL, pronounced "Rockwell"). The query language is based on a subset of Object Query Language (OQL) and a SQL-like query language that has been extended to handle object notation.

ROQL currently supports only the Query Objects Feature and not Query CS.

3.3.5.1 Query Arguments

Using the following query as an example:

Use query arguments to fine-tune queries. Hence, in the above example, Lin and CA are query arguments.

Select Contact from Contact where Contact.Name.First = 'Lin' AND Contact.Address.City = 'CA'

Query parameters are a unique concept through you can parameterize the query arguments, which the adapter substitutes with actual values during query execution.

Much like SQL, the query language has a provision to fine-tune the search by passing in filters in the WHERE clause. This fine-tuning is made possible by use of the concept of bind parameters.

3.3.5.2 Support for Bind Parameters

The Oracle RightNow adapter provides you an option to give inputs to your query statement in the form of bind parameters.

Figure 3-39 Query Inputs in the Form of Bind Parameters

See the following query example shown for the Oracle RightNow adapter user interface. The ampersand & symbol prefixed to contact_name and contact_address indicates that the ampersand is a bind parameter.

Figure 3-40 Query Example using BInd Parameters

You can run the Run Query Test tool to see how a query such as this works with bind parameters by clicking the Run Query Test Tool button on the right.

Figure 3-41 Running a Query Test

As shown above, the Run Query Test tool prompts you to provide a value for the bind parameter, here &contact_name and &contact_address.

Figure 3-42 Run Query Test Tool Prompting for Bind Parameters

After providing an appropriate value to the bind parameter and clicking the Execute Query button, you can view the result set for that particular query.

Figure 3-43 Query Test Tool Query Result, Using Bind Parameters

The WSDL generated for this particular Adapter query contains the bind parameter as part of input schema.

Figure 3-44 Part of Generated Input Schema for WSDL Showing Bind Parameter

The jca file generated for this particular Adapter query is:

Example 3-7 JCA File Generated when Bind Parameters are Used in Query

<adapter-config name="rightnowReferencePortType" adapter="rightnow" wsdlLocation="../WSDLs/rightnowReference.wsdl" xmlns="http://platform.integration.oracle/blocks
/adapter/fw/metadata">
<connection-factory location=
"cloud/CloudAdapter">
<non-managed-connection managedConnectionFactoryClassName="oracle.cloud.connector.
rightnow.
RightNowConnectionFactory">
<property name="targetWSDLURL"
value="../WSDLs/soap.wsdl"/>
<property name="csfkey" value="csf21"/>
<property name="appID"
value=
"removeWhenAppIdIsHardcodedByRNPlugin"/>
<property name="applicationVersion" value="1_2"/>
</non-managed-connection>
</connection-factory>
<endpoint-interaction
portType="rightnowReferencePortType"
operation="Get">
<interaction-spec className="oracle.tip.adapter.cloud.
CloudInteractionSpec">
<property name="targetOperation" value="Get"/>
<property name="operationPath" value="Get"/>
<property name="gpo.fetchAllNames" value="false"/>
</interaction-spec>
</endpoint-interaction>
</adapter-config>

Once queries are parameterized, the Oracle RightNow adapter enables its consumers to pass in the query parameters as part of the request payload.

The adapter dynamically substitutes the query parameter from the request payload to reconstruct the ROQL query with arguments during service invocation.

Thus, by using the adapter to easily define query parameters, you can parameterize query arguments and dynamically inject these parameters at runtime.

4 Understanding RightNow Adapter Advanced Concepts

This chapter describes the design-time and runtime advanced capabilities of the Oracle RightNow Cloud adapter.

This chapter contains information on the following features:

- Section 4.1, "Understanding the SOAP API"

- Section 4.2, "Handling the Polymorphic Behavior of Oracle RightNow Cx Schema"

- Chapter 4, "Integrating with Custom Objects in the Cloud"

- Section 4.4, "About the Clear Cache User Interface Check Box Option"

- Section 4.5, "About the Offline Mode User Interface Check Box Option"

- Section 4.6, "Understanding Oracle RightNow Adapter Security Management"

- Section 4.7, "Oracle RightNow Adapter Test Functionality"

- Section 4.8, "Oracle RightNow Adapter Limit and Restriction Handling"

4.1 Understanding the SOAP API

The Oracle RightNow adapter requires a connection to enable you to perform operations on business objects. In addition to operations on business objects, the RightNow API model also includes a definition of the types of transactions used when the Oracle RightNow adapter communicates with RightNow Cx.

4.1.1 Understanding Objects

There are two types of objects upon which the Oracle RightNow adapter enables you to perform actions:

- Standard business objects. These are objects delivered by the Oracle RightNow SaaS application. Primary objects are objects with a unique ID (primary key) which can be directly created, read, updated, and deleted. All primary objects inherit from the RightNow RNObject. Primary objects have no set lifecycle in the Oracle RightNow Cx platform, meaning that once the objects are created, they exist in the system until they are deleted. While primary objects have their own life cycle, sub objects that could be anywhere between 0 to many for a single primary object, live within the context of primary objects. Hence, their life cycle is based on the life cycle of the primary object. The exact lifecycle behavior for objects can be obtained from the relationship information contained in the metadata or in the object model documentation.

- Custom business objects. A custom business object is an object that has been created by a customer. It can be modeled after any standard object, or it can be entirely unique. When created, custom objects are treated and act just like standard, primary objects. The only difference between the standard objects and custom objects is in the name of the object that is used. For the primary objects, you can use the name of the class such as 'Contact'. For custom objects, you can use the combination of the package name and custom object name to uniquely identify the custom object. The package name and object name are joined by a '.'. For example, if there was a custom object package called 'CO' and a custom object named PurchasedProduct you would reference this object as CO$PurchasedProduct.

4.1.2 Understanding Transactions

The RightNow adapter supports the message exchange patterns supported by RightNow SaaS application. It is a synchronous request - response based message exchange pattern. The BPEL / OSB application makes a synchronous request to RightNow adapter and waits for a response. The adapter in turn does the necessary transformation on the same thread before making a synchronous request to RightNow Cx Server using the RightNow SOAP API.

The response returned by RightNow application after necessary processing is in turn received by the calling thread. The adapter performs the transformation before sending the response back to BPEL / OSB based client application.

Every operation that writes to RightNow Cx object, such as create or update is, by default, committed. Batch Operation does enable the integration developer to override the default. Refer to the section on Batch Support for more information.

4.2 Handling the Polymorphic Behavior of Oracle RightNow Cx Schema

Oracle Cloud Connect Web Services for SOAP defines a number of operations which either accept or return one or more instances of RNObject (which is the Base class for all primary RightNow object classes).

This feature enables the same operations to behave in a polymorphic manner, in which the input and return values can be any instance of a derived class of RNObject.

This feature accomplishes this behavior by passing in subclass instances from program language bindings, and also through the use of the xsi:type attribute in the serialized XML for the object. The xsi:type specifies the concrete type that is being substituted in the element with the type RNObject.This behavior enables developers working with Oracle Cloud Connect Web Services for SOAP to work with any type of object that inherits from the base class, RNObject and to pass this object into any operation that expects an instance of RNObject. In addition, developers can cast returned instances of RNObject to the appropriate subclass.For more information on polymorphic behavior, see Oracle Service Cloud Connect Web Services for SOAP.

Due to this polymorphic nature, mapping from source object to target object user experience is somewhat complex for standard objects that inherit RNObject. For custom objects and custom attributes, it is more complex.

The Oracle RightNow adapter elevates the element definitions as first-class citizens for standard objects, custom objects and custom fields, reducing the number of steps you must perform to create complex transformations and simplifying your experience mapping source to target definitions.

4.2.1 Example: Mapping A Custom Object

Following is a sample of a mapping experience of a custom object with and without Oracle RightNow adapter. The example might not be typical, but it helps you understand the mapping experience and the differences between doing so with and without the Oracle RightNow adapter.

One example shows mapping an Oracle RightNow custom object without using an Oracle RightNow adapter. The second example shows the same mapping, the difference being that the second example is greatly simplified; the adapter simplifies the process.

4.2.1.1 Example: Mapping an Object without Using an Oracle RightNow Adapter

This section provides information about creating a custom object instance without using the Oracle RightNow adapter. In this scenario, you create a SOA Composite and use the Web Service adapter to create a client for RightNow Service.The steps follow that are required when you create a data mapping using XSLT mapper from a client source schema to a custom object schema.

See Figure 4-1, "Using XSLT Mapper to Map a RightNow Custom Object for the Schema without Using the Oracle RightNow Adapter-Generated WSDL".

1. In the XSLT editor, on the target schema node RNObject, right-click and select Substitution Type or Element then choose Generic Object.

2. Set Object ObjectType->TypeName : Value of the RightNow CustomObject Name created in RightNow

3. Set GenericFields->dataType: Data type value of the custom attribute. for example, STRING, or INTEGER

4. Set GenericFields->name: name of the custom attribute.

5. Set GenericFields->DataValute->StringValue : Value of the attribute

Figure 4-1 Using XSLT Mapper to Map a RightNow Custom Object for the Schema without Using the Oracle RightNow Adapter-Generated WSDL

The source view is:

Figure 4-2 Sample XSL File in Source Mode

4.2.1.2 Example: Mapping an Object with the Oracle RightNow Adapter

This section provides information about creating a custom object instance with the Oracle RightNow adapter. You create a SOA Composite and use the Web Service adapter to create a client for an integration-friendly Oracle RightNow adapter-generated WSDL.

Use the following steps to create the data mapping using the XSLT mapper from a client source schema to a custom object schema (the schema is strongly typed and referred from the integration-friendly WSDL generated by the Oracle RightNow adapter). The custom object is a first class entity in generated Local WSDL Map the fields directly in the mapper as shown below.

4.3 Integrating with Custom Objects in the Cloud

A custom object is an object that has been created by a customer. It can be modeled after any standard object, or it can be entirely unique.It can either be a standalone object or it can be the child of an existing standard object.

4.3.1 Creating Custom Objects in the RightNow Cx Server

Follow these instructions to create custom objects in the RightNow Cx server.

1. Login to the Oracle RightNow Cx client, and follow instructions in Section 4.6.2.1, "Configuring Restricted Access Permissions on RightNow Cx".

2. Click Configuration on the navigation pane.

3. Double-click Object Designer under Database. The object designer opens on the content pane.

4. Select a package to which you want to add the custom object, or create a new package for the object by clicking New on the ribbon and selecting Package. Enter the name you want for the package. Package names must be between two and eleven characters in length.

5. Click New on the ribbon and select Object. The Object Summary page displays.

Figure 4-3 Object Summary Page

6. Enter a name for the object in the Name field.

7. Click Fields on the ribbon to add predefined or customized fields to the object and add custom fields. For additional information, see the Oracle RightNow Connect Web Services for SOAP documentation.

8. Click the Save and Close button on the ribbon to save changes to the custom object. RightNow performs a validation when either the Save or Save and Close buttons are clicked. Any validation errors, such as a missing field name, display in a message and must be corrected before the object can be saved.

9. Deploy the custom objects when you are ready.

4.3.2 Selecting Custom Objects to Perform Operations

Once a custom object has been created, you can select the object against which to perform operations.

1. Figure 4-4 Selecting a Custom Object to Perform Operations

Once you select the custom object, an Integration-friendly WSDL is generated with custom object schema in strongly typed format. A non-normative sample of the generated custom object schema is shown in Figure 4-5, "Example of a Custom Object Schema".

Figure 4-5 Example of a Custom Object Schema

4.4 About the Clear Cache User Interface Check Box Option

To minimize the number of calls to Oracle RightNow Cx for fetching metadata, the adapter maintains a cache where all metadata information is stored for future reference.

However, if any modification is done to objects on Oracle RightNow Cx, and the change must be reflected in the Oracle RightNow adapter, the clear cache option in the user interface deletes the old cache and fetches the latest metadata from Oracle RightNow Cx server.

4.5 About the Offline Mode User Interface Check Box Option

This option enables you to configure the Oracle RightNow adapter in offline mode. As soon as you select the offline configuration check box, the configuration wizard makes a call to Oracle RightNow Cx to fetch metadata information about the Oracle RightNow Cx objects. This is stored in the cache which is used when subsequent a adapter instance is created.This feature helps reduce the Oracle RightNow adapter operation calls an adapter would make use of the cache rather than the live Oracle RightNow adapter call. In this mode, the adapter does not support test functionalities which requires a direct call to Oracle RightNow Cx server.

Uncheck the Offline Mode check box to resume working in online mode.

4.5.1 Behaviors Expected When Using Offline Mode

Although the Offline Mode has numerous advantages, limitations include:

- You are not able to run the Query Test tool if the Offline Configuration check box is checked. In that case, if you click the Query Test tool button, a warning message is displayed that Query Test is not available in Offline mode.

- You will also not be aware of any new custom objects /custom attributes added by the organization while in offline mode. You must uncheck the Offline Configuration check box and either check the Clear cache or Offline configuration checkboxes to fetch the latest metadata.

4.6 Understanding Oracle RightNow Adapter Security Management

The Oracle RightNow adapter uses the Credentials Store Framework to store credentials captured during the configuration of connections within the Oracle RightNow adapter configuration wizard. This ensures that the credentials captured during configuration are stored in secured form and are not stored with the SOA Composite or Oracle Service Bus flow.

Currently, the CSF_KEY and the associated credentials are not automatically migrated to the WebLogic server domain in which the composites will be deployed for runtime execution.

Hence, the integration developer or administrator is expected to create and configure the CSF key using the Fusion Middleware Control console. For information on how to configure the CSF key, see Appendix A, "Credential Store Configuration for Managing RightNow Credentials".

At runtime, the adapter automatically retrieves the credentials from the Credentials Store Framework based on the CSF_KEY that was specified during design time. These credentials are injected into the SOAP header of the document that is sent to the RightNow Cx Server for authentication.

4.6.1 Authenticating on the Oracle RightNow Cx Server with Account Passwords

The following section provides information about authenticating on the Oracle RightNow Cx Server with account passwords. This section includes:

- Section 4.6.1.1, "Understanding Access Control on the Oracle RightNow CX Server"

- Section 4.6.2.1, "Configuring Restricted Access Permissions on RightNow Cx"

4.6.1.1 Understanding Access Control on the Oracle RightNow CX Server

When the Oracle Cloud Connect Web Services for SOAP API receives a request, a series of access control measures are enforced:

1. The site configuration is checked to ensure the API has been enabled at a site level.

2. The user credentials supplied in the request are validated.

3. The profile for the supplied account is checked to ensure the correct profile bit is enabled. The profile is the mechanism for controlling access to administrative functions and for assigning staff members specific permissions, default workspaces, a default navigation set, and report access.

Note:
Server-side access control is enforced on all core API calls made by Oracle Cloud Connect Web Services for SOAP. The current permissions map to read, edit, delete, and move check boxes on the Profile Permissions editor in Oracle RightNow. Although server-side access is enabled by default on new May 2013 sites and later, it is disabled on upgraded sites before the May 2013 release. If you are an existing Oracle RightNow customer and plan to upgrade your site to a May 2013 or later build, contact customer care to have this security-enhancing functionality enabled.
If you already have server-side access control enabled on your site, be careful of changes you make to Profile permissions. If an Oracle RightNow administrator changes the permissions on a profile for an Oracle Cloud Connect Web Services for SOAP integration, they might break that integration.

4.6.2 Oracle Cloud Connect Web Services for SOAP Site Configuration

Access to the Oracle Cloud Connect Web Services for SOAP is available only on those sites that have it enabled. If Oracle Cloud Connect Web Services for SOAP is not enabled, contact your Oracle account manager, as the API will not function and a request error will be returned.

Request errors are generated any time there is a validation failure or a data related error of the inbound request.The exception code will be ACCESS_DENIED and the message will be the message base string for SOAP_SERVER_DISABLED.

For complete information on request errors and exception codes, see Oracle Connect Web Services for SOAP.

Before staff accounts can be authenticated through Oracle RightNow Cx, their profile(s) must be updated on the Profile Permissions editor in Oracle RightNow Cx. The permissions check boxes are located at Staff Management > Profiles > Permissions.

Figure 4-6 Location of Permissions Checkboxes

In addition, RightNow Cx administrators can restrict access to Oracle Cloud Connect Web Services for SOAP integrations by IP address using the configuration settings in the Oracle RightNow Cx platform. The following setting is located at Site Configuration > Configuration Setting

- SEC_PAPI_INTEG_HOSTS_SOAP: Defines which hosts are allowed to access the SOAP interface. Valid entries include a comma-separated list of domain names with wildcards, specific IP addresses, or IP subnet masks (for example, *.rightnow.com,1.2.3.4, 10.11.12.0/255.255.255.0).
Only users logging in from hosts matching entries in this list are allowed access to the SOAP interface. The default is blank.

4.6.2.1 Configuring Restricted Access Permissions on RightNow Cx

To configure restricted access permissions:

1. Install the Oracle RightNow Cx client.

2. Login to the Oracle RightNow Cx client installed on your workstation. You can immediately begin configuring and customizing the application.
To access the same site in the future, you can launch the client by selecting Start menu > All Programs > RightNow > RightNow (<site_name>). The client application is site-based, meaning that a separate client must be deployed for each site you access.

However, a single client application can be used to access all interfaces on a single site. Interfaces are added to the client in the same way the client is deployed.

Access the interface's Launch page and click the Install Oracle RightNow CX Cloud Service button (as described in the Oracle RightNow Cx User's Guide), and the deployment tool adds the interface to the Interface drop-down menu on the client's Login window.

3. Configure the SEC_PAPI_INTEG_HOSTS_SOAP setting. Refer to the Oracle RightNow Cx User's Guide.

4.6.3 Validating Account Credentials

When a request is sent to the API and the site configuration has been validated, the next step is to validate the account credentials. If the credentials do not verify, a request error is returned. The exception code will be INVALID_LOGIN, and the message will be the message base string LOGIN_ID_PASSWD_COMBINATION_INV_MSG.

4.6.4 Profile Configuration

The profile for the staff account which is used in the security header must have the Public SOAP API profile bit enabled. If this bit is not enabled, a request error is returned. The exception code will be ACCESS_DENIED, and the message will be the message base string PROFILE_NO_SOAP_ACCESS_MSG.

4.6.5 Password-based Authentication

Oracle Cloud Connect Web Service for SOAP utilizes Web Services Policy 1.2 is defined by http://specs.xmlsoap.org/ws/2004/09/policy/ws-policy.pdf for client authentication.

The supporting XSD for the security policy is located at http://schemas.xmlsoap.org/ws/2004/09/policy/ws-policy.xsd

To authenticate with single sign-on, refer to Authenticating with SAML 2.0.

The WS-Security specification calls for a Security tag in the SOAP Header with a namespace of

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd.

Inside the Security tag is a UsernameToken tag (part of the WS-Security UsernameToken Profile 1.0 specification). The UsernameToken tag contains elements for Username, Password, Nonce, and Created. The Password element has a Type attribute which specifies if the content of the Password element is PasswordText. Oracle Cloud Connect Web Services for SOAP does not support PasswordDigest.

The Nonce and Created elements are not supported. If a request is received that contains the PasswordDigest type or the Created/Nonce elements, the server rejects the request as a malformed request.

The following is an example SOAP request with username and password credentials:

Example 4-1 Example SOAP Request with Username and Password Credentials

soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004
/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
soapenv:mustUnderstand="1">
<wsse:UsernameToken
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="UsernameToken-3902281">
<wsse:Username>comland</wsse:Username>
<wsse:Password Type=
"http://docs.oasis-open.org/wss/2004
/01/oasis-200401-wss-username-token-profile-1.0
#PasswordText">Connect1</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
</soapenv:Envelope>

4.7 Oracle RightNow Adapter Test Functionality

Test functionality is a distinctive feature of the Oracle RightNow adapter that is available in two forms.

One form enables you to test the connection parameters. The second form enables you to validate and execute a ROQL query.

The section below provides more information about these two features.

4.7.1 Design-Time Test Functionality Details

Design-time test functionality includes the following test functionalities:

- Test Right Now CX Cloud Connection: There is a Test Connection button on Connection Configuration page of the Oracle RightNow adapter configuration wizard.
By clicking on the Test Connection button you receive either of the following messages:

- Success! - For successful connection

- Failure! - For any exception during login

- Query Test Tool: This tool helps to run and test your queries. When you click the Test icon on the Operation Configuration page of the Oracle RightNow adapter configuration wizard, a test dialogue box appears with a Query Statement text box and a Results box showing the query result,.

4.8 Oracle RightNow Adapter Limit and Restriction Handling

The following limits and restrictions apply to this adapter. They include:

- Section 4.8.1, "Delete-Cascading Delete Effect"

- Section 4.8.2, "API Limits Enforced by the RightNow Cx Server"

4.8.1 Delete-Cascading Delete Effect

There is a cascading delete effect when using Oracle RightNow adapter for a Destroy Delete operation.

Primary objects are deleted directly through the Delete operation. To destroy a primary object, an instance of the object must be instantiated and the ID property set, but no other fields require population. When a primary object is deleted, this operation may also ”cascade” to related primary objects.

For additional information on cascading delete effects, and a summary of aggregations that will cause a cascading delete effect, see the Oracle RightNow Connect Web Services for SOAP Developer Guide.

4.8.2 API Limits Enforced by the RightNow Cx Server

While usage of Oracle Cloud Connect Web Services for SOAP is unlimited, there are practical limits which are enforced by the RightNow Cx server.

There are two important limits relevant to the use of the Oracle RightNow adapter:

- 100 Batch items per SOAP request. The Batch operation enforces a hard limit of 100 items. If this limit is exceeded, a fault is returned before completing any operations. If the limit is exceeded, batch items are not processed.

- Each individual Create, Get, Update, and Destroy operation is limited to 1000 items. RightNow Cx server checks the number of items in the request at the beginning and if the number of items is more than 1000, or if the number of items causes the combined summation of items to exceed the request maximum, RightNow Cx server throws an exception and does not process the request.

- 10,000 total input objects per SOAP request. The combination of the multi-object Create, Get, Update and Destroy operations and the Batch operation is limited to 10,000 total input objects per SOAP request. RightNow Cx keeps a running total of objects which is managed by Create, Get, Update, and Destroy operations. Each time one of the bulk operations occurs, the number of items is added to the total number of objects processed in the request.
The processing of the Batch operations will occur until the limit of 10,000 objects is reached. Once reached, the operation causing the 10,000 limit will be terminated and a fault returned. Operations contained within the Batch request that do not contain input objects will continue to execute.

These three limits (100, 1000, 10000) are treated independently. Some operations affect both the bulk limits and the total operation limits (for example, Create, Get, Update, and Destroy).

For additional information, see the see the Oracle RightNow Connect Web Services for SOAP Developer Guide.

5 Understanding Integration with Service Components (BPEL/Mediator)

This chapter includes these sections:

- Section 5.1, "Overview"

- Section 5.2, "Configuring the CSF Key on Fusion Middleware Control Console"

- Section 5.3, "Designing a Composite for Service Integration"

- Section 5.4, "Configuring Oracle RightNow Adapter"

- Section 5.5, "Integrating with BPEL"

- Section 5.6, "Deploying the Composite"

- Section 5.7, "Testing the Composite"

5.1 Overview

To integrate with Oracle BPEL Process Manager, the organization's Enterprise WSDL must be available to the user. The underlying adapter services are exposed as WSDL files, which are generated during design time in the configuration wizard of the Oracle RightNow adapter.

Use the generated WSDL files to design the appropriate BPEL processes for outbound adapter services. A completed BPEL process must be successfully compiled in JDeveloper and deployed to an SOA Suite server. Upon deployment to a SOA Suite server, each newly-deployed process is viewable in the Oracle Fusion Middleware Control console, where you can run, monitor, administer BPEL processes, and monitor adapter events.

5.1.1 Understanding the Account Object

You create an Account object and integrate the WSDL with the Oracle BPEL Process Manager. Account is one of the standard objects provided by RightNow, an account generated for a staff member in the RightNow Cx system. Customer service representatives, sales agents, and site administrators use Accounts.

Specifically, an Account object on RightNow Cx represents an individual or business associated with the business.

The Oracle RightNow adapter enables you to create an Account object on RightNow Cx.

5.2 Configuring the CSF Key on Fusion Middleware Control Console

For steps to configure the CSF key on the Fusion Middleware Control Console, seeAppendix A, "Credential Store Configuration for Managing RightNow Credentials".

5.3 Designing a Composite for Service Integration

The next steps detail how to design a composite using the Oracle JDeveloper Studio Edition, a comprehensive tool for developing Oracle Fusion Middleware applications. It provides an easy-to-use Integrated Development Environment that enables you to create your integrations efficiently.

5.3.1 Defining Composite for BPEL and Mediator

To define a composite for BPEL and Mediator:

1. In the File menu of JDeveloper, click New and select Application.

Figure 5-1 Navigation

JDeveloper displays the New Gallery page. Select SOA Application from the Items list.

Figure 5-2 Create SOA Application

2. Provide a suitable name to your application.

Figure 5-3 Name Your Application

3. Click Next and provide a suitable name to your project.

Figure 5-4 Provide a Name for Your Project

4. Click Next.

5. Select Composite with BPEL Process from Standard Composite list.

Figure 5-5 Configure SOA Settings

6. Click Finish.

7. Select the Synchronous BPEL Process from Template drop-down and click OK.

Figure 5-6 Create BPEL Process

The composite.xml appears.

Figure 5-7 Composite.xml

8. In the Application Navigator, under the Schemas folder, JDeveloper displays an XML schema file with the name BPELProcess1.xsd after BPEL process creation.

Figure 5-8 XML Schema File

9. Edit this schema file as your business needs require. It is the responsibility of the front-end application to enforce data validations and to ensure that the input sent to the Oracle RightNow Cx Server from SOA is error-free.
The structure of the schema used in this use case is as shown below.

Figure 5-9 Edit XML Schema File

5.4 Configuring Oracle RightNow Adapter

To configure a new Oracle RightNow adapter:

1. In External References swim lane of the composite.xml file, right-click and select Oracle RightNow Adapter.

Figure 5-10 Oracle RightNow Adapter with composite.xml File

2. JDeveloper displays the Oracle RightNow Adapter Configuration Wizard - Welcome page.

3. Click Next.

Figure 5-11 Oracle RightNow Adapter Configuration Wizard Welcome Screen

4. JDeveloper displays the Oracle RightNow Adapter Server Connection page. You must provide the WSDL URL/Location and Authentication Key details.

Figure 5-12 Oracle RightNow Adapter Configuration Wizard Server Connection Screen

5. If you have the WSDL available in the file system, click the Find existing WSDLs icon, located to the right of the WSDL on the screen.
JDeveloper displays the WSDL Chooser dialog. Browse and select the downloaded Enterprise WSDL and click OK.

Figure 5-13 Oracle RightNow Adapter Configuration Wizard WSDL Chooser Dialog

6. Click OK.

Figure 5-14 Oracle RightNow Adapter Configuration Wizard

7. Click OK. You are returned to the Oracle RightNow Adapter Server Connection page.

8. As an alternative, you can store WSDL at an MDS location and access it. The next screenshot shows you storing the WSDL at an MDS location.

Figure 5-15 Storing WSDL at an MDS Location

9. Navigate to IDE Connections-> SOA-MDS. Select the appropriate SOA-MDS connection where you placed the Enterprise WSDL. Select the WSDL file to be used in the adapter configuration and click OK.

10. Ensure that the WSDL is of the form:

oramds:/apps/SOA/WSDLs/Integration/rightnowAPI.wsdl

An alternative is to directly provide the https URL:

https://integration-test.rightnowdemo.com/cgi-bin/integration_test.cfg/services/soap?wsdl

Figure 5-16 Oracle RightNow Adapter Configuration Wizard Server Connection Showing WSDL

11. Click OK.

12. Click ”+” button to create a new Authentication Key.

13. JDeveloper displays the Add Credential dialog box. Provide a suitable name and the Right Now credentials and click OK.

Figure 5-17 Oracle RightNow Adapter Configuration Wizard Add Credential Dialog

14. Click Test Connection button to validate the Authentication Key.

Figure 5-18 Oracle RightNow Adapter Configuration Wizard Server Connection Screen Showing Successful Test Connection

15. Click Next.

16. JDeveloper displays the Cloud Operation Configuration page.

Figure 5-19 Oracle RightNow Adapter Operation Configuration Showing Account Business Object Selected

17. Because the requirement is to create an Account on RightNow, select the Operation Category as CRUD and Cloud Operation as create.
On the same screen, move Account from the list of Available objects to the list of the Selected objects. The WSDL Operation by default is create. You can edit the WSDL Operation by providing an operation name suitable to your business requirement.

18. Click Properties tab. JDeveloper displays the Oracle RightNow Adapter Processing Options page.

Figure 5-20 Oracle RightNow Adapter Configuration Wizard Operation Options Screen with Suppress Response Option Selected

19. Select the processing options for your requirement. Properties displayed in this page depend on the operation you selected in the previous page. In this case, the SuppressResponse checkbox is selected, and suppressing a response is disabled, that is, made false. Once this is selected, the Create operation returns a valid ID for a a batch operation instance you are creating.

20. Click Next. JDeveloper displays the Finish page, which provides a complete summary of the operation selected, the object on which the operation operates and the headers selected for that operation.

21. Figure 5-21 Oracle RightNow Adapter Configuration Wizard Finish Screen

22. Click the Finish button to complete the Oracle RightNow adapter Configuration wizard. After clicking on Finish button, the External References screen appears.

Figure 5-22 The Services, Components and External References Screen Showing the Adapter in External References Swimlane

5.5 Integrating with BPEL

Perform the following steps to provide integration with BPEL:

1. Connect BPELProcess1 and ServiceCloudCreateAccount using a wire.

Figure 5-23 BPELProcess1 and RightNowAccount External Reference Connected Through a Wire

2. After wiring your composite appears.

Figure 5-24 Composite Application with Service, BPELProcess and Reference Wired

3. Double-click and open BPELProcess1. The Oracle RightNow adapter should be present as a part of the Partner Links.

Figure 5-25 Oracle RightNow Reference Adapter Shown as Part of Partner Links

4. Add an Invoke activity to invoke the ServiceCloudCreateAccount Partner Link. To add the Invoke activity:

1. Drag and drop the invoke activity from the BPEL constructs.

Figure 5-26 Invoke Activity

2. After dropping the Invoke property on the canvas, wire the Invoke activity to the ServiceCloudAdapter partner link.

5. Create an input variable to the partner link by clicking the + button adjacent to Input text box in the Variables section. JDeveloper displays the Create Variable dialog.

Figure 5-27 Create Variable Dialog to Create an Input Variable for the Partner Link

6. Create an output variable from the partner link by clicking the + button adjacent to Output text box in the Variables section. The wizard displays the Create Variable dialog.

Figure 5-28 Create Variable Dialog to Create an Output Variable

7. Introduce two transform activities, one before the Invoke activity and another after it.

Figure 5-29 Two Transform Activities in Bpel Diagram

8. Map Transform1 values from receive activity's input variable to the Invoke activity's input variable.

Figure 5-30 Mapping Transform1 Values from Receive Activity's Input Variable to Invoke Activity's Input Variable

9. Click the + button adjacent to Mapper File text box to open the Transformation_1.xsl file.

10. Map between inputVariable and Invoke1_create_InputVariable:

- Map Account_Name with Name.

- Map Phone with Phone.

- Map Website with Website.

- Map Description with Description.

Figure 5-31 Mapping between inputVariable and Invoke1_create_InputVariable

11. Map Transform2 values from the Invoke activity's output variable to the reply activity's input variable.

Figure 5-32 Mapping Transform2 values from Invoke Activity's Output Variable to Reply Activity's Input Variable

12. Map the output variable.

Figure 5-33 Mappings for Output Variable

This completes the project creation. JDeveloper displays the composite.xml.

13. Figure 5-34 Composite.xml

5.6 Deploying the Composite
To deploy the composite application:

1. In the Application Navigator pane, right-click Project1 and select Deploy Project1.

Figure 5-35 Deploying the Project

2. Select the Deploy to Application Server option and follow the instructions. Using this option, you can deploy the composite on the Application server after providing the details of the server.

5.7 Testing the Composite

You can run and test the instances of deployed SOA composite applications from the Oracle Fusion Middleware Control Console. Doing so enables you to manage a composite application, initiate and track an instance of a composite and to view detailed component instance audit trails.

The following process shows you how to test the composite.

5.7.1 Testing the Outbound Process

To test the Outbound process:

1. Login to Fusion Middleware Console for the server on which you have deployed your project.

2. Open Project1 under the Default partition.

3. Click the Test button to test the Web service.

Figure 5-36 Test Button

4. Provide the input payload and click the Test Web Service button.

Figure 5-37 Testing the Web Service

After successful execution, the response contains the id of the account created on RightNow and Status as success.

Figure 5-38 Test Response Containing ID of the Account Created on RightNow Cx

6 Developing Integrations with Oracle RightNow Adapter in Service Bus Projects

This section explains how to create Oracle Service Bus projects using the Oracle Service Bus console and JDeveloper. To create these projects, you first need to generate Oracle RightNow adapter artifacts using JDeveloper 12c, and subsequently, use those artifacts while creating Oracle Service Bus projects and services with the Oracle Service Bus console.

This chapter contains the following topics:

- Section 6.1, "Generating Oracle Cloud Adapter Artifacts"

6.1 Generating Oracle Cloud Adapter Artifacts

To create Oracle Service Bus projects using Oracle Service Bus Console, you must use Oracle RightNow adapter artifacts generated using JDeveloper.To create a BPEL composite, see the section Section 5.3, "Designing a Composite for Service Integration".

You use the artifacts generated in Section 5.4, "Configuring Oracle RightNow Adapter" in creating Oracle Service Bus business services in Oracle Service Bus console.

Note:
You must configure the CSF key on the Fusion MIddleware Control Console. For an explanation of the steps to configure the CSF key on Fusion Middleware Control Console, refer to Appendix A, "Credential Store Configuration for Managing RightNow Credentials"

6.1.1 Creating Oracle Service Bus Projects Using the Service Bus Console

To create Oracle Service Bus projects and services using the Oracle Service Bus console.

1. Log in to Oracle Service Bus Console: http://hostname:port/servicebus

2. On right side of the page, click Create. This opens a new session in the Oracle Service Bus console to enable you to make changes.

Figure 6-1 Create an Oracle Service Bus Session

3. Right-click All Projects and click Create - Project.

Figure 6-2 Adding a New Project to Oracle Service Bus

4. The Oracle Service Bus Console displays the Create a new Project dialog box.

5. Enter the project name in the Resource Name field, and provide the description in Description field.

Figure 6-3 Create a New Project Page

6. Click Create. A new project named RightNow Create appears under All Projects.

7. Import the Oracle RightNow adapter artifacts in this project. Right-click the Project name just created. Select Create and select the WSDL.

Figure 6-4 Choosing WSDL Reference

8. The console displays the WSDL Creation Page. Click Browse and browse to the directory where you have stored the artifacts received from JDeveloper. Choose the Oracle Cloud Adapter for RightNow WSDL.

Figure 6-5 Creating a WSDL

9. Click Create.

10. Right-click the Project name, from the menu select Create and then WSDL. On the WSDL Creation Page, browse for rightnowReference WSDL.

Figure 6-6 rightnowReference WSDL

11. Click Create.

12. Select JCA Binding from the Create drop-down list under Project Name.

Figure 6-7 Selecting JCA Binding from Create Drop-Down List

13. The JCA Binding creation dialog box is displayed. Click Browse and browse to the directory where the artifacts received from the JDeveloper 12c are stored. Choose the Oracle Cloud Adapter for RightNow JCA file.

Figure 6-8 Choosing the RightNow Adapter JCA File

14. Click Create. You are returned to the Project page. You might get an error message such as The JCA Binding 'rightnowReference_rightnow' was successfully created with validation errors. View the JCA Binding/Conflicts to see detailed diagnostic messages.
This error is thrown because the JCA binding cannot find the associated WSDL. To rectify the error if you receive it, click the JCA file you created and then click Edit.

15. Click Browse. Search for the WSDL you created and click Submit after choosing the WSDL.

Figure 6-9 Edit JCA Binding References

16. Click Save.

17. Navigate to the project folder. Right-click the JCA Binding just created, and click Generate WSDL and Service option.

Figure 6-10 Generate WSDL and Service from JCA Binding

18. Enter a new name for the WSDL name in the New WSDL Name field and the service name in the New Service Name field.

Note:
Choose the correct location for the new WSDL and service to be generated.

19. Click Generate.

Figure 6-11 Generate WSDL and Service

The console generates the new WSDL and the new business service.

20. Activate the Oracle Service Bus session by clicking Activate in the right corner.

Figure 6-12 Activate Session

21. The console displays the Confirm Session Activation dialog box. Click Activate to activate the session.

Figure 6-13 Confirming Session Activation

22. Click Activate to activate a session.

6.1.2 Creating a Service Bus Project, and Generating Oracle Service Bus JCA Business Service

This section describes how to create a Service Bus project using JDeveloper. It also includes information on generating an Oracle Service Bus JCA Business Service using the Oracle RightNow adapter. It includes: creating an empty composite for the Oracle Service Bus, then defining an Oracle Service Bus outbound process, and finally deploying that Oracle Service Bus project on a server.

6.1.2.1 Creating an Empty Console for the Oracle Service Bus and Creating a New Service Bus Project

To create an empty composite for the Oracle Service Bus:

1. Create a new Oracle Service Bus application, Select File-->New-->Application. The New Gallery opens, where you can select application components to create.

Figure 6-14 Choosing an Application

2. On the Name your Application page, optionally change the name and directory location for the application.

Figure 6-15 Name Your Application

3. Create a new Service Bus project.

Figure 6-16 Create a New Project

4. On the Name your Project page, optionally change the name of your Service Bus project. Make sure the project directory is in the application directory (this is the default).

Figure 6-17 Name Your Project Page

5. Click Finish.

6.1.2.2 Defining a Service Bus Business Service with the Oracle RightNow Adapter

This section describes how to define an Oracle Service Bus Business Service for RightNow integration using the Oracle RightNow adapter, which consists of the following stages:

- Section 6.1.2.2.1, "Configuring the Oracle RightNow Adapter Component"

- Section 6.1.2.2.2, "Configuring a Proxy Service"

- Section 6.1.2.2.3, "Deploying the Outbound Oracle Service Bus Process"

6.1.2.2.1 Configuring the Oracle RightNow Adapter Component

To configure an Oracle RightNow adapter component:

1. Open the Service Bus Overview Editor.

2. Drag and drop the Oracle RightNow adapter component from the Components panel to the External Services swim lane.

Figure 6-18 RightNow Adapter Configuration Wizard Components Pane

The Welcome page of the adapter configuration wizard is displayed.

Figure 6-19 RightNow Adapter Welcome Page

3. Enter a reference name for the RightNow adapter reference in the Name field and then click Next.

4. On the Connection Information page, browse for the Enterprise WSDL location by clicking on the Browse button.

Figure 6-20 Connection Page

5. The WSDL Chooser dialog is displayed. Browse and select the downloaded Enterprise WSDL and click OK.

Figure 6-21 WSDL Chooser Dialog

6. Click OK.

Figure 6-22 Import Service Bus Resources

7. Click Next.

Figure 6-23 Import Service Bus Resources

8. Click Finish. The wizard returns you to the RightNow Cloud Server Connection page.

Figure 6-24 RightNow Cloud Server Connection Page

9. Select an authentication key from the dropdown, if available, or create an Authentication key by clicking on + button.

10. The Add Credential dialog box is displayed. Provide a suitable name and the RightNow credentials and click OK.

Figure 6-25 Add Credential

11. Click the Test Connection button to validate the Authentication Key.

Figure 6-26 Test Connection to Validate Connection Key

12. Click Next. The Cloud Operation Configuration page is displayed.

Figure 6-27 Cloud Operation Configuration

13. The WSDL Operation by default is Create. You can edit this operation by providing an operation name suitable to your business requirement. Select the Account object from the Available objects list, and move to the Selected objects list.

Figure 6-28 Cloud Operation Configuration with Account Object Moved to Selected List

14. Click Next, The Finish page is displayed.

Figure 6-29 Finish Page

6.1.2.2.2 Configuring a Proxy Service

To configure a Service Bus Proxy Service:

1. Using the Oracle Service BusOracle Service Bus Overview Editor, right-click the Pipeline/Split Joins lane and click Insert and then Pipeline.

Figure 6-30 Pipeline Component

The Create Pipeline Service dialog is displayed.

2. Figure 6-31 Create Pipeline Service Dialog

3. In the Service Name field, enter a name to identify the pipeline name and select the corresponding location of the project.

4. Click Next and select the Service Type as WSDL.

Figure 6-32 Creating a Pipeline

5. Click the Browse icon, which is located to the right of the WSDL URL, to select the WSDL from the file system.

6. Select the appropriate WSDL file from the Application -> Resources.

Figure 6-33 Select WSDL

7. Click OK. The selected WSDL and corresponding binding is displayed. Ensure the check box for Expose as a Proxy Service is selected.

Figure 6-34 Creating a Pipeline Service

8. Select Proxy Transport as http.

9. Click Finish. The Pipeline component is displayed.

Figure 6-35 Pipeline Component

10. Connect rightnowReference to the Pipeline.

Figure 6-36 Connecting the rightnowReference to the Pipeline Component

11. Open the pipeline which shows the default routing. Verify the service and corresponding operation will be displayed in the Routing Properties.

Figure 6-37 Routing Properties

The outbound Service Bus Project is ready to be deployed

6.1.2.2.3 Deploying the Outbound Oracle Service Bus Process

To deploy the outbound Oracle Service Bus Project:

1. Select the project and select Deploy to Service Bus Server.

Figure 6-38 Deploy Action

2. Select the already-configured Application Server and click Next.

Figure 6-39 Select Server Page.

3. Check the deployment summary and click Finish.

Figure 6-40 Summary Page

4. The Success Message page indicates the Project is successfully deployed.

Figure 6-41 Success Message Page

The successfully deployed project can be tested from Service Bus Console.

6.1.2.3 Testing the Oracle Service Bus Project from the Service Bus Console

To test the Oracle Service Bus project from the Service Bus Console:

1. Open the Service Bus Console and enter user ID and Password.

Figure 6-42 Service Bus Console

2. All the deployed projects are displayed under All Projects.

Figure 6-43 Service Bus Deployed Projects

3. Open the project you want to test and click Proxy Service of that project. For example, PipelineProxyService in this case, as shown in the Figure below

Figure 6-44 Proxy Service Definition

4. The Option for Launch Test Console (Green arrow button) is displayed for testing the outbound endpoint.

Figure 6-45 Option for Launching Test Console

5. Launching Test Console opens new window displaying the Proxy Service and the operation to test along with Execute, Execute-Save, Reset and Close button.

Figure 6-46 Proxy Service Testing

The Request Document section contains the Request Payload.

6. Provide the input and click the Execute button. This sends the payload to Oracle RightNow Cx and the response is displayed under the Response Document section.

7 Configuring the Oracle RightNow Cx Adapter on Oracle WebLogic Server

This chapter explains how to configure the Oracle RightNow adapter on WebLogic Server.

The chapter consists of a discussion of the properties available for configuration at runtime.

7.1 Understanding Oracle RightNow Adapter Runtime Properties

The following section provides information on Oracle RightNow Cx Run-Time properties and centers on configurable retry properties.

7.1.1 About Retry Properties

Table 7-1, "Oracle RightNow Adapter Configurable Properties" shows the configurable properties related to Oracle RightNow adapter. You can modify these properties in the composite file or at the Fusion Middleware Control console.

Table 7-1 Oracle RightNow Adapter Configurable Properties

Property Name

Type

Default Value

Description

Notes

jca.retry.count

integer

4

Specifies the number of retries to post the message.

Composite.xml, FMC console

jca.retry.backoff

integer

2

Specifies the retry interval growth factor

Composite.xml, FMC console

jca.retry.interval

integer

1

Specifies the time interval between two retries.

Composite.xml, FMC console

jca.retry.maxInterval

integer

120

Specifies the maximum interval between two retries.

Composite.xml, FMC console

7.1.1.1 Property Values Seen in the Composite

Table 7-1, "Properties Available in the composite.xml File" shows the properties available in the composite.xml file

Figure 7-1 Properties Available in the composite.xml File

7.1.1.2 Providing the Property Values at the Fusion Middleware Control Console

To provide the property values at the Fusion Middleware Control Console, follow the steps given below:

1. Proceed to Services & References section of your project, as shown in Table 7-1, "Services & References Section".

Figure 7-2 Services & References Section

2. Select the service name of your RightNow adapter from this section, and click the Properties tab on the subsequent Fusion Middleware Control page, as shown in Table 7-1, "Properties Tab" Here you can modify properties specific to message retry.

Figure 7-3 Properties Tab

If there is provision to set a particular property at multiple positions, the highest priority is given to the value provided at the Fusion Middleware Control Console, next priority is given to the value provided while creating the composite, and the lowest priority would be given to the value provided at the Oracle RightNow adapter configuration wizard.

8 Troubleshooting and Error Handling with the RightNow Adapter

This chapter explains the troubleshooting information and error messages that you can come across while configuring the Oracle RightNow adapter.

The chapter contains the following topics:

- Section 8.1, "Verifying the OPatch Installation"

- Section 8.2, "Understanding Oracle RightNow Adapter Design-Time JDeveloper Errors"

- Section 8.3, "Understanding API Faults and Error Handling"

- Section 8.4, "Understanding RightNow Exception Codes"

- Section 8.5, "Understanding Adapter Fault Handling"

8.1 Verifying the OPatch Installation

You must perform verification of the OPatch for both server side and JDeveloper installation. Steps for verification follow.

- Section 8.1.1, "Verifying Installation of the JDeveloper Plug-in for Oracle RightNow Cx Adapter"

- Section 8.1.2, "Verifying Installation of the Oracle RightNow Adapter Runtime Plug-in on the Server Side"

8.1.1 Verifying Installation of the JDeveloper Plug-in for Oracle RightNow Cx Adapter

Follow these steps to verify the installation of the Oracle RightNow adapter plug-in in the JDeveloper software:

1. Open JDeveloper and check for the presence of the Oracle RightNow adapter in the component palette. Alternatively, you can navigate to the following location,

{MIDDLEWARE_HOME}/soa/plugins/jdeveloper/extensions and check for the following jar file.
oracle.cloud.adapter.rightnow.jar

2. If you are not able to verify in the above steps, your installation has not been successful. Try to install the patch again.

8.1.2 Verifying Installation of the Oracle RightNow Adapter Runtime Plug-in on the Server Side

Follow these steps to verify the installation of the Oracle RightNow adapteron the WebLogic Application server:

1. Use the FTP Client or Putty to connect to the WebLogic server where OPatch has been installed.

2. The latest OPatch installs rightnow.jar under the modules directory structure: {MIDDLEWARE_HOME}/soa/soa/modules/.

If you are not able to verify any of the above steps, your installation has not been successful. Try to install the patch again.

8.2 Understanding Oracle RightNow Adapter Design-Time JDeveloper Errors

The following table shows the common design-time errors faced while using Oracle RightNow Cx Server in JDeveloper and their possible solutions.

Table 8-1 Oracle Cloud Adapter for RightNow Server CX in JDeveloper

Error

Solution

The login credentials are not valid, or the maximum number of logins has been exceeded. Contact your administrator for more information.

Metadata for the enterprise WSDL is not available in the cache.

Provide the valid Oracle Cx credentials. Delete the CSF key and add it again providing the correct credentials.

Connect to the internet and click the offline configuration check box. This will download the metadata for offline usage.

Unable to connect to RightNow Cx server.

Ensure that you are connected to the internet and not blocked by or behind the firewall of your organization.

Error deploying the composite on soa_server: Composite with same revision ID already exists.

Check if the project is already deployed on the server. Check the overwrite composites with the same revision box or change the revision number.

java.net.ConnectException: Connection refused: connect; No available router to destination.

Ensure the SOA server is up and running.

8.3 Understanding API Faults and Error Handling

In general, error handling in the Oracle RightNow Connect Web Services for SOAP API is done through the standard WSDL fault mechanism. The WSDL defines three different types of WSDL faults: RequestErrorFault, ServerErrorFault and UnexpectedErrorFault.

The base fault type as defined by the WSDL is RNFault; an instance of RNFault contains an exception code and message.

8.3.1 About Request Errors

Request errors are generated when there is a validation failure or a data related error of the inbound request

8.3.2 About Server Errors

Server errors are generated when there is a known or expected error that may occur on the server during processing of the request.

8.3.3 About Unexpected Errors

Unexpected errors are rare exceptions that occur unexpectedly on Oracle RightNow Cx Server while processing a request. These unexpected errors cannot necessarily be mapped to a specific error code or status.

8.4 Understanding RightNow Exception Codes

All three fault types, RequestErrorFault, ServerErrorFault and UnexpectedErrorFault extend a basic RNFault, which consists of an ExceptionCode field, which is an enumeration, and an ExceptionMessage, which is a string.

The following RightNow exception codes are defined:

- ACCESS_DENIED. Returned when a request is made to the service, but the bit to enable Connect is not enabled on the site interface or the account profile for the supplied credentials does not have the public SOAP bit enabled.

- INVALID_FIELD. Returned when a request is made and a field on an object in the request does not exist or is not accessible for the given request (that is, Setting ID on create).

- INVALID_LOGIN. Returned when a request is made but the user credentials are invalid; this can be either username or password

- BAD_ID. Returned when an ID provided in a request is not valid.

- MISSING_ARGUMENT. Returned when a request is missing a required argument.

- BAD_ID. Returned when an ID provided in a request is not valid.

- QUERY_TIMEOUT. Returned on a query request when the specified query times out on the server.

- UNKNOWN_EXCEPTION. Returned when an unknown and unexpected exception occurs

8.5 Understanding Adapter Fault Handling

The Oracle RightNow adapter is a JCA Adapter. As such, fault handling is similar to that in other JCA Adapters, as documented in "Error Handling" in the User's Guide to Technology Adapters.

9 Oracle RightNow Adapter Use Cases

This chapter provides a walkthrough of the Oracle RightNow adapter use cases.

Each of the following use cases describes how you can the Oracle RightNow adapter to perform activities that integrate from SOA Suite with the Oracle RightNow Cx.

For information on the common operations that you perform before following the steps in each of these use cases, see Section 3.1, "Performing Common JDeveloper Configuration Steps".

The Oracle RightNow adapter enables you to perform the following:

- Section 9.1, "Performing a Create, Read, Update, Destroy (CRUD) Operation on a Single Business Object"

- Section 9.2, "Performing a CRUD Operation on Multiple Business Objects"

- Section 9.3, "Performing a Batch Operation with Multiple Business Objects and Multiple Operations"

- Section 9.4, "Querying Arbitrary Objects using ROQL"

- Section 9.5, "Performing CRUD Operations on Custom Objects"

- Section 9.6, "Chaining Multiple Operations Together in One Batch Request"

9.1 Performing a Create, Read, Update, Destroy (CRUD) Operation on a Single Business Object

As part of synchronous outbound communication, the Oracle RightNow adapter connects to the RightNow Cx instance with the help of the Connect Web Services for SOAP API to perform a CRUD operation with a single object on the RightNow Cx instance.

This is a synchronous request response scenario, where a client requests the Oracle RightNow adapter service to create an object in the RightNow Cx instance.

Use the Oracle RightNow adapter to design the outbound service as shown in Section 3.1, "Performing Common JDeveloper Configuration Steps". These steps begin with the Operation Configuration Screen.

1. The RightNow adapter supports CRUD and ROQL operations. Choose CRUD on the Oracle RightNow Cx Operation Configuration page to perform the first use case.

2. Select Create operation on the screen. (Other CRUD options available are Read, Update and Delete.) Click Next,

3. The Oracle RightNow adapter displays the available RightNow Cx business objects.
You can select the objects by moving an object from the Available list to the Selected list. Use the filter option to display objects based on your criteria for better usability. The Oracle RightNow adapter configuration wizard shows both standard and custom objects.

4. You can select processing options to perform. You can use these to enable and disable aspects of server side processing when performing an operation. They include:

- Suppress External Events. Select this option to indicate that external events should not run after the completion of a Create, Update or Delete operation.

- Suppress Rules. Select this option to indicate that business rules should not run after the completion of a Create, Update or Delete operation.
For this use case, select Suppress External Events and Suppress Rules options.

Select the Finish option, which completes the configuration of invoking Service Cloud Service.

Upon your selecting the Finish option, the wizard:

- Generates an integration-centric WSDL.

- Generates strongly typed schema definitions.

- Generates a JCA configuration file, which will have connectivity information.

- Generates reference endpoint in the SCA composite.

9.2 Performing a CRUD Operation on Multiple Business Objects

In this scenario, as part of the outbound communication, Oracle RightNow adapter connects to the Oracle RightNow Cx instance with the help of Connect Webservices for SOAP API to perform a create operation with multiple business objects on the RightNow Cx instance.

This use case is a synchronous request response scenario, in which a client requests the adapter service to create a set of objects in RightNow Cx instance.

Use the Oracle RightNow adapter to design the outbound service to work with multiple objects.

To design an outbound service to perform CRUD operations on multiple business objects:

1. On the Operation Configuration screen, you can select multiple business objects. To choose multiple objects, select them under Available and move them, using the arrow to Selected.

Figure 9-1 Selecting Multiple Business Objects on the Operation Configuration Screen

2. Click Next on this screen when you have completed selecting multiple objects.

3. The configuration wizard displays the Finish screen and the location of the generated WSDL and jca file. The adapter also creates a reference endpoint which enables you to wire it from other components such as BPEL. The adapter generates the integration-centric WSDL with all batch operations configured. The adapter also creates a reference endpoint that enables you to wire it from other components such as BPEL.

9.3 Performing a Batch Operation with Multiple Business Objects and Multiple Operations

In this scenario, as part of the outbound communication, the Oracle RightNow adapter connects to the RightNow Cx instance with the help of Connect Web Services for SOAP API to perform a batch operation with a multiple business objects on the RightNow Cx instance. This is a synchronous request. Follow this procedure to perform a batch operation with multiple business objects and multiple operations:

1. Configure operation-specific details. Select the Configure multiple Operations in a Batch option on the Operation Configuration screen.

2. Select a Cloud operation and indicate multiple business objects. Select the objects as you did before in the use case above.
Next, use the Add Operation Screen from the Cloud Operation Configuration screen to add multiple Operations.

Figure 9-2 Oracle RightNow Adapter Operation Configuration Screen with Multiple Operations in a Batch Selected

3. Once you click the plus sign, the Add Operation screen appears, which enables you to add additional operations.

Figure 9-3 The Add Operation Screen

4. Click the '+' button to add operations. The configuration of a Batch operation is similar to configuring a single operation (as explained in the first use case), except that the Batching operation is in a pop-up dialog that you can invoke multiple times to add operations.
The operation configuration for a Batch operation also enables you to specify the Batch-only option of commit after for a given operation. This commits the entire transaction only after the operation for which commit after is specified.

5. Select the edit option if you must reconfigure operations you have previously configured.

6. Reorder the operations, if needed, by using the up/down arrows. Reordering can affect the order of the operation messages in the WSDL you generate.

7. Select the Delete option to delete any operations you have previously configured.

8. Click the Finish button to complete configuring operations

9.4 Querying Arbitrary Objects using ROQL

Use the Oracle RightNow adapter to design the outbound service to query Standard and Custom objects from the RightNow Cx instance with the help of ROQL, the RightNow Query Language.

For complete information on using the Oracle RightNow adapter to perform ROQL queries, see Section 3.3, "Working with ROQL". After completing the common operation steps specified in Section 3.1, "Performing Common JDeveloper Configuration Steps", follow this procedure.

1. On the Configure Operations Screen, configure the operation-specific details. Select Configure Cloud Operation option, for Cloud API, specify Query and for Cloud Operation, the Query Objects operation.

2. In the Query statement text box, input the ROQL query.

Figure 9-4 ROQL Query Input Text Box

3. Test the query syntax before completing the wizard steps. Use the Query Test tool.

Figure 9-5 Query Test Dialog Showing Query Statement Test with Sample Results

4. Once you have completed the configuration of the query operation, click Finish. The adapter generates the integration centric WSDL with the query operation, input and output messages. The adapter also creates a reference endpoint which enables you to wire it from other components such as BPEL and Mediator.

9.5 Performing CRUD Operations on Custom Objects

Oracle RightNow Cx has two different types of objects associated with it: standard business objects and custom objects upon which you can perform CRUD operations. In this use case, you perform a Get operation on a custom object and generate the appropriate WSDL and jca file.

To perform the Get operation on a custom object:

1. At the Operation Configuration screen, look under Available for the custom object you want to select for a CRUD operation. The convention is the standard object name, for example, Contact, followed by CustomObj (for example, Contact_CustomObj).

Figure 9-6 Oracle RightNow Adapter Operation Configuration Screen with Custom Object Selected

2. Using Contact_CustomObj as an example under Available, and using the arrow, move the selected object to Selected.

Figure 9-7 Oracle RightNow Adapter Operation Configuration Wizard Screen Showing Custom Object Selected

3. Change the CRUD operation to Get to perform a Get operation on the selected object.

Figure 9-8 Oracle RightNow Adapter Operation Configuration Wizard Screen Showing Custom Object Selected and Get Operation Chosen

4. Click Next. The wizard displays the Finish screen, and indicates where it will place the WSDL and jca file you have generated.

Figure 9-9 Oracle RightNow Adapter Configuration Wizard Finish Screen

5. Click Finish to generate the WSDL and jca file.

9.6 Chaining Multiple Operations Together in One Batch Request

Chaining is an Oracle RightNow adapter feature that you can use to correlate multiple operations within a single batch request.

Underlying concepts and resulting code for Chaining is discussed at length in Section 3.2.1.3, "Chaining".

The example use case for Chaining discusses performing the following steps.

1. Create a Contact.

2. Create Incident (the primary Contact for this Incident is the one you created in the first step.)

3. Get the Incident (you must return the Incident just created.)

Section 3.2.1.4, "Using Chaining" shows you how to use Chaining with the Oracle RightNow adapter user interface and provides a use case for doing so. The use case shows you how you can achieve Chaining during transformation and uses the XSLT Mapper.

Note:
Chaining is always used together with batching and does not require any extra step in the Oracle RightNow adapter batch configuration wizard.

A Credential Store Configuration for Managing RightNow Credentials

This appendix provides information on making available the CSF Key in Fusion Middleware Control.

Before you can configure integrations against RightNow Cx using the Oracle RightNow adapter, the Authentication Key that you specify at design-time has to be made available in the credential store of the Weblogic Domain where the SOA or Service Bus Service will be deployed.

The Authentication Key is not automatically created within the Credential Store on deployment of the SOA Composite or Service Bus Project.

This chapter describes how you can manually create the Authentication Key (also known as CSF Key) in the Weblogic Domain using Fusion Middleware Control.

A.1 Using CSF Key in Fusion Middleware Control

The Oracle RightNow adapter enables use of Authentication Keys (or CSF Keys) to securely store and manage credentials at design-time. This releases you from the need to manually manage security policies for the integration and also avoids the need to store any trace of the actual credentials in the design-time projects.

Follow the steps below to configure the CSF key in Fusion Middleware Control:

1. Login to Fusion Middleware Control and navigate to WebLogic Domain, as shown in Figure A-1, "Fusion Middleware Control, Showing WebLogic Domain".

Figure A-1 Fusion Middleware Control, Showing WebLogic Domain

2. Right-click the managed server you are using for deployment and navigate to Credentials under Security, as shown in Figure A-2, "WebLogic Domain in Fusion MIddleware Control". The Credentials page is displayed.

Figure A-2 WebLogic Domain in Fusion MIddleware Control

3. Click Create Map, as shown in Figure A-3, "Create Map Screen".

Figure A-3 Create Map Screen

4. Create a map with the name SOA and click OK, as shown in Figure A-4, "Map Name". The created SOA map is displayed in the Credential list.

Figure A-4 Map Name

5. Select SOA map from the credential list and click Create Key, as shown in Figure A-5, "Create Key".

Figure A-5 Create Key

6. Enter a unique CSF key to be associated with a user account, as shown in Figure A-6, "Create Key Screen".
This key must be configured in the exact same form and characters in the appropriate location in the JDeveloper configuration wizard.

Figure A-6 Create Key Screen

7. Keep the Type of key as Password and enter the remaining credentials, the optional description and click OK, as shown in Figure A-7, "Enter Credentials".

Figure A-7 Enter Credentials

8. Fusion Middleware Control displays the added CSF key under the SOA map, as shown in Figure A-8, "Credentials Store Provider".

Figure A-8 Credentials Store Provider

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2015, Oracle and/or its affiliates. All rights reserved.

Trademark Notice

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.

License Restrictions Warranty/Consequential Damages Disclaimer

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.

Warranty Disclaimer

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.

Restricted Rights Notice

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 END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

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.

Third-Party Content, Products, and Services Disclaimer

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.

Alpha and Beta Draft Documentation Notice

If this document is in preproduction status:

This documentation is in preproduction status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.