E 同期リクエスト/リプライのサポート
この付録では、Oracle JDeveloperとOracle B2Bを構成してOracle B2Bで同期リクエスト/リプライのサポートを有効化する方法について説明します。
この付録の内容は次のとおりです。
E.1 概要
Oracle B2Bでは、ファブリックからOracle B2Bへの同期リクエスト/リプライがサポートされています。ただし、初回リリースでサポートされているのは、HTTPトランスポートのみです。
図E-1に、エンドツーエンドのシナリオを示します。
E.2 送信者の構成
送信者を構成するには、次のタスクを実行する必要があります。
E.2.2 Oracle B2Bの構成
Oracle B2Bコンソールで、次を実行する必要があります。
-
Oracle B2Bアグリーメントの設定: アグリーメントを2つ定義する必要があります。図E-4に示すように、一方のアグリーメントはリクエスト送信用、もう一方のアグリーメントはレスポンス受信用にそれぞれ必要です。ここで設定する必要があるOracle B2Bのプロパティはありません。ファブリックからOracle B2Bへのコールに基づいて、メッセージ・タイプは「同期リクエスト」に決定します。
-
取引パートナ・チャネルの作成: 図E-5に示すように、リモート取引パートナ・チャネルを作成し、
http://
server:port
/b2b/syncreceiver
を指すように設定する必要があります。これは、2つのOracle B2B製品間で通信が行われる場合に必要です。通信が2つの異なるB2B製品間で行われる場合、URLが変わることに注意してください。
E.3 受信者の構成
受信者を構成するには、次のタスクを実行する必要があります。
E.3.2 Oracle B2Bの構成
Oracle B2Bコンソールで、次を実行する必要があります。
-
Oracle B2Bアグリーメントの設定: アグリーメントを2つ定義する必要があります。図E-8に示すように、一方のアグリーメントはリクエスト受信用、もう一方のアグリーメントはレスポンス送信用にそれぞれ必要です。このためにOracle B2Bプロパティを設定する必要はありませんが、From、To、DocVersion、DocTypeなどのオプションのB2Bヘッダーを構成する必要があります。同期HTTP受信者によって、メッセージ・タイプは「同期リクエスト」に決定します。
-
ダミー取引パートナ・チャネルの作成: ダミー・リモート取引パートナ・チャネルを作成する必要がありますが、このチャネルは実行時は使用されません。任意のURL値を指定できますが、図E-9に示すように、
http://
host:port
/xyz
の書式で指定する必要があります。
E.4 メッセージの再発行
同期リクエストまたは同期レスポンスの再発行は、アプリケーション側から実行する必要があります。Oracle B2Bコンソールで、Oracle B2Bからアプリケーション・メッセージまたはワイヤ・メッセージを再発行できますが、メッセージは非同期モードで再発行されます。
メッセージ処理ロジックが非決定性である場合があります。たとえば、送信者側であるOracle B2Bからアプリケーション・メッセージまたはワイヤ・メッセージが再発行された場合、このメッセージはhttp://
server:port
/b2b/syncreceiver
にポストされます。受信者側のOracle B2Bはこのメッセージを非同期リクエストまたは非同期レスポンスとして処理します。送信者側ではレスポンス・メッセージは無視されます。