Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド 12c (12.2.1.3.0) E90222-01 |
|
前 |
次 |
Oracle Reportsでは、RWWebService
という名前のWebサービスが公開されます。このWebサービスの詳細は、第19章「Oracle ReportsのWebサービスの使用」を参照してください。Oracle ReportsのWebサービスは、基本的には同期して動作しますが、BPELプロセスではパートナ・リンクとして使用できます。
Oracle ReportsのWebサービスをBPELプロセスで非同期で起動する手順は、次のとおりです。
Oracle Reportsの同期Webサービスを使用する中間非同期BPELプロセスを作成し、コール元がコールバックするためのインタフェースを用意します。
SOA Suiteにこの中間非同期BPELプロセスをサービスとしてデプロイします。このサービスはパートナ・リンクとして使用できます。
次の場所でOracle ReportsのWebサービスのWSDLにアクセスできます。
http://yourwebserver:port/reports/rwwebservice?
WSDLには、RWWebservice
の様々な起動方法に関する情報が格納されています。XSDファイルには次の場所でアクセスできます。
http://yourwebserver:port/reports/rwwebservice?xsd=1
XSDファイルをローカル・マシンに保存して、BPELプロセスを作成する際に使用できます。
RWWebServiceを使用してジョブをOracle Reportsサーバーに送信する手順は、次のとおりです。
Oracle JDeveloperをインストールします。『Oracle JDeveloperのインストール』を参照してください。
Oracle SOAをインストールします。
SOAスイートを起動します。
Oracle JDeveloperからSOAスイートへの接続を作成します。
新規アプリケーションを作成します。
新しく非同期BPELプロセス・プロジェクトを作成し、RWWebservice.xsd
ファイルを使用して、BPELプロセスの入出力パラメータを定義します。
RWWebService
のWSDLを参照するパートナ・リンクを作成します。
Oracle JDeveloperからの要求に応じて「はい」をクリックし、パートナ・リンク・タイプを作成します。
「パートナ・ロール」を選択します。
プロセスで有効範囲を作成します。
有効範囲内でInvokeアクティビティを作成し、それを使用してRWWebService
パートナ・リンクに対するrunJob操作を起動します。
入力変数と出力変数が自動的に作成されます。入力パラメータはRWWebServiceのrunJob
操作の入力として使用され、出力パラメータにはrunJob操作の出力が格納されます。
この有効範囲内で、Invokeアクティビティの前に、Assignアクティビティを作成します。
このAssignアクティビティで、RWWebService
に必要なパラメータにユーザー入力パラメータをマップします。
Param0にレポート・ジョブ・コマンド(文字列)を設定します。
Param1にtrue
(ジョブ送信を同期する必要があることを指定するブール値)を設定します。
この有効範囲内で、Invokeアクティビティの後に、Assignアクティビティを作成します。このAssignアクティビティで、Invokeアクティビティの出力変数を、クライアントに書き戻される結果変数にマップします。
SOAスイートのBPELプロセスをコンパイルしてデプロイします。
Oracle BPEL Process Managerコンソールを使用して、BPELプロセスを実行します。
このBPELプロセスを別のBPELプロセスで使用して、BPELプロセスからジョブをReports Serverに非同期に送信できます。
重要: 第7.10.1項のステップ2から11を完了するには、次のドキュメントを参照してください。
|
ジョブをReports ServerにBPELプロセスから非同期に送信する手順は、次のとおりです。
新しく非同期BPELプロセス・プロジェクトを作成し、RWWebservice.xsd
ファイルを使用して、BPELプロセスの入出力パラメータを定義します。
新しく作成したBPELプロセスのWSDLを参照するパートナ・リンクを作成します。
Oracle JDeveloperからの要求に応じて「はい」
をクリックし、パートナ・リンク・タイプを作成します。
「パートナ・ロール」を選択します。
プロセスで有効範囲を作成します。
有効範囲内でInvokeアクティビティを作成し、それを使用して中間プロセスのパートナ・リンクに対するrunJob操作を起動します。
入力変数が自動的に作成されます。入力パラメータは中間BPELプロセスのrunJob操作の入力として使用されます。
中間プロセスからコールバックを受け取るReceiveアクティビティを作成します。
この有効範囲内で、Invokeアクティビティの前に、Assignアクティビティを作成します。
このAssignアクティビティで、中間BPELプロセスに必要なパラメータにユーザー入力パラメータをマップします。
Param0にレポート・ジョブ・コマンド(文字列)を設定します。
Param1にtrue
(ジョブ送信を同期する必要があることを指定するブール値)を設定します。
有効範囲内で、Invokeアクティビティの後にReceiveアクティビティを作成します。
入力変数が自動的に作成されます。入力パラメータは、中間BPELプロセスのrunJobresponse操作からレスポンスを受け取ります。
この有効範囲内で、Invokeアクティビティの後に、Assignアクティビティを作成します。このAssignアクティビティで、Receiveアクティビティの入力変数を、クライアントに書き戻される結果変数にマップします。
SOAスイートのBPELプロセスをコンパイルしてデプロイします。
Oracle BPEL Process Managerコンソールを使用して、BPELプロセスを実行します。