Oracle® Fusion Middleware Oracle Cloud Adapter for Oracle RightNow Cloud Serviceユーザーズ・ガイド 12c (12.2.1) E72708-01 |
|
前 |
次 |
この章では、JDeveloperを使用したRightNowアダプタの一般的な構成手順に加え、作成、読取り、更新および削除に関してアダプタで使用できる様々な操作、それらの操作で使用できる機能、およびROQL問合せ言語の使用について説明します。
この章の内容は以下のとおりです。
多くの項で操作やオプションの概要を説明しており、詳細情報が記載された他の章を参照しています。
この項では、JDeveloperを使用してOracle RightNowアダプタ・プロジェクトを開始する場合に共通の構成手順の概要について説明します。JDeveloperの使用によってRightNowアダプタを構成してBPELプロジェクトを作成する一方で、Service Busなどの他のサービス・エンジンで使用するためにアダプタを構成することもできます。
この項は、このガイドの他の複数の章で参照されます。
JDeveloperを使用してアウトバウンド・サービスを使用するためにOracle RightNowアダプタを構成するには、次の手順を実行します。
JDeveloperの「ファイル」メニューで、「新規」をクリックして「アプリケーション」を選択します。
「新規ギャラリ」ページが表示されます。「項目」リストから「SOAアプリケーション」を選択します。
アプリケーションに適切な名前を指定します。
「次へ」をクリックしてプロジェクトに適切な名前を指定します。
「次へ」をクリックします。
「標準コンポジット」からBPELプロセスを使用するコンポジットを選択します。
「終了」をクリックします。
JDeveloperの「コンポーネント」から参照スイムレーンにRightNowアダプタ・コンポーネントをドラッグ・アンド・ドロップします。
スイムレーンのRightNowアダプタ・アイコンをクリックします。RightNowアダプタの「ようこそ」画面が表示されます。
RightNowアダプタの接続画面で、Oracle RightNow Cxに接続するための接続情報を入力します。これには、WSDL URL、認証キーの名前、オフライン構成モードで実行するオプション、およびキャッシュをクリアするオプションが含まれます。必要に応じて、両方のオプションを選択しないままにできます。
RightNow管理者からWSDLと認証キーを入手できます。
初期画面自体に接続をテストして資格証明を検証するオプションがあります。これを行うには、「テスト」オプションを選択します。
次に、RightNowアダプタ構成ウィザードに、選択可能な追加情報が表示されます。
実行する操作です。
操作を実行する対象となるオブジェクト。
操作固有の任意の構成。
この時点で、単一のCRUD操作を実行するか、複数操作をバッチで実行するかを指定できます。
クラウド操作の構成 - このオプションは、単一操作による作業が対象です。
バッチ内の複数の操作の構成 - この操作を選択すると、複数の操作で作業できます。これは、「クラウド操作の構成」オプションを選択すると選択解除されます。
操作の選択に関連する大部分の作業を実行できる操作構成画面を参照してください。
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
操作は、プライマリ・オブジェクトとサブオブジェクトを破棄します。
次の項では、Oracle RightNowアダプタによってサポートされる機能のリストを示します。
Oracle RightNowアダプタでは、作成、読取り、更新および破棄(CRUD)操作がサポートされます。サポートされる基本操作は次のとおりです。
Oracle RightNowアダプタを使用して、RightNow Cxで1つ以上のビジネス・オブジェクト(標準またはカスタム)を作成できます。たとえば、Organization
、Contact
およびIncident
オブジェクトを、すべて単一のリクエストの一部として、または3つの独立したリクエストとして作成できます。
Oracle RightNowアダプタの操作構成画面の次のスクリーンショットで、Organization
、Contact
およびIncident
オブジェクトは、すべて1つのリクエストの一部として作成されます。
図3-10 1つのリクエストによるOrganization、ContactおよびIncidentオブジェクトの作成
次のスクリーンショットでは、1つのオブジェクト(Organization
オブジェクト)が作成されます。
Oracle RightNowアダプタを使用して、RightNow CXクラウド・プラットフォームで使用可能な1つ以上のオブジェクトからデータを取得できます。たとえば、Oracle RightNowアダプタを使用して、組織のみに関連するデータを取得したり、1つのリクエストで組織、連絡先およびインシデントの組合せに関する情報を取得できます。
次のスクリーンショットでは、Oracle RightNowアダプタのクラウド操作構成画面でGet
操作を指定してOrganization
オブジェクトを選択し、Organization
からデータを取得します。
「クラウド操作」のリストから「Get」操作を選択します。
矢印を使用してOrganization
オブジェクトを「選択可能」リストから「選択済」リストに移動します。
「次へ」をクリックします。
次のスクリーンショットでは、Oracle RightNowアダプタのクラウド操作構成画面で、1つのGet
リクエストを使用してOrganization
、Contact
およびIncident
を選択し、複数のオブジェクトからデータを取得します。
Update
操作を使用して、任意のプライマリ・オブジェクトと関連サブオブジェクトを更新します。Oracle RightNowアダプタを使用して、RightNow CXクラウド・プラットフォームで1つ以上のビジネス・オブジェクト(標準またはカスタム)を更新できます。たとえば、Organization
、Contact
およびIncident
オブジェクトを、単一のリクエストの一部として、または3つの独立したリクエストとして更新できます。
次のスクリーンショットは、Oracle RightNowアダプタのクラウド操作構成画面で単一のUpdateリクエストの一部として更新されたOrganization
、Contact
およびIncident
オブジェクトを示しています。
更新操作を実行するには、次の手順を実行します。
「クラウド操作」のリストからUpdateを選択します。
「選択可能」リストから1つ以上のビジネス・オブジェクトを選択します。
矢印を使用して「選択済」リストに移動します。
「次へ」をクリックします。
次のスクリーンショットは、3つのオブジェクトに対する一連の更新の一部として1つのオブジェクトを更新する方法を示しています。この例では、Organization
オブジェクトが更新されます。
Oracle RightNowアダプタを使用して、RightNow Cxクラウド・プラットフォームで1つ以上のビジネス・オブジェクト(標準またはカスタム)を削除できます。たとえば、Organization
、Contact
およびIncident
オブジェクトを、すべて単一のリクエストの一部として、または3つの独立したリクエストとして削除できます。
次のスクリーンショットでは、Oracle RightNowアダプタのクラウド操作構成画面を使用して、Organization、ContactおよびIncidentオブジェクトを削除します。
複数のビジネス・オブジェクトを削除するには、次の手順を実行します。
「クラウド操作」のリストからDestroy操作を選択します。
矢印を使用してOrganization、ContactおよびIncidentオブジェクトを「選択可能」リストから「選択済」リストに移動します。
「次へ」をクリックします。
次のスクリーンショットでは、Oracle RightNowアダプタのクラウド操作構成画面を使用して、1つのビジネス・オブジェクトを削除します。
バッチ機能は、Oracle RightNowアダプタの独特な機能であり、1つ以上の異種操作を単一の操作を通じてRightNow Cxサーバーに送信できます。この機能によって、統合開発者は、既存の組織の更新、既存の組織の連絡先の作成、既存のインシデントのメモの削除、または新しいインシデントの作成が可能になります。バッチ機能を使用すると、これらすべての指示を統合してOracle RightNow Cxサーバーに単一の操作として送信できます。Oracle RightNowアダプタは、バッチ操作とバッチ・オプションを構成するために必要なツールを提供して、この機能を拡張します。
アダプタでは、バッチ操作と処理オプションのために統合の容易なインタフェースも提供しています。Oracle RightNowアダプタ構成ウィザードで、バッチ操作の構成オプションを選択してこのオプションを構成できます。
バッチ機能には他に次の機能も含まれます。
バッチの各操作には、個別の処理オプションがあります。アダプタ構成ウィザードでは、ユーザーが処理オプションを構成するためのグラフィカルで直感的な方法が提供されます。
バッチ内の操作は、通常、単一のトランザクションで実行されますが、commitAfter
プロパティを使用してこれらの操作を異なる作業ユニットにグループ化することもできます。
バッチ機能は、Oracle RightNowアダプタの独特な機能であり、1つ以上の操作を単一の操作を通じてOracle RightNow Cxに送信できます。
Oracle RightNowアダプタは、バッチ操作とバッチ・オプションを構成するために必要なツールを提供して、バッチ機能を拡張します。これは、バッチ操作と処理オプションのために統合の容易なインタフェースも提供しています。
次の項では、アダプタ構成ウィザードを使用してバッチ操作用にOracle RightNowアダプタをモデル化する方法について説明します。
SOAプロジェクトまたはService Busプロジェクトで、「コンポーネント」からコンポジット・スイムレーンにOracle RightNowアダプタをドラッグ・アンド・ドロップします。有効な参照名を指定します。図3-18「Oracle RightNowアダプタ構成ウィザードの参照画面」を参照してください。
接続の詳細を指定します。
「クラウド操作構成」ページで、バッチ操作を構成するオプションを選択します。
このオプションを選択すると、複数の操作をバッチとして構成できます。「追加」操作のアイコン(プラス記号)を選択します。アダプタによって「操作の追加」ダイアログが表示されます。
ここで、バッチ操作として操作を選択および追加できます。
追加された各操作は、適切なビジネス・オブジェクトとともにリスト表示されます。
バッチ・プロセスの各操作には、「プロパティ」タブで指定できる個別の処理オプションがあります。たとえば、「操作の追加」には、指定可能な3つのプロパティ(「外部イベントの抑制」、「ルールの抑制」および「後でコミット」)があります。
「次へ」を選択してアダプタ・ウィザードを完了します。確認ダイアログに、生成されたアーティファクトが表示されます。
バッチ内の操作は、通常、単一のトランザクションで実行されますが、commitAfter
プロパティを使用してこれらの操作を別々の作業ユニットにグループ化することもできます。
次の例は、バッチ・プロセスによるサンプル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>
チェーンは、単一のバッチ・リクエスト内で複数の操作を相互に関連付けるために使用できるOracle RightNowアダプタの機能です。具体的には、チェーンをバッチと併用して、関連する操作を実行します。操作のチェーンを作成するには、チェーンのソースおよびターゲットの操作が同じ作業ユニット内に存在する必要があります。
たとえば、次のリクエストには、同じサンプル・バッチ・リクエストのすべての部分である3つの操作が含まれます。
Contact
の作成
Incident
の作成(このIncidentのプライマリContact
は最初の手順で作成したものです。)
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>
チェーンは、常にバッチとともに使用され、Oracle RightNowアダプタのバッチ構成ウィザードで特別の手順を必要としません。
ただし、チェーンを使用するには、前述のサンプル・リクエストに示されているとおり、アダプタ・リクエストで正しいチェーン・ソースと宛先をリンクする必要があります。
次の手順は、Oracle XSLTマッパーによる変換中にチェーンを実行する方法を示しています。
Oracle XSLTマッパーで、ターゲット・タイプとしてOracle RightNowアダプタ参照/ビジネス・サービス・リクエスト・タイプをロードします。
異なるオブジェクト(Incident
など)にチェーンさせる必要のあるContactオブジェクトを作成する場合、Contact ID
を拡張機能ChainSourceID
で置き換えます。
Contact
オブジェクトを展開します。
ID要素を右クリックし、ポップアップから「要素またはタイプの置換」を選択します。
「要素またはタイプの置換」ダイアログが表示されます。ダイアログで、ChainSourceID
を選択します。
この置換によって、連絡先IDタイプが拡張されます。
variableName
プロパティに、このチェーン・ヘッドを一意に識別する一意の文字列(MyContact
など)を設定します。
インシデントの作成操作中に、チェーンの際に連絡先に対してインシデントが作成されるように、インシデントのPrimaryContact
フィールドにChainDestinationID
を設定します。
言い換えると、MyContact
のChainDestinationID
がPrimaryContact
フィールドに設定されます。
<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>
同様に、Incident
を作成し、次にそのインシデントに対してGet
を実行するには、Incident ID
をchainSourceID
で置き換えます。variableName
プロパティに一意の文字列(MyIncident
など)を設定します。
次に、Get
操作で、インシデントIDを拡張機能ChainDestinationID
に置き換え、variableName
プロパティにchainSourceID
の変数名(MyIncident)を設定します。
必要に応じて他のタイプをマップします。
処理オプションを使用して、RightNowクラウド操作の実行時にサーバー側処理の特定の機能を有効化および無効化できます。処理オプションは、作成されると、処理オプションを使用する様々なWSDL操作に提供されます。次に、サポートされるすべての処理オプションのリストと、その使用方法およびデフォルト値を示します。この項では、次の内容について説明します。
作成のプロパティ・タブで指定することで、CreateProcessingOptions
とCreate
操作を組み合せて使用できます。CreateProcessingOptions
には、表3-1「CreateProcessingOptions」にリストされているプロパティが含まれます。
表3-1 CreateProcessingオプション
フィールド | 説明 |
---|---|
|
|
|
RightNowアダプタ固有のオプション。このプロパティは、ブール値を使用し、IDを |
|
|
削除操作のプロパティ・タブで指定することで、DestroyProcessiongOptionsとDelete
操作を組み合せて使用できます。DestroyProcessingOptions
には、次のプロパティが含まれます。
取得操作のプロパティ・タブで指定することで、GetProcessiongOptionsとGet操作を組み合せて使用できます。GetProcessingOptions
には、次のプロパティが含まれます。
ROQL機能によって、RightNow Cxデータベースに対する問合せを作成できます。
この項の内容は次のとおりです。
ROQL操作カテゴリを選択すると、問合せエディタが表示されます。選択した操作に応じて、ROQL文を入力します。
ROQLによって、組織のRightNow Cxデータから特定の情報を検索できます。
この章では、ROQLの詳細な説明はされません。Oracle Service Cloud Connect Web Services for SOAPを参照してください。
ROQL問合せ文は、Oracle RightNow Cxのデータを問い合せます。問合せ文のテキスト・ボックスは、Oracle RightNow CXに準拠したROQL文で構成されます。
問合せ操作の詳細は、ROQL操作に関する項を参照してください。ROQLの詳細は、Oracle RightNow Connect Web Services for SOAP開発者ガイドのROQLに関する項を参照してください。例については、図3-27「サンプルROQL問合せ」を参照してください。
ROQL問合せ文を使用して、RightNow Cxのデータを問い合せます。問合せ文のテキスト・ボックスは、RightNow Cxに準拠したROQL文で構成されます。問合せ操作の詳細は、ROQL操作に関する項を参照してください。ROQLの詳細は、Oracle RightNow Connect Web Services for SOAP開発者ガイドのROQLに関する項を参照してください。
問合せテスト・ツールによって、問合せを実行およびテストできます。「テスト」アイコンをクリックすると、テスト・ダイアログ・ボックスが表示されます。
表示される「問合せテスト」ダイアログには、次の領域が含まれます。
「問合せ文」および「結果」。「問合せ文」テキスト・ボックスは、問合せ文自体を対象とし、実行された問合せの結果は「結果」ボックスに表示されます。問合せに1つ以上のバインド・パラメータが含まれる場合、それらの値を指定するための1つ以上の入力ボックスが表示されます。
バインド・パラメータのリフレッシュ。問合せ文のバインド・パラメータの数を変更した場合、このボタンを使用して、「パラメータのバインド」ボックスをリフレッシュします。
「問合せ実行」。このボタンを使用して、問合せを実行します。
「queryの結果」。問合せの実行に成功すると、テキスト領域にRightNow Cxからの結果が表示されます。
画面の各領域が強調表示された、図3-28「特定の領域が強調表示された「問合せテスト」画面」を参照してください。
この項では、ROQLクエリー・ビルダーの使用方法について説明します。ROQLクエリー・ビルダーは、統合開発者が負担に感じることが多い各領域に対処します。
このアプローチによって、複雑でエラーのない問合せを簡単に記述できます。このような問合せの記述を実現するため、ROQLクエリー・ビルダーは、次の各項に記載された機能を提供しています。
ROQLクエリー・ビルダーは、問合せを構成する際に使用できる潜在的な標準オブジェクトとカスタム・オブジェクトを識別します。この機能の例は次のとおりです。
操作構成ページの「クラウドAPI」オプションでROQL
を選択します。
ROQLエディタ・テキスト領域にSelectと入力し、[Ctrl] + [Space]を押します。クエリー・ビルダーによって、Oracle RightNow Cxで使用できる標準オブジェクトとカスタム・オブジェクトのリストが表示されます(図3-29「Oracle RightNow Cxで使用できる標準オブジェクトとカスタム・オブジェクトのリストの表示」を参照)。
注意: 作成したカスタム・オブジェクトが操作ページで示されるオブジェクトのリストに表示されない場合、接続ページの「キャッシュのクリア」 オプションを選択し、再度接続を行ってRightNow Cxシステムの最新のメタデータを取得してください。 |
図3-29 Oracle RightNow Cxで使用できる標準オブジェクトとカスタム・オブジェクトのリストの表示
別の方法として、特定のパッケージを指定することで、そのパッケージで作成されたすべてのカスタム・オブジェクトを表示できます(図3-30「パッケージの指定によるそのパッケージで作成されたすべてのカスタム・オブジェクトの表示」を参照)。
図3-30 パッケージの指定によるそのパッケージで作成されたすべてのカスタム・オブジェクトの表示
ROQLクエリー・ビルダーは、カーソルの位置に基づいて問合せ文字列のコンテキストを自動的に識別します。このコンテキストを使用して、クエリー・ビルダーは、効率的なROQL問合せを記述できるように推奨事項を提供します。この機能は、次のように動作します。
ROQLエディタ・テキスト領域にSelectと入力し、[Ctrl] + [Space]を押すと、クエリー・ビルダーによって、すべての標準オブジェクトとビジネス・オブジェクトが表示されます。
同様に、Select Contact from Contact
where
という問合せを実行する場合に、where
句に続けて[Ctrl] + [Space]を押すと、問合せの調整に使用できるContact
オブジェクトのフィールドのリストと、適用可能なキーワードおよび関数が表示されます。
オートコンプリート機能によって、複雑なROQL問合せを迅速で効率的な方法で簡単に構築できます。この機能は次のとおりです。
問合せ文字列のSelect Se
を使用する場合、Se
という用語に続けて[Ctrl] + [Space]を押すと、クエリー・ビルダーによってSeで始まるすべてのオブジェクトが表示されます。
ROQLクエリー・ビルダー機能では、別名がサポートされます。これは、RightNowオブジェクト(Oracle RightNowアダプタにおけるすべてのプライマリ・オブジェクトのベース・クラス)の別名が問合せの対象になっていることを認識し、別名を実際のオブジェクト名として扱います。
オブジェクトに関連付けられたすべての操作を、別名に対して実行できます。
問合せ文字列Select from ServiceCategory S where
で、SはオブジェクトServiceCategory
の別名として設定されます。そのため、ServiceCategoryに関連付けられたすべての操作を、別名Sに対して実行できます。別名に対して実行できる操作の一部は、次のとおりです。
前述の問合せのSelect
とfrom
の間で[Ctrl] + [Space]を押すと、クエリー・ビルダーによってS
が表示され、Select
とFrom
の間にS
が配置されることが示されます(ここでは、Select S from ServiceCategory S
where
となります)。
最初のS
に続けてドットを入力すると、Service
Category
に関連付けられたすべてのリレーションシップが表示されます。
同様に、この問合せSelect S from ServiceCategory S where S
で、最後のS
に続けてドットを入力すると、ServiceCategory
に関連付けられたすべてのフィールドが表示されます。
図3-35 ServiceCategoryに関連付けられたすべてのフィールドが表示された別名のサポート
ROQLでは、リレーションシップ機能がサポートされます。この機能によって、リレーションシップを通じて、あるプライマリ・オブジェクトから別のプライマリ・オブジェクトに到達できます。
ROQLクエリー・ビルダーは、識別済のオブジェクトから到達可能なすべてのリレーションシップを識別してリストします。リレーションシップのリレーションシップをリストできます。
詳細は、Oracle RightNow Connect Web Services for SOAP開発者ガイドを参照してください。
特定のContact
の親組織を検索する必要がある場合、ROQLのテキスト領域にSelect Contact
と入力して「.」を入力すると、Contactオブジェクトで使用可能なすべてのリレーションシップが表示されます(図3-36「リレーションシップの提案の例」を参照)。
クエリー・ビルダーには、問題のあるテキストの下に赤い波線を描画して強調表示する組込みのインライン・バリデータがあります(ツールチップ・メッセージにエラーを修正するための提案も表示されます)。
クエリー・ビルダー・バリデータは、キーワード、オブジェクト名、リレーションシップ名、フィールド名および関数名のスペル・チェックを実行します。正しく入力されたキーワードは、すべて自動的に青く表示され、それらのキーワードが有効であることが示されます。
ROQLクエリー・ビルダーでは、問合せのセマンティック検証もサポートされます。これは、指定されたリレーションシップまたはフィールド名が、現在選択されているオブジェクトに対して無効であることを認識できます(図3-38「クエリー・ビルダーのセマンティック検証」を参照)。
Oracle RightNowアダプタは、オブジェクト問合せ言語を使用してRightNow CXプラットフォームに対してSQLに似た問合せを実行できるようにする問合せサブシステムを提供します。
この言語は、RightNow Object Query Language (ROQL (ロックウェルと発音))です。この問合せ言語は、Object Query Language (OQL)のサブセットと、オブジェクト表記法を処理するために拡張されているSQLに似た問合せ言語に基づきます。
ROQLでは、現在、Query Objects機能のみがサポートされ、Query CSはサポートされません。
例として次の問合せを使用します。
問合せ引数を使用して問合せを調整します。つまり、前述の例で、Lin
およびCA
が問合せ引数です。
Select Contact from Contact where Contact.Name.First = 'Lin' AND Contact.Address.City = 'CA'
問合せパラメータは、アダプタが問合せの実行中に実際の値に置き換える問合せ引数をパラメータ化できる独自の概念です。
SQLと同様に、問合せ言語には、WHERE
句でフィルタを渡して検索を調整できる機能があります。この調整は、バインド・パラメータの概念を使用することで可能になります。
Oracle RightNowアダプタには、バインド・パラメータの形式で問合せ文に入力を行うことができるオプションがあります。
Oracle RightNowアダプタのユーザー・インタフェースに表示された次の問合せの例を参照してください。contact_name
とcontact_address
の前に追加されたアンパサンド記号の&
は、アンパサンドがバインド・パラメータであることを示します。
右側の「問合せテスト・ツールを実行します」ボタンをクリックすると、問合せテスト実行ツールを実行して、バインド・パラメータと組み合されたこのような問合せの動作を参照できます。
前述のとおり、問合せテスト実行ツールによって、バインド・パラメータ(ここでは&contact_name
および&contact_address
)の値を指定するようプロンプトが表示されます。
バインド・パラメータに適切な値を指定して「問合せ実行」ボタンをクリックすると、特定の問合せの結果セットを表示できます。
この特定のアダプタ問合せに対して生成された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問合せを再構築します。
そのため、アダプタを使用して問合せパラメータを簡単に定義することで、問合せ引数をパラメータ化し、それらのパラメータを実行時に動的にインジェクトできます。