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アダプタでは、CRUD、つまり作成、読取り、更新および破棄操作がサポートされます。サポートされる基本操作は次のとおりです。
Oracle RightNowアダプタを使用して、RightNow Cxで1つ以上のビジネス・オブジェクト(標準またはカスタム)を作成できます。たとえば、Organization
、Contact
およびIncident
オブジェクトを、すべて単一のリクエストの一部として、または3つの独立したリクエストとして作成できます。
たとえば、操作画面では、1つのリクエストの一部としてOrganization、ContactおよびIncidentオブジェクトを選択できます。
Oracle RightNowアダプタを使用して、RightNow CXクラウド・プラットフォームで使用可能な1つ以上のオブジェクトからデータを取得できます。たとえば、Oracle RightNowアダプタを使用して、組織のみに関連するデータを取得したり、1つのリクエストで組織、連絡先およびインシデントの組合せに関する情報を取得できます。
たとえば、操作画面でGet
操作を指定してOrganization
オブジェクトを選択し、Organization
からデータを取得できます。
Update
操作を使用して、任意のプライマリ・オブジェクトと関連サブオブジェクトを更新します。RightNow CXクラウド・プラットフォームで1つ以上のビジネス・オブジェクト(標準またはカスタム)を更新できます。たとえば、Organization
、Contact
およびIncident
オブジェクトを、単一のリクエストの一部として、または3つの独立したリクエストとして更新できます。
たとえば、Organization
、Contact
およびIncident
オブジェクトを、単一のUpdateリクエストの一部として、操作画面で更新できます。
更新操作を実行するには、次の手順を実行します。
3つのオブジェクトに対する一連の更新の一部として1つのオブジェクトを更新できます。
Oracle RightNowアダプタを使用して、RightNow Cxクラウド・プラットフォームで1つ以上のビジネス・オブジェクト(標準またはカスタム)を削除できます。たとえば、Organization
、Contact
およびIncident
オブジェクトを、すべて単一のリクエストの一部として、または3つの独立したリクエストとして削除できます。
次のスクリーンショットでは、Oracle RightNowアダプタの操作画面を使用して、Organization、ContactおよびIncidentオブジェクトを削除します。
複数のビジネス・オブジェクトを削除するには、次の手順を実行します。
バッチ機能は、Oracle RightNowアダプタの独特な機能であり、1つ以上の異種操作を単一の操作を通じてRightNow Cxサーバーに送信できます。この機能によって、統合開発者は、既存の組織の更新、既存の組織の連絡先の作成、既存のインシデントのメモの削除、または新しいインシデントの作成が可能になります。バッチ機能の使用により、これらすべての指示を結合し、単一の操作としてOracle RightNow Cxサーバーに送信できます。Oracle RightNowアダプタは、バッチ操作とバッチ・オプションを構成するために必要なツールを提供して、この機能を拡張します。
アダプタでは、バッチ操作と処理オプションのために統合の容易なインタフェースも提供しています。バッチ操作オプションを選択してこのオプションを構成できます。
バッチ機能には他に次の機能も含まれます。
バッチの各操作には、個別の処理オプションがあります。アダプタ構成ウィザードでは、ユーザーが処理オプションを構成するためのグラフィカルで直感的な方法が提供されます。
バッチ内の操作は、通常、単一のトランザクションで実行されますが、commitAfter
プロパティを使用してこれらの操作を異なる作業ユニットにグループ化することもできます。このプロパティでは、複数の操作を1つのトランザクションにグループ化します。実行時、バッチ内の一連の操作を1つの操作の一部として定義する場合、そのトランザクション境界の最後の操作後にこのアクションが送信されます。
バッチ機能は、Oracle RightNowアダプタの独特な機能であり、1つ以上の操作を単一の操作を通じてOracle RightNow Cxに送信できます。
Oracle RightNowアダプタは、バッチ操作とバッチ・オプションを構成するために必要なツールを提供して、バッチ機能を拡張します。これは、バッチ操作と処理オプションのために統合の容易なインタフェースも提供しています。
次の項では、アダプタ構成ウィザードを使用してバッチ操作用にOracle RightNowアダプタをモデル化する方法について説明します。
バッチ内の操作は、通常、単一のトランザクションで実行されますが、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アダプタの機能です。具体的には、チェーンをバッチと併用して、関連する操作を実行します。操作のチェーンを作成するには、チェーンのソースおよびターゲットの操作が同じ作業ユニット内に存在する必要があります。
注意:
Oracle RightNow Cloudアダプタをアウトバウンド方向に構成するときに、チェーンを使用する場合は、「後でコミット」処理オプションを選択しないでください。アウトバウンド方向の構成の詳細は、「Oracle RightNowアダプタのユーザー・インタフェースによるバッチ機能のサポート」を参照してください。たとえば、次のリクエストには、同じサンプル・バッチ・リクエストのすべての部分である3つの操作が含まれます。
Contact
の作成。
Incident
の作成(このIncidentのプライマリContact
は最初の手順で作成したものです)。
Incident
の取得(作成したIncident
のみを返す必要があります)。
例3-4の例で強調表示されている属性を使用して、これがコード内でどのように記述されるかを確認します。
例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-5に関連付けられているリクエストおよびレスポンス・ペイロードは、統合リクエスト・ペイロードの例を示しています。
例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>
処理オプションを使用して、RightNowクラウド操作の実行時にサーバー側処理の特定の機能を有効化および無効化できます。処理オプションは、作成されると、処理オプションを使用する様々なWSDL操作に提供されます。次に、サポートされるすべての処理オプションのリストと、その使用方法およびデフォルト値を示します。この項では、次の内容について説明します。
作成のプロパティ・タブで指定することで、CreateProcessingOptions
とCreate
操作を組み合せて使用できます。CreateProcessingOptions
には、表3-1にリストされているプロパティが含まれます。
表3-1 CreateProcessingオプション
フィールド | 説明 |
---|---|
|
|
|
RightNowアダプタ固有のオプション。このプロパティは、ブール値を使用し、IDを |
|
|
削除操作のプロパティ・タブで指定することで、DestroyProcessiongOptionsとDelete
操作を組み合せて使用できます。DestroyProcessingOptions
には、次のプロパティが含まれます。
表3-2 DestroyProcessingオプション
フィールド | 説明 |
---|---|
|
|
|
|
取得操作のプロパティ・タブで指定することで、GetProcessiongOptionsとGet操作を組み合せて使用できます。GetProcessingOptions
には、次のプロパティが含まれます。
表3-3 GetProcessingオプション
フィールド | 説明 |
---|---|
|
すべてのNamedIDタイプにそのフィールドの名前とIDの両方を含めるようにサーバーに指示します。非常に効率が悪い場合およびすべての名前とIDのフィールドが必要な場合にのみこれを使用してください。すべての名前とIDのフィールドが必要でない場合、このオプションは使用しないでください(詳細は、 |
更新操作のプロパティ・タブで指定することで、UpdateProcessingOptionsとUpdate操作を組み合せて使用できます。UpdateProcessingOptionsには、次のプロパティが含まれます。
表3-4 UpdateProcessingOptions
フィールド | 説明 |
---|---|
|
Update操作の完了後に外部イベントを実行しないことを示すために使用します。デフォルト値は、言語固有です(デフォルト値の詳細は、言語のドキュメントおよび生成されたクライアント・コードを参照してください)。 |
|
Update操作の完了後にビジネス・ルールを実行しないことを示すために使用します。デフォルト値は、言語固有です(デフォルト値の詳細は、言語のドキュメントおよび生成されたクライアント・コードを参照してください)。 |