この章では、Oracle Mediatorサービス・コンポーネントと他のアプリケーションとの間の一般的なメッセージ交換パターンについて説明します。
項目は次のとおりです。
注意: 次の交換パターンは、ルーティング・ルールが作成された際のレスポンス、フォルトおよびコールバックに対するOracle JDeveloperのデフォルト処理を示しています。すべてのケースについて、次の点を考慮してください。
|
一方向相互作用では、Oracle Mediatorは起動されますが、コール元にはレスポンスを返信しません。表24-1に示すように、ルーティング・ルール・ターゲットのタイプに基づいて、レスポンス、フォルトおよびコールバックが処理されます。
表24-1 Oracle MediatorのWSDLが一方向相互作用の場合のレスポンス
ルーティング・ルール・ターゲットのタイプ | レスポンス |
---|---|
リクエスト |
レスポンスはありません。 |
リクエスト・レスポンス |
レスポンスは、別のターゲットまたはイベントに転送されます。 |
リクエスト・レスポンス・フォルト |
レスポンスおよびフォルトは、別のターゲットまたはイベントに転送されます。 |
リクエスト・コールバック |
コールバックは、別のターゲットまたはイベントに転送されます。 |
リクエスト・レスポンス・コールバック |
レスポンスおよびコールバックは、別のターゲットまたはイベントに転送されます。 |
リクエスト・レスポンス・フォルト・コールバック |
レスポンス、フォルトおよびコールバックは、別のターゲットまたはイベントに転送されます。 |
図24-1は、一方向メッセージ交換パターンを示しています。
one.way.returns.fault
プロパティは、一方向インタフェースのSOAPコールについて、フォルトおよび一方向メッセージの処理方法を制御します。このプロパティは、composite.xml
ファイルの一方向Webサービスに関するWebサービス・セクションのサービス・バインディング・コンポーネントに追加できます。このプロパティを、参照に適用することはできません。適用できるのは、サービスとbinding.ws
バインディング・タイプに対してのみです。表24-2に、このプロパティの詳細を示します。
表24-2 one.way.returns.faultプロパティ
one.way.returns.faultの設定 | 結果 |
---|---|
. . . <service name="Mediator1_2" ui:wsdlLocation="ReadFile.wsdl"> <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/file /LocalSandbox/Project1/ReadFile%2F#wsdl.interface(Read_ ptt)"/> <binding.ws port="http://xmlns.oracle.com/pcbpel/adapter/file /LocalSandbox/Project1/ReadFile%2F#wsdl.endpoint (Mediator1/Read_pt)"> <property name="one.way.returns.fault" type="xs:string" many="false" override="may">true</property> </binding.ws> </service> . . . |
後続処理で発生するフォルトは、クライアントへのSOAPフォルトと、HTTPレスポンス・コード500を返します(11g リリース1と同じ動作)。 |
. . . <service name="Mediator1_2" ui:wsdlLocation="ReadFile.wsdl"> <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/file/ Local Sandbox/Project1/ReadFile%2F#wsdl.interface(Read_ ptt)"/> <binding.ws port="http://xmlns.oracle.com/pcbpel/adapter/file/LocalSan dbox/Project1/ReadFile%2F#wsdl.endpoint(Mediator1/Read_ pt)"> <property name="one.way.returns.fault" type="xs:string" many="false" override="may">false</property> </binding.ws> </service> . . . |
後続処理で発生するフォルトは、HTTPレスポンス・コード500のみを返します。クライアントにはSOAPフォルトを返しません。 |
未設定の場合(デフォルト) |
後続処理で発生するフォルトは、クライアントへのSOAPフォルトと、HTTPレスポンス・コード500を返します(11g リリース1と同じ動作)。 |
one.way.returns.faultプロパティを追加する手順は、次のとおりです。
SOAコンポジット・エディタで、one.way.returns.fault
プロパティを追加するサービス・バインディング・コンポーネントを選択します。
エディタの右下部にある「プロパティ・インスペクタ」セクションに移動します。
「バインディング・プロパティ」セクションで、「追加」アイコンをクリックします。
「プロパティの作成」ダイアログが表示されます。
「名前」フィールドに、one.way.returns.fault
と入力します。
「値」フィールドに、true
またはfalse
を入力します。
「OK」をクリックします。
リクエスト・リプライ相互作用では、Oracle Mediatorが起動され、コール元にリプライを送信します。表24-3に示すように、ルーティング・ルール・ターゲットのタイプに基づいて、レスポンス、フォルトおよびコールバックが処理されます。
表24-3 Oracle MediatorのWSDLがリクエスト・リプライの場合のレスポンス
ルーティング・ルール・ターゲットのタイプ | レスポンス |
---|---|
リクエスト |
ターゲットからのレスポンスはありませんが、リクエスト・レスポンス・サービスが含まれる順次ルーティング・ルールが少なくとも1つ必要です。 |
リクエスト・レスポンス |
レスポンスは、コール元に返信されます。レスポンスは別のターゲットまたはイベントに転送できますが、コール元にレスポンスを返す順次ルーティング・ルールが少なくとも1つ必要です。 |
リクエスト・レスポンス・フォルト |
レスポンスは、コール元に返信されます。フォルトは、別のターゲットまたはイベントに転送されます。 |
リクエスト・コールバック |
ターゲットからのレスポンスはありませんが、リクエスト・レスポンス・サービスが含まれる順次ルーティング・ルールが少なくとも1つ必要です。コールバックは、別のターゲットまたはイベントに転送されます。 |
リクエスト・レスポンス・コールバック |
レスポンスは、コール元に返信されます。コールバックは、別のターゲットまたはイベントに転送されます。 |
リクエスト・レスポンス・フォルト・コールバック |
レスポンスは、コール元に返信されます。コールバックおよびフォルトは、別のターゲットまたはイベントに転送されます。 |
図24-2は、リクエスト・リプライ・メッセージ交換パターンを示しています。
リクエスト・リプライ・フォルト相互作用では、Oracle Mediatorが起動され、コール元にリプライと1つ以上のフォルトを返信します。表24-4に示すように、ルーティング・ルール・ターゲットのタイプに基づいて、レスポンス、フォルトおよびコールバックが処理されます。
表24-4 Oracle MediatorのWSDLがリクエスト・リプライ・フォルトの場合のレスポンス
ルーティング・ルール・ターゲットのタイプ | レスポンス |
---|---|
リクエスト |
リクエスト・レスポンス・フォルト・サービスが含まれる順次ルーティング・ルールが少なくとも1つ必要です。送信するレスポンスがない場合、Oracle Mediatorは |
リクエスト・レスポンス |
レスポンスは、コール元に返信されます。Oracle Mediatorによるメッセージ処理での例外によってフォルトが発生する場合があります。 |
リクエスト・レスポンス・フォルト |
レスポンスおよびフォルトがコール元に返信されます。Oracle Mediatorによるメッセージ処理での例外によってフォルトが発生する場合があります。 |
リクエスト・コールバック |
ターゲットからのレスポンスはありませんが、リクエスト・レスポンス・サービスが含まれる順次ルーティング・ルールが少なくとも1つ必要です。送信するレスポンスがない場合、Oracle Mediatorは |
リクエスト・レスポンス・コールバック |
レスポンスは、コール元に返信されます。Oracle Mediatorによるメッセージ処理での例外によってフォルトが発生する場合があります。 |
リクエスト・レスポンス・フォルト・コールバック |
レスポンスおよびフォルトがコール元に返信されます。Oracle Mediatorによるメッセージ処理での例外によってフォルトが発生する場合があります。 |
図24-3は、リクエスト・リプライ・フォルト・メッセージ交換パターンを示しています。
リクエスト・コールバック相互作用では、Oracle Mediatorが起動され、コール元に非同期リプライを送信する場合があります。表24-5に示すように、ルーティング・ルール・ターゲットのタイプに基づいて、レスポンス、フォルトおよびコールバックが処理されます。
表24-5 Oracle MediatorのWSDLがリクエスト・コールバックの場合のレスポンス
ルーティング・ルール・ターゲットのWSDL | レスポンス |
---|---|
リクエスト |
リクエスト・コールバック・サービスが含まれる順次ルーティング・ルールが少なくとも1つ必要です。コールバックが定義されたルーティング・ルールがない場合、コールバックはコール元に送信されません。 |
リクエスト・レスポンス |
レスポンスは、独立したスレッドでコールバックとしてコール元に返信されます。 |
リクエスト・レスポンス・フォルト |
レスポンスは、独立したスレッドでコールバックとしてコール元に返信されます。フォルトは、別のターゲットまたはイベントに転送されます。 |
リクエスト・コールバック |
コールバックは、コール元に返信されます。 |
リクエスト・レスポンス・コールバック |
コールバックはコール元に返信され、レスポンスは別のターゲットまたはイベントに転送されます。 |
リクエスト・レスポンス・フォルト・コールバック |
コールバックは、コール元に返信されます。レスポンスおよびフォルトは、別のターゲットまたはイベントに転送されます。 |
図24-4は、リクエスト・コールバック・メッセージ交換パターンを示しています。
リクエスト・リプライ・コールバック相互作用では、Oracle Mediatorが起動され、初期コール元にレスポンスと非同期リプライを送信します。表24-6に示すように、ルーティング・ルール・ターゲットのタイプに基づいて、レスポンス、フォルトおよびコールバックが処理されます。
表24-6 Oracle MediatorのWSDLがリクエスト・レスポンス・コールバックの場合のレスポンス
ルーティング・ルール・ターゲットのタイプ | レスポンス |
---|---|
リクエスト |
レスポンスを返す順次ルーティング・ルールが少なくとも1つ必要です。コールバックが定義されたルーティング・ルールがない場合、コールバックはコール元に送信されません。 |
リクエスト・レスポンス |
レスポンスを返す順次ルーティング・ルールが少なくとも1つ必要です。コールバックが定義されたルーティング・ルールがない場合、コールバックは送信されません。 |
リクエスト・レスポンス・フォルト |
レスポンスを返す順次ルーティング・ルールが少なくとも1つ必要です。コールバックが定義されたルーティング・ルールがない場合、コールバックはコール元に送信されません。 |
リクエスト・コールバック |
レスポンスを返す順次ルーティング・ルールが少なくとも1つ必要です。送信するレスポンスがない場合、Oracle Mediatorは |
リクエスト・レスポンス・コールバック |
レスポンスおよびコールバックがコール元に返信されます。 |
リクエスト・レスポンス・フォルト・コールバック |
レスポンスおよびコールバックがコール元に返信されます。フォルトは、別のターゲットまたはイベントに転送されます。 |
図24-5は、リクエスト・リプライ・コールバック・メッセージ交換パターンを示しています。
リクエスト・リプライ・フォルト・コールバック相互作用では、Oracle Mediatorが起動され、初期コール元にレスポンス、非同期リプライおよび1つ以上のフォルト・タイプを返信します。表24-7に示すように、ルーティング・ルール・ターゲットのタイプに基づいて、レスポンス、フォルトおよびコールバックが処理されます。
表24-7 リクエスト・レスポンス・フォルト・コールバックのOracle Mediatorへのレスポンス
ルーティング・ルール・ターゲットのWSDL | レスポンス |
---|---|
リクエスト |
リクエスト・コールバック・サービスが含まれる順次ルーティング・ルールが少なくとも1つ必要です。コールバックが定義されたルーティング・ルールがない場合、コールバックはコール元に送信されません。 |
リクエスト・レスポンス |
リクエスト・コールバック・サービスが含まれる順次ルーティング・ルールが少なくとも1つ必要です。コールバックが定義されたルーティング・ルールがない場合、コールバックはコール元に送信されません。 |
リクエスト・レスポンス・フォルト |
リクエスト・コールバック・サービスが含まれる順次ルーティング・ルールが少なくとも1つ必要です。コールバックが定義されたルーティング・ルールがない場合、コールバックはコール元に送信されません。 |
リクエスト・コールバック |
レスポンスを返す順次ルーティング・ルールが少なくとも1つ必要です。送信するレスポンスがない場合、Oracle Mediatorは |
リクエスト・レスポンス・コールバック |
レスポンスおよびコールバックがコール元に返信されます。Oracle Mediatorによるメッセージ処理での例外によってフォルトが発生する場合があります。 |
リクエスト・レスポンス・フォルト・コールバック |
レスポンス、フォルトおよびコールバックがコール元に返信されます。 |
図24-6は、リクエスト・リプライ・フォルト・コールバック・メッセージ交換パターンを示しています。