ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Cloud Adapter for Oracle RightNow Cloud Serviceユーザーズ・ガイド
12c (12.1.3)
E59443-02
  目次へ移動
目次

前
 
次
 

3 Oracle RightNowアダプタ構成ウィザードのウォークスルー

この章では、Oracle JDeveloperを使用したOracle RightNowアダプタの一般的な構成手順に加え、作成、読取り、更新および削除に関してアダプタで使用できる様々な操作、それらの操作で使用できる機能、およびRightNow Object Query Language (ROQL)問合せ言語の使用について説明します。

この章の内容は以下のとおりです。

多くの項で操作やオプションの概要を説明しており、詳細情報が記載された他の章を参照しています。

3.1 JDeveloperでの一般的な構成手順の実行

この項では、Oracle JDeveloperを使用してOracle RightNowアダプタ・プロジェクトを開始する場合に共通の構成手順の概要について説明します。Oracle JDeveloperを使用すると、Oracle RightNowアダプタを構成してBPELプロジェクトを作成できますが、Oracle Service Busなどの他のサービス・エンジンで使用するようにアダプタを構成することもできます。

3.1.1 JDeveloperでのSOAアプリケーション・プロジェクトの作成

Oracle JDeveloperを使用して、アウトバウンドまたはインバウンド・サービスとして使用するようにOracle RightNowアダプタを構成するには、まずSOAアプリケーション・プロジェクトを作成します。

  1. Oracle JDeveloperの「ファイル」メニューで、「新規」をクリックして「アプリケーション」を選択します。

    図3-1 ナビゲーション

    図3-1の説明が続きます
    「図3-1 ナビゲーション」の説明

  2. 「新規ギャラリ」ページが表示されます。「項目」リストから「SOAアプリケーション」を選択します。

    図3-2 SOAアプリケーションの作成

    図3-2の説明が続きます
    「図3-2 SOAアプリケーションの作成」の説明

  3. アプリケーションに適切な名前を指定します。

    図3-3 アプリケーションの名前付け

    図3-3の説明が続きます
    「図3-3 アプリケーションの名前付け」の説明

  4. 「次へ」をクリックしてプロジェクトに適切な名前を指定します。

    図3-4 プロジェクトの名前付け

    図3-4の説明が続きます
    「図3-4 プロジェクトの名前付け」の説明

  5. 「次へ」をクリックします。

  6. 「標準コンポジット」を選択します。

  7. 「BPELプロセスを使用するコンポジット」を選択します。

    図3-5 SOA設定の構成

    図3-5の説明が続きます
    「図3-5 SOA設定の構成」の説明

  8. 「終了」をクリックします。

3.1.2 アウトバウンド・サービスのOracle RightNowアダプタの構成

Oracle JDeveloperを使用してアウトバウンド・サービスとして使用するようにOracle RightNowアダプタを構成する手順:

  1. Oracle JDeveloperの「コンポーネント」リストから参照スイムレーンにOracle RightNowアダプタ・コンポーネントをドラッグ・アンド・ドロップします。

  2. スイムレーンのRightNowアダプタ・アイコンをクリックします。基本情報画面が表示されます。

  3. Oracle RightNowアダプタのわかりやすい名前とオプションの説明を入力します。

    図3-6 Oracle RightNowアダプタの基本情報画面

    図3-6の説明が続きます
    「図3-6 Oracle RightNowアダプタの基本情報画面」の説明

  4. RightNow Cloudアダプタの接続画面で、Oracle RightNow Cxに接続するための接続情報を入力します。WSDL URL、セキュリティ・ポリシーおよび認証キーの名前などがあります。
    WSDLと認証キーはRightNow管理者から入手できます。

    図3-7 Oracle RightNowアダプタの接続画面

    図3-7の説明が続きます
    「図3-7 Oracle RightNowアダプタの接続画面」の説明

  5. 初期画面自体に接続をテストして資格証明を検証するオプションがあります。接続をテストするには、テスト・オプションを選択します。

  6. 次に、RightNowアダプタ構成ウィザードに、選択可能な追加情報が表示されます。

    • 実行する操作です。

    • 操作を実行する対象となるオブジェクト。

    • 操作固有の任意の構成。

    この時点で、単一のCRUD操作を実行するか、複数操作をバッチで実行するかを指定できます。

    • 単一操作 - 単一操作による作業の場合はこのオプションを選択します。

    • バッチ操作 - 複数の操作による作業の場合はこの操作を選択します。

      図3-8に、操作の選択に関連する大部分の作業を実行する操作画面を示します。

      図3-8 Oracle RightNowアダプタの操作画面

      図3-8の説明が続きます
      「図3-8 Oracle RightNowアダプタの操作画面」の説明

3.1.3 インバウンド・サービスのOracle RightNowアダプタの構成

Oracle JDeveloperを使用して、アウトバウンドまたはインバウンド・サービスとして使用するようにOracle RightNowアダプタを構成するには、まずSOAアプリケーション・プロジェクトを作成します。

  1. Oracle JDeveloperの「コンポーネント」から「公開されたサービス」スイムレーンにOracle RightNowアダプタ・コンポーネントをドラッグ・アンド・ドロップします。

  2. スイムレーンのOracle RightNowアダプタ・アイコンをクリックします。Oracle RightNowアダプタの基本情報画面が表示されます。

    図3-9 Oracle RightNowアダプタの基本情報画面

    図3-9の説明が続きます
    「図3-9 Oracle RightNowアダプタの基本情報画面」の説明

  3. 基本情報を入力して、Oracle RightNowアダプタに接続します。

    表3-1 RightNow構成ウィザード

    構成 例/情報

    接続の名称は何ですか?

    わかりやすい名前を入力します。

    接続の用途は何ですか?

    説明を入力します。


    図3-10 Oracle RightNowの接続画面

    図3-10の説明が続きます
    「図3-10 Oracle RightNowの接続画面」の説明

    表3-2 接続ページ

    構成 例/情報

    WSDL URL


    RightNow管理者からWSDLを入手します。

    セキュリティ・ポリシー

    ポリシーを選択します。

    認証キー


    RightNow管理者から認証キーを入手できます。


  4. 「テスト」をクリックすることで、接続をテストして資格証明を検証します。

  5. Oracle RightNow Cxから受信するビジネス・オブジェクトを、この統合を開始するリクエスト・ドキュメントとして選択して、「次へ」を選択します。

    5request.PNGの説明が続きます
    図5request.PNGの説明

  6. レスポンス・タイプと、レスポンスのオプションのビジネス・オブジェクトを選択します。

    • レスポンスが不要な場合、送信チェック・ボックスの選択を解除します。この操作により、選択するビジネス・オブジェクトのリストが無効になります。

    • 「即時」を選択し、統合でOracle RightNow Cxにレスポンス・ドキュメントとして送信するビジネス・オブジェクトを選択します。統合でフォルトが発生した場合、それを送信するようにオプションで「フォルトも送信」を選択することもできます。


      注意:

      レスポンス・リストには、「遅延」というオプションがあります。このオプションは機能しないため選択しないでください。

    6response.PNGの説明が続きます
    図6response.PNGの説明

  7. 「次へ」をクリックします。

    「サマリー」ページが表示されます。

  8. 「終了」をクリックします。

3.2 操作の作成、読取り、更新および削除の理解

Oracle RightNowアダプタで使用可能な操作には、作成、読取り、更新および削除(CRUD)操作が含まれます。

CRUD操作によって、Oracle RightNow Cxシステムに含まれるオブジェクトの作成、読取り、更新および削除が可能になります。

すべてのCRUD操作は、多相動作セクションで定義されたとおりに多相的に動作します。そのため、任意のCRUD操作は、入力パラメータとして1からNまでの異種プライマリ・オブジェクトを受け入れることが可能で、それによって単一のリクエストで混在するオブジェクト・タイプを任意のCRUD操作に提供できます。

たとえば、Contact、IncidentおよびOrganizationオブジェクトを、Createメソッドの単一の起動に対して提供できます。

単一のCRUDリクエストで提供できるオブジェクトのハード制限は1000ですが、操作上の制約のため、最大数のオブジェクトを提供するとエラーが発生する可能性があります。

CreateおよびGet (Read)の戻り値は、1からNのRNObjectを含むリストです。このリストのサイズは、操作リクエストで提供されるリストのサイズに一致します。UpdateおよびDestroyメソッドは、成功時に値を返しません。CRUD操作に失敗すると、SOAPフォルトがクライアントに返されます。

一方、Create操作は、suppressResponseが無効になっている場合、作成したビジネス・オブジェクトのIDを返しますが、Get操作はビジネス・オブジェクト全体を返します。

Oracle Cloud Connect Web Services for SOAPのクライアントがCreate操作を起動すると、1つのオブジェクトまたはオブジェクトのリストが返されます。オブジェクトに関連するデータの残りが必要な場合、Get操作を実行する必要があります。

Create操作は、すべてのプライマリ・オブジェクトに直接実行できます。

Oracle Cloud Connect Web ServicesのクライアントがGet操作を起動すると、1つのオブジェクトまたはオブジェクトのリストが返されます。

Destroy操作は、プライマリ・オブジェクトとサブオブジェクトを破棄します。

3.2.1 サポートされる機能

次の項では、Oracle RightNowアダプタによってサポートされる機能のリストを示します。

3.2.1.1 CRUD操作の使用

Oracle RightNowアダプタでは、CRUD、つまり作成、読取り、更新および破棄操作がサポートされます。サポートされる基本操作は次のとおりです。

3.2.1.1.1 1つ以上のビジネス・オブジェクトの作成

Oracle RightNowアダプタを使用して、RightNow Cxで1つ以上のビジネス・オブジェクト(標準またはカスタム)を作成できます。たとえば、OrganizationContactおよびIncidentオブジェクトを、すべて単一のリクエストの一部として、または3つの独立したリクエストとして作成できます。

たとえば、操作画面では、1つのリクエストの一部としてOrganization、ContactおよびIncidentオブジェクトを選択できます。

図3-11 1つのリクエストによるOrganization、ContactおよびIncidentオブジェクトの作成

図3-11の説明が続きます
「図3-11 1つのリクエストによるOrganization、ContactおよびIncidentオブジェクトの作成」の説明

3.2.1.1.2 1つ以上のオブジェクトからのデータの取得

Oracle RightNowアダプタを使用して、RightNow CXクラウド・プラットフォームで使用可能な1つ以上のオブジェクトからデータを取得できます。たとえば、Oracle RightNowアダプタを使用して、組織のみに関連するデータを取得したり、1つのリクエストで組織、連絡先およびインシデントの組合せに関する情報を取得できます。

たとえば、Organizationのみからデータを取得するには、Oracle RightNowアダプタの操作画面でGet操作を指定してOrganizationオブジェクトを選択します。

  1. 「操作タイプの選択」リストからGet操作を選択します。

  2. 矢印を使用してOrganizationオブジェクトを「選択可能」リストから「選択済」リストに移動します。

  3. 「次へ」をクリックします。

図3-12 1つのオブジェクトからのデータの取得

図3-12の説明が続きます
「図3-12 1つのオブジェクトからのデータの取得」の説明

3.2.1.1.3 1つ以上のビジネス・オブジェクトの更新

Update操作を使用して、任意のプライマリ・オブジェクトと関連サブオブジェクトを更新します。Oracle RightNowアダプタを使用して、RightNow CXクラウド・プラットフォームで1つ以上のビジネス・オブジェクト(標準またはカスタム)を更新できます。たとえば、OrganizationContactおよびIncidentオブジェクトを、単一のリクエストの一部として、または3つの独立したリクエストとして更新できます。

たとえば、Oracle RightNowアダプタの操作画面では、1つのUpdateリクエストの一部として、OrganizationContactおよびIncidentオブジェクトを更新できます。

更新操作を実行するには、次の手順を実行します。

  1. 「操作タイプの選択」リストからUpdateを選択します。

  2. 選択可能リストから1つ以上のビジネス・オブジェクトを選択します。

  3. 矢印を使用して、ビジネス・オブジェクトを選択済リストに移動します。

  4. 「次へ」をクリックします。

3つのオブジェクトに対する一連の更新の一部として1つのオブジェクトを更新できます。

図3-13 1つのビジネス・オブジェクトの更新

図3-13の説明が続きます
「図3-13 1つのビジネス・オブジェクトの更新」の説明

3.2.1.1.4 1つ以上のビジネス・オブジェクトの削除

Oracle RightNowアダプタを使用して、RightNow Cxクラウド・プラットフォームで1つ以上のビジネス・オブジェクト(標準またはカスタム)を削除できます。たとえば、OrganizationContactおよびIncidentオブジェクトを、すべて単一のリクエストの一部として、または3つの独立したリクエストとして削除できます。

次のスクリーンショットでは、Oracle RightNowアダプタの操作画面を使用して、Organization、ContactおよびIncidentオブジェクトを削除します。

複数のビジネス・オブジェクトを削除するには、次の手順を実行します。

  1. 「操作タイプの選択」リストからDestroy操作を選択します。

  2. 矢印を使用してOrganization、ContactおよびIncidentオブジェクトを「選択可能」リストから「選択済」リストに移動します。

  3. 「次へ」をクリックします。

3.2.1.2 バッチ機能の使用

バッチ機能は、Oracle RightNowアダプタの独特な機能であり、1つ以上の異種操作を単一の操作を通じてRightNow Cxサーバーに送信できます。この機能によって、統合開発者は、既存の組織の更新、既存の組織の連絡先の作成、既存のインシデントのメモの削除、または新しいインシデントの作成が可能になります。バッチ機能を使用すると、これらすべての指示を統合してOracle RightNow Cxサーバーに単一の操作として送信できます。Oracle RightNowアダプタは、バッチ操作とバッチ・オプションを構成するために必要なツールを提供して、この機能を拡張します。

アダプタでは、バッチ操作と処理オプションのために統合の容易なインタフェースも提供しています。バッチ操作オプションを選択してこのオプションを構成できます。

バッチ機能には他に次の機能も含まれます。

  • バッチの各操作には、個別の処理オプションがあります。アダプタ構成ウィザードでは、ユーザーが処理オプションを構成するためのグラフィカルで直感的な方法が提供されます。

  • バッチ内の操作は、通常、単一のトランザクションで実行されますが、commitAfterプロパティを使用してこれらの操作を異なる作業ユニットにグループ化することもできます。このプロパティでは、複数の操作を1つのトランザクションにグループ化します。実行時、バッチ内の一連の操作を1つの操作の一部として定義する場合、そのトランザクション境界の最後の操作後にこのアクションが送信されます。

3.2.1.2.1 Oracle RightNowアダプタのユーザー・インタフェースによるバッチ機能のサポート

バッチ機能は、Oracle RightNowアダプタの独特な機能であり、1つ以上の操作を単一の操作を通じてOracle RightNow Cxに送信できます。

Oracle RightNowアダプタは、バッチ操作とバッチ・オプションを構成するために必要なツールを提供して、バッチ機能を拡張します。これは、バッチ操作と処理オプションのために統合の容易なインタフェースも提供しています。

次の項では、アダプタ構成ウィザードを使用してバッチ操作用にOracle RightNowアダプタをモデル化する方法について説明します。

  1. SOAプロジェクトまたはService Busプロジェクトで、「コンポーネント」からコンポジット・スイムレーンにOracle RightNowアダプタをドラッグ・アンド・ドロップします。有効な接続名を指定します。3.2.1.2.1項「Oracle RightNowアダプタ構成ウィザードの基本情報画面」を参照してください。

    図3-14 Oracle RightNowアダプタ構成ウィザードの基本情報画面

    図3-14の説明が続きます
    「図3-14 Oracle RightNowアダプタ構成ウィザードの基本情報画面」の説明

  2. 接続の詳細を指定します。

    図3-15 Oracle RightNowアダプタの接続画面

    図3-15の説明が続きます
    「図3-15 Oracle RightNowアダプタの接続画面」の説明

  3. 操作ページで、バッチ操作オプションを選択してバッチ操作を構成します。

    図3-16 バッチ操作を使用するRightNowアダプタ構成ウィザードの操作画面

    図3-16の説明が続きます
    「図3-16 バッチ操作を使用するRightNowアダプタ構成ウィザードの操作画面」の説明

  4. このオプションを選択すると、複数の操作をバッチとして構成できます。

  5. ここで、バッチ操作として操作を選択および追加できます。

  6. 追加された各操作は、適切なビジネス・オブジェクトとともにリスト表示されます。

  7. バッチ・プロセスの各操作には、「プロパティ」タブで指定できる個別の処理オプションがあります。たとえば、「操作の追加」には、指定可能な3つのプロパティ(「外部イベントの抑制」「ルールの抑制」および「後でコミット」)があります。

  8. 「次へ」を選択してアダプタ・ウィザードを完了します。確認ダイアログに、生成されたアーティファクトが表示されます。

バッチ内の操作は、通常、単一のトランザクションで実行されますが、commitAfterプロパティを使用してこれらの操作を別々の作業ユニットにグループ化することもできます。

3.2.1.2.2 バッチ・プロセスWSDL

次の例は、バッチ・プロセスによるサンプルWSDLの異なる部分を示しています。最初の例は、バッチ操作用の統合WSDL内に定義されたポート・タイプおよび操作を示しています。

例3-1 ポート・タイプおよび操作

<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>

2番目の例は、統合WSDLバッチ操作で定義された入力メッセージ・タイプを示しています。

例3-2 統合WSDLバッチ操作で定義された入力メッセージ・タイプ

<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>

次の例は、統合WSDLバッチ操作で定義された出力メッセージ・タイプを示しています。

例3-3 統合WSDLバッチ操作で定義された出力メッセージ・タイプ

<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 チェーン

チェーンは、単一のバッチ・リクエスト内で複数の操作を相互に関連付けるために使用できるOracle RightNowアダプタの機能です。具体的には、チェーンをバッチと併用して、関連する操作を実行します。操作のチェーンを作成するには、チェーンのソースおよびターゲットの操作が同じ作業ユニット内に存在する必要があります。

たとえば、次のリクエストには、同じサンプル・バッチ・リクエストのすべての部分である3つの操作が含まれます。

  1. Contactの作成

  2. Incidentの作成(このIncidentのプライマリContactは最初の手順で作成したものです)。

  3. Incidentの取得(作成したIncidentのみを返す必要があります)。

3.2.1.3項「チェーンのXML」の例で強調表示されている属性を使用して、これがコード内でどのように記述されるかを確認します。

例3-4 チェーンのXML

  <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>

3.2.1.3項「統合リクエスト・ペイロード」に関連付けられているリクエストおよびレスポンス・ペイロードは、統合リクエスト・ペイロードの例を示しています。

例3-5 統合リクエスト・ペイロード

<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>

レスポンス・ペイロードを例3-6に示します。

例3-6 統合レスポンス・ペイロード

<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 チェーンの使用

チェーンは、常にバッチとともに使用され、Oracle RightNowアダプタのバッチ構成ウィザードで特別の手順を必要としません。

ただし、チェーンを使用するには、前述のサンプル・リクエストに示されているとおり、アダプタ・リクエストで正しいチェーン・ソースと宛先をリンクする必要があります。

次の手順は、Oracle XSLTマッパーによる変換中にチェーンを実行する方法を示しています。

  1. Oracle XSLTマッパーで、ターゲット・タイプとしてOracle RightNowアダプタ参照/ビジネス・サービス・リクエスト・タイプをロードします。

  2. 異なるオブジェクト例(Incidentなど)にチェーンさせる必要のあるContactオブジェクトを作成する場合、Contact IDを拡張機能ChainSourceIDで置き換えます。

    図3-17 XSLTマッパーでの「要素またはタイプの置換」の選択

    図3-17の説明が続きます
    「図3-17 XSLTマッパーでの「要素またはタイプの置換」の選択」の説明

  3. Contactオブジェクトを展開します。

  4. ID要素を右クリックし、ポップアップから「要素またはタイプの置換」を選択します。

  5. 「要素またはタイプの置換」ダイアログが表示されます。ダイアログで、ChainSourceIDを選択します。

    図3-18 「要素またはタイプの置換」ダイアログ

    図3-18の説明が続きます
    「図3-18 「要素またはタイプの置換」ダイアログ」の説明

    この置換によって、連絡先IDタイプが拡張されます。

    図3-19 展開された連絡先IDタイプ

    図3-19の説明が続きます
    「図3-19 展開された連絡先IDタイプ」の説明

    variableNameプロパティに、このチェーン・ヘッドを一意に識別する一意の文字列(MyContactなど)を設定します。

  6. インシデントの作成操作中に、チェーンの際に連絡先に対してインシデントが作成されるように、インシデントのPrimaryContactフィールドにChainDestinationIDを設定します。

    言い換えると、MyContactChainDestinationIDPrimaryContactフィールドに設定されます。

    <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. 同様に、Incidentを作成し、次にそのインシデントに対してGetを実行するには、Incident IDchainSourceIDで置き換えます。variableNameプロパティに一意の文字列(MyIncidentなど)を設定します。

  8. 次に、Get操作で、インシデントIDを拡張機能ChainDestinationIDに置き換え、variableNameプロパティにchainSourceIDの変数名(MyIncident)を設定します。

  9. 必要に応じて他のタイプをマップします。

3.2.2 サポートされる処理オプション

処理オプションを使用して、RightNowクラウド操作の実行時にサーバー側処理の特定の機能を有効化および無効化できます。処理オプションは、作成されると、処理オプションを使用する様々なWSDL操作に提供されます。次に、サポートされるすべての処理オプションのリストと、その使用方法およびデフォルト値を示します。この項では、次の内容について説明します。

3.2.2.1 CreateProcessingOptions

作成のプロパティ・タブで指定することで、CreateProcessingOptionsCreate操作を組み合せて使用できます。CreateProcessingOptionsには、3.2.2.1項「CreateProcessingオプション」に示すプロパティが含まれます。

表3-3 CreateProcessingオプション

フィールド 説明

SuppressExternalEvents

Create操作の完了後に外部イベントを実行しないことを示すために使用します。デフォルト値は、言語固有です(デフォルト値の詳細は、ドキュメントおよび生成されたクライアント・コードを参照してください)。

SuppressResponse

RightNowアダプタ固有のオプション。このプロパティは、ブール値を使用し、IDをCreate操作に対して返す必要があるかどうかを示します。

SuppressRules

Create操作の完了後にビジネス・ルールを実行しないことを示すために使用します。デフォルト値の詳細は、ドキュメントおよび生成されたクライアント・コードを参照してください。


3.2.2.2 DestroyProcessingOptions

削除操作のプロパティ・タブで指定することで、DestroyProcessiongOptionsとDelete操作を組み合せて使用できます。DestroyProcessingOptionsには、次のプロパティが含まれます。

表3-4 DestroyProcessingオプション

フィールド 説明

SuppressExternalEvents

Destroy操作の完了後に外部イベントを実行しないことを示すために使用します。デフォルト値の詳細は、ドキュメントおよび生成されたクライアント・コードを参照してください。

SuppressRules

Destroy操作の完了後にビジネス・ルールを実行しないことを示すために使用します。デフォルト値の詳細は、ドキュメントおよび生成されたクライアント・コードを参照してください。


3.2.2.3 GetProcessingOptions

取得操作のプロパティ・タブで指定することで、GetProcessiongOptionsとGet操作を組み合せて使用できます。GetProcessingOptionsには、次のプロパティが含まれます。

表3-5 GetProcessingオプション

フィールド 説明

FetchAllNames

すべてのNamedIDタイプにそのフィールドの名前とIDの両方を含めるようにサーバーに指示します。非常に効率が悪い場合およびすべての名前とIDのフィールドが必要な場合にのみこれを使用してください。すべての名前とIDのフィールドが必要でない場合、このオプションは使用しないでください(詳細は、Get操作を参照してください)。


3.2.2.4 UpdateProcessingOptions

更新操作のプロパティ・タブで指定することで、UpdateProcessingOptionsとUpdate操作を組み合せて使用できます。UpdateProcessingOptionsには、次のプロパティが含まれます。

表3-6 UpdateProcessingオプション

フィールド 説明

SuppressExternalEvents

Update操作の完了後に外部イベントを実行しないことを示すために使用します。デフォルト値は、言語固有です(デフォルト値の詳細は、言語のドキュメントおよび生成されたクライアント・コードを参照してください)。

SuppressRules

Update操作の完了後にビジネス・ルールを実行しないことを示すために使用します。デフォルト値は、言語固有です(デフォルト値の詳細は、言語のドキュメントおよび生成されたクライアント・コードを参照してください)。


3.3 ROQLの操作

RightNow Object Query Language (ROQL)機能によって、RightNow Cxデータベースに対する問合せを作成できます。

この項の内容は次のとおりです。

3.3.1 ROQLの使用

操作画面でROQL操作カテゴリを選択する場合、ROQL問合せを入力するフィールドが表示されます。選択した操作に応じて、ROQL文を入力します。

ROQLによって、組織のRightNow Cxデータから特定の情報を検索できます。

この章では、ROQLについて詳しく説明しません。Oracle Service Cloud Connect Web Services for SOAPを参照してください。

3.3.1.1 ROQL問合せ文

ROQL問合せ文は、Oracle RightNow Cxのデータを問い合せます。問合せ文のテキスト・ボックスは、Oracle RightNow CXに準拠したROQL文で構成されます。

問合せ操作の詳細は、ROQL操作に関する項を参照してください。ROQLの詳細は、Oracle RightNow Connect Web Services for SOAP開発者ガイドのROQLに関する項を参照してください。

3.3.2 ROQL問合せ文

ROQL問合せ文を使用して、RightNow Cxのデータを問い合せます。問合せ文のテキスト・ボックスは、RightNow Cxに準拠したROQL文で構成されます。問合せ操作の詳細は、ROQL操作に関する項を参照してください。ROQLの詳細は、Oracle RightNow Connect Web Services for SOAP開発者ガイドのROQLに関する項を参照してください。

3.3.3 ROQL問合せ文の実行

問合せを実行してテストできます。「テスト」アイコンをクリックすると、テスト・ダイアログ・ボックスが表示されます。

「問合せテスト」ダイアログには次の領域があります。

  • 「問合せ文」および「結果」「問合せ文」テキスト・ボックスは、問合せ文自体を対象とし、実行された問合せの結果は「結果」ボックスに表示されます。問合せに1つ以上のバインド・パラメータが含まれる場合、それらの値を指定するための1つ以上の入力ボックスが表示されます。

  • パラメータ・バインディング。問合せ文に表示されるパラメータ・バインディングの値を入力します。

  • 問合せのテスト。クリックして問合せを実行します。

  • 結果。問合せの実行に成功すると、テキスト領域にRightNow Cxからの結果が表示されます。

図3-20を参照してください。画面の領域が強調表示されています。

図3-20 「問合せテスト」画面

図3-20の説明が続きます
「図3-20 「問合せテスト」画面」の説明

3.3.4 ROQLクエリー・ビルダーの使用

この項では、ROQLクエリー・ビルダーの使用方法について説明します。ROQLクエリー・ビルダーは、統合開発者が負担に感じることが多い各領域に対処します。

このアプローチによって、複雑でエラーのない問合せを簡単に記述できます。このような問合せの記述を実現するため、ROQLクエリー・ビルダーは、次の各項に記載された機能を提供しています。

3.3.4.1 標準およびカスタム・ビジネス・オブジェクトの検出の簡略化

ROQLクエリー・ビルダーは、問合せを構成する際に使用できる潜在的な標準オブジェクトとカスタム・オブジェクトを識別します。この機能の例は次のとおりです。

  1. 操作画面で、操作タイプに「ROQL」を選択します。

  2. ROQLエディタ・テキスト領域にSelectと入力し、[Ctrl] + [Space]を押します。クエリー・ビルダーに、Oracle RightNow Cxで利用可能な標準およびカスタム・オブジェクトのリストが表示されます。


    注意:

    作成したカスタム・オブジェクトが操作ページで示されるオブジェクトのリストに表示されない場合、接続ページの「キャッシュのクリア」オプションを選択し、再度接続を行ってRightNow Cxシステムの最新のメタデータを取得してください。

  3. あるいは、特定のパッケージを指定して、該当のパッケージで作成されるすべてのカスタム・オブジェクトを表示できます。

3.3.4.2 コンテキストに基づく問合せ構成要素の提案

ROQLクエリー・ビルダーは、カーソルの位置に基づいて問合せ文字列のコンテキストを自動的に識別します。このコンテキストを使用して、クエリー・ビルダーは、効率的なROQL問合せを記述できるように推奨事項を提供します。この機能は、次のように動作します。

  1. ROQL問合せテキスト領域にSelectと入力し、[Ctrl] + [Space]を押すと、クエリー・ビルダーにはすべての標準オブジェクトとビジネス・オブジェクトが表示されます。

  2. 同様に、Select Contact from Contact whereという問合せを実行する場合に、where句に続けて[Ctrl] + [Space]を押すと、問合せの調整に使用できるContactオブジェクトのフィールドのリストと、適用可能なキーワードおよび関数が表示されます。

3.3.4.3 オートコンプリートの提供

オートコンプリート機能によって、複雑なROQL問合せを迅速で効率的な方法で簡単に構築できます。この機能は次のとおりです。

  1. 問合せ文字列のSelect Seを使用する場合、Seという用語に続けて[Ctrl] + [Space]を押すと、クエリー・ビルダーによってSeで始まるすべてのオブジェクトが表示されます。

3.3.4.4 可読性を向上するための別名のサポート

ROQLクエリー・ビルダー機能では、別名がサポートされます。これは、RightNowオブジェクト(Oracle RightNowアダプタにおけるすべてのプライマリ・オブジェクトのベース・クラス)の別名が問合せの対象になっていることを認識し、別名を実際のオブジェクト名として扱います。

オブジェクトに関連付けられたすべての操作を、別名に対して実行できます。

  1. 問合せ文字列Select from ServiceCategory S whereで、SはオブジェクトServiceCategoryの別名として設定されます。そのため、ServiceCategoryに関連付けられたすべての操作を、別名Sに対して実行できます。別名に対して実行できる操作の一部は、次のとおりです。

  2. 前述の問合せのSelectfromの間で[Ctrl] + [Space]を押すと、クエリー・ビルダーによってSが表示され、SelectFromの間にSが配置されることが示されます(ここでは、Select S from ServiceCategory S whereとなります)。

  3. 最初のSに続けてドットを入力すると、Service Categoryに関連付けられたすべてのリレーションシップが表示されます。

  4. 同様に、この問合せSelect S from ServiceCategory S where Sで、最後のSに続けてドットを入力すると、ServiceCategoryに関連付けられたすべてのフィールドが表示されます。

3.3.4.5 ROQLを使用したリレーションシップの提案

ROQLでは、リレーションシップ機能がサポートされます。この機能によって、リレーションシップを通じて、あるプライマリ・オブジェクトから別のプライマリ・オブジェクトに到達できます。

ROQLクエリー・ビルダーは、識別済のオブジェクトから到達可能なすべてのリレーションシップを識別してリストします。リレーションシップのリレーションシップをリストできます。

詳細は、Oracle RightNow Connect Web Services for SOAP開発者ガイドを参照してください。

特定のContactの親組織を検索する必要がある場合、ROQLのテキスト領域にSelect Contactと入力して「.」を入力すると、Contactオブジェクトで使用可能なすべてのリレーションシップが表示されます。

3.3.4.6 クエリー・ビルダーを使用したインラインおよびセマンティック検証の取得

クエリー・ビルダーには、問題のあるテキストの下に赤い波線を描画して強調表示する組込みのインライン・バリデータがあります(ツールチップ・メッセージにエラーを修正するための提案も表示されます)。

クエリー・ビルダー・バリデータは、キーワード、オブジェクト名、リレーションシップ名、フィールド名および関数名のスペル・チェックを実行します。正しく入力されたキーワードは、すべて自動的に青く表示され、それらのキーワードが有効であることが示されます。

ROQLクエリー・ビルダーでは、問合せのセマンティック検証もサポートされます。現在選択されているオブジェクトに対して、指定したリレーションシップまたはフィールド名が無効であることがわかります。

3.3.5 ROQLのアダプタ・サポート

Oracle RightNowアダプタは、オブジェクト問合せ言語を使用してRightNow CXプラットフォームに対してSQLに似た問合せを実行できるようにする問合せサブシステムを提供します。

ROQL問合せ言語は、Object Query Language (OQL)のサブセットと、オブジェクト表記法を処理するために拡張されているSQLに似た問合せ言語に基づきます。

ROQLでは、現在、Query Objects機能のみがサポートされ、Query CSはサポートされません。

3.3.5.1 問合せ引数

例として次の問合せを使用します。

問合せ引数を使用して問合せを調整します。そのため、前述の例では、LinおよびCAが問合せ引数になります。

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

問合せパラメータは、アダプタが問合せの実行中に実際の値に置き換える問合せ引数をパラメータ化できる独自の概念です。

SQLと同様に、問合せ言語には、WHERE句でフィルタを渡して検索を調整できる機能があります。この調整は、バインド・パラメータの概念を使用することで可能になります。

3.3.5.2 バインド・パラメータのサポート

Oracle RightNowアダプタには、バインド・パラメータの形式で問合せ文に入力を行うことができるオプションがあります。

図3-21 バインド・パラメータの形式による問合せの入力

図3-21の説明が続きます
「図3-21 バインド・パラメータの形式による問合せの入力」の説明

Oracle RightNowアダプタの次の問合せの例を参照してください。orgidの前に追加されたアンパサンド記号の&は、アンパサンドがバインド・パラメータであることを示します。

図3-22 バインド・パラメータを使用した問合せの例

図3-22の説明が続きます
「図3-22 バインド・パラメータを使用した問合せの例」の説明

問合せを実行して、それがバインド・パラメータとともにどのように機能するかを確認するには、「問合せのテスト」をクリックします。

図3-23 ROQL問合せ結果

図3-23の説明が続きます
「図3-23 ROQL問合せ結果」の説明

前述のように、問合せによって、バインド・パラメータの値の指定が求められます。

アダプタ問合せに対して生成されたWSDLには、入力スキーマの一部としてバインド・パラメータが含まれます。

図3-24 バインド・パラメータが表示されたWSDLの生成済入力スキーマの一部

図3-24の説明が続きます
「図3-24 バインド・パラメータが表示されたWSDLの生成済入力スキーマの一部」の説明

アダプタ問合せに対して生成されたJCAファイルは、次のようになります。

例3-7 問合せでバインド・パラメータが使用されている場合に生成されたJCAファイル

<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>

問合せがパラメータ化されると、Oracle RightNowアダプタによって、そのコンシューマは、リクエスト・ペイロードの一部として問合せパラメータを渡すことができます。

アダプタは、リクエスト・ペイロードの問合せパラメータを動的に置き換えて、サービスの起動時に引数を含むROQL問合せを再構築します。

そのため、アダプタを使用して問合せパラメータを簡単に定義することで、問合せ引数をパラメータ化し、それらのパラメータを実行時に動的にインジェクトできます。