14 Webサービスの使用
この章の内容は次のとおりです。
14.1 Oracle Data IntegratorのWebサービスの概要
Oracle Data Integratorは、サービス指向アーキテクチャ(SOA)への次のエントリ・ポイントを提供します。
-
データ・サービス
-
Oracle Data Integratorランタイム・サービス
-
サードパーティWebサービスの呼出し
図14-1に、様々なタイプのWebサービス間の相互作用の概要を示します。
図14-1に、データ・サービス、ランタイムWebサービス(公開WebサービスとエージェントWebサービス)およびOdiInvokeWebServiceツールを使用した単純な例を示します。
データ・サービスおよびランタイムWebサービスのコンポーネントはサードパーティ・アプリケーションによって呼び出されるのに対し、OdiInvokeWebServiceツールはサードパーティWebサービスを呼び出します。
-
データ・サービスは、データストア(ソースおよびターゲットの両方のデータストア)に含まれるデータ、ならびにチェンジ・データ・キャプチャ・フレームワークによりトラップされた変更内容へのアクセスを可能にします。このWebサービスはOracle Data Integratorによって生成され、Java EEアプリケーション・サーバーにデプロイされます。
-
エージェントWebサービスは、Oracle Data Integratorエージェントに対して、シナリオの開始とモニター、セッションの再開、ODIバージョンの取得、ロード計画の開始、停止または再開およびエージェント構成のリフレッシュを命令します。このWebサービスはJava EEエージェントまたはスタンドアロン・エージェントに組み込まれている点に注意してください。
-
OdiInvokeWebServiceツールはパッケージで使用され、サードパーティWebサービスのポート上で、特定の操作(BPELプロセスのトリガーなど)を呼び出します。
14.2 Oracle Data Integratorランタイム・サービスおよびデータ・サービス
Oracle Data IntegratorのランタイムWebサービスとデータ・サービスは、2つの異なるタイプのWebサービスです。
-
Oracle Data Integratorランタイム・サービス(エージェントWebサービス)は、サービス指向アーキテクチャ(SOA)でユーザーがOracle Data Integratorの機能を活用できるようにするWebサービスです。
Oracle Data IntegratorランタイムWebサービスを使用すると、WebサービスからOracle Data Integratorの機能にアクセスできます。これらのWebサービスはサードパーティ・アプリケーションによって開始され、Oracle Data Integratorで開発されたランタイム・アーティファクトの実行を管理します。
ODIランタイム・サービスを使用して様々なODI実行タスク(シナリオの実行やセッションの再開など)を実行する方法の詳細は、『Oracle Data Integratorの管理』のWebサービスを使用した実行の管理に関する項を参照してください。そのトピックでは、SOAPリクエストおよびレスポンスの例も示しています。
-
データ・サービスは特殊なWebサービスで、データストアのデータにアクセスしたり、チェンジ・データ・キャプチャを使用して、それらのデータストアに対して取得された変更にアクセスできます。データ・サービスはOracle Data Integratorによって生成され、Webサービスからデータにアクセスできるようにします。これらのWebサービスは、アプリケーション・サーバーのWebサービス・コンテナにデプロイされます。
データ・サービスを設定、生成およびデプロイする方法の詳細は、『Oracle Data Integratorの管理』のデータ・サービスの生成およびデプロイに関する項を参照してください。
14.3 サードパーティWebサービスの呼出し
この項では、Oracle Data IntegratorにおけるサードパーティWebサービスの呼出し方法について説明します。
この項には次のトピックが含まれます:
14.3.1 Webサービスの呼出しの概要
次のようにWebサービスを呼び出すことができます。
-
HTTPアナライザ・ツールを使用して、Oracle Data Integratorのパッケージまたはプロシージャで呼び出します。このツールでは、サードパーティWebサービスを呼び出し、Oracle Data Integratorで処理可能なSOAPファイルにレスポンスを保存できます。
結果を使用して、ローカルまたはリモートにデプロイされているWebサービスをデバッグできます。
-
テスト用データ・サービス。生成されたデータ・サービスが正しく実行されているかどうかをテストする最も簡単な方法は、HTTPアナライザ・ツールを使用することです。
-
OdiInvokeWebServiceツールを使用して、Oracle Data Integratorのパッケージまたはプロシージャで呼び出します。このツールでは、サードパーティWebサービスを呼び出し、Oracle Data Integratorで処理可能なXMLファイルにレスポンスを保存できます。
-
InvokeRESTfulServiceツールを使用して、Oracle Data Integratorのパッケージまたはプロシージャで呼び出します。このツールでは、RESTサービスを呼び出し、Oracle Data Integratorで処理可能なファイルにレスポンスを保存できます。リクエストに本文がある場合、そのリクエストは、リクエスト・ファイルで提供されるか、ツール・コマンド(<RequestBody>)に直接書き込まれます。
ツールは、マルチパート・リクエストもサポートしており、マルチパート本文パートの詳細を指定するパラメータが用意されています。
これらの3つの方法は、後述の項で説明しています。
14.3.2 SOAP Webサービス・データ・サーバーの作成
14.3.2.1 SOAP Webサービス・データ・サーバーの「定義」タブのオプション
次の表では、SOAP Webサービス・データ・サーバーの「定義」タブのオプションについて説明します。
表14-1 SOAP Webサービス・データ・サーバーの「定義」タブのオプション
オプション | 説明 |
---|---|
名前 |
データ・サーバーの名前。
ノート: これは必須オプションです。 |
WSDL URL |
Web Services Description Language (WSDL)のURL。
ノート: これは必須オプションです。 |
ユーザー |
HTTP BASIC認証のユーザー名。
ノート: このオプションが必要なのは、WSDLがHTTP Basic認証で保護されている場合のみです。 |
パスワード |
HTTP Basic認証のパスワード。
ノート: このオプションが必要なのは、WSDLがHTTP Basic認証で保護されている場合のみです。 |
14.3.3 SOAP Webサービス・データ・サーバーに対する新しい物理スキーマの作成
14.3.3.1 構成オプション
次の表では、物理スキーマの「定義」タブにある構成オプションについて説明します。
表14-2 構成オプション
オプション | 説明 |
---|---|
サービス |
WSDLで定義されており、ここで呼び出すサービスの名前。 |
ポート |
呼び出すサービスのアクセス・タイプ。 |
エンドポイントURL |
Webサービス・リクエストの送信先URL。エンドポイントURLは、選択したサービスとポートに基づいて取得されます。
ノート: このフィールドは読取り専用です。 |
バインディング |
バインディングは、選択したサービスとポートに基づいて取得されます。 ノート: このフィールドは読取り専用です。 |
ユーザー |
HTTP BASIC認証のユーザー名。
ノート: WSDLがHTTP Basic認証で保護されている場合、このフィールドにはデータが自動的に指定されます。 |
パスワード |
HTTP Basic認証のパスワード。
ノート: WSDLがHTTP Basic認証で保護されている場合、このフィールドにはデータが自動的に指定されます。 |
エンドポイントURLのオーバーライド |
あらかじめ指定されているエンドポイントURLに置き換えます。 |
14.3.3.2 OWSMポリシー構成
次の表では、「OWSMポリシー構成」で実行できる機能について説明します。
表14-3 OWSMポリシーの構成
アイコン | 名前 | 機能 |
---|---|---|
|
ポリシーの追加 |
クリックして「セキュリティ・ポリシーの選択」ダイアログを開き、追加するセキュリティ・ポリシーを選択します。 |
|
ポリシーの編集 |
クリックして「オーバーライド・プロパティの構成」ダイアログを開き、ポリシーに対して構成されるオプションを編集します。 |
|
ポリシーの削除 |
選択したポリシーを削除する場合にクリックします。 |
|
ポリシーの有効化 |
クリックして、無効になっているポリシーを有効化します。 |
|
ポリシーの無効化 |
これをクリックして、有効なポリシーを無効化します。 |
OWSMポリシーの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のOracle Web Services Managerの事前定義済ポリシーに関する項を参照してください。
14.3.4 RESTサービス・データ・サーバーの作成
14.3.4.1 RESTサービス・データ・サーバーの「定義」タブのオプション
次の表では、RESTサービス・データ・サーバーの「定義」タブのオプションについて説明します。
表14-4 RESTサービス・データ・サーバーの「定義」タブのオプション
オプション | 説明 |
---|---|
名前 |
データ・サーバーの名前 |
RESTサービス・エンドポイントURL |
RESTリソースにサービスを提供するエンドポイントのURL |
ユーザー |
HTTP BASIC認証のユーザー名
ノート: このオプションが必要なのは、エンドポイントURLがHTTP Basic認証で保護されている場合のみです。 |
パスワード |
HTTP Basic認証のパスワード
ノート: このオプションが必要なのは、エンドポイントURLがHTTP Basic認証で保護されている場合のみです。 |
14.3.5 RESTサービス・データ・サーバーに対する新しい物理スキーマの作成
14.3.5.1 構成オプション(OWSMなし)
次の表では、物理スキーマの「定義」タブにある構成オプションについて説明します。
表14-5 構成オプション
オプション | 説明 |
---|---|
名前 |
RESTサービスの物理スキーマの名前 |
リソースURI |
リソースURIは必須フィールドです。物理スキーマ名は、Oracle物理スキーマ名同様編集できません。物理スキーマ名は、データ・サーバー名とリソースURI (<DataserverName>.<ResourceURI>)で形成されます。 |
デフォルト |
物理スキーマがデフォルトかどうか。 ノート: SOAP Webサービス同様、複数の物理スキーマがRESTについてサポートされます。 |
14.3.5.1.1 「操作」タブ
操作表には、REST論理操作の構成詳細を表す次の列が含まれています。OWSMポリシー表同様、操作表も更新時の挿入順になります。物理スキーマを再度開く際にリポジトリからフェッチされる場合、既存の操作が昇順に表示されます。
ノート:
操作を追加/削除/編集できます。物理スキーマが保存されると、操作が保存されます。重複する操作名があると、保存は失敗します。表14-6 RESTサービス・データ・サーバーの「操作」タブのオプション
パラメータ | 説明 |
---|---|
名前 |
論理操作名。 これは、物理スキーマに対して一意である必要があります。 |
メソッド |
リソースとのやりとりに使用されるHTTPメソッド。 ODIは次のHTTPメソッドをサポートしています。
ノート:
|
操作URI |
これが、データ・サーバーURLと物理スキーマ・リソースURIに追加され、完全なREST URLが生成されます。ただし、「/」で始まる場合は、データ・サーバーURLに直接追加して完全なREST URLが生成され、物理スキーマ・リソースURIは無視されます。 インライン・テンプレート・トークン({server-id}/{id}_{o-secret}_o.{file_type}など)を持つことができます |
問合せパラメータ |
固定の問合せパラメータまたはテンプレート・トークンを持つことができます。問合せパラメータと値は"="を使用して分けられ、問合せパラメータと値のペアは"&"を使用して分けられます(例: address={uerId}&sensor=false)。 問合せパラメータ名の値は、URLエンコードされた形式でこの列に表示されます。 この列は編集できません。 列内のボタンを使用してダイアログを起動し、問合せパラメータを追加/編集/削除します。 "="、"&"およびエンコードされた文字は表示および単一行入力のためのもので、リポジトリには格納されません。 各問合せパラメータの名前と値のペアは、リポジトリで1行の名前と値の列に別々にエンコードなしで格納されます。 この列には複数行のツール・チップがあり、名前と値のペアごとに別の行に表示されます。 |
ヘッダー・パラメータ |
ヘッダー・パラメータと値は":"を使用して分けられ、ヘッダー・パラメータと値のペアは縦棒(¦)を使用して分けられます(例: Content-Type: text/xml ¦ Cache-Control:No-Cache)。 この列は編集できません。 列内のボタンを使用してダイアログを起動し、ヘッダー・パラメータを追加/編集/削除します。 ":"および"¦"は表示および単一行入力のためのもので、リポジトリには格納されません。 各ヘッダー・パラメータの名前と値のペアは、リポジトリで1行の名前と値の列に別々にエンコードなしで格納されます。 この列には複数行のツール・チップがあり、名前と値のペアごとに別の行に表示されます。 |
テンプレート・パラメータ |
テンプレート・パラメータと値は"="を使用して分けられ、テンプレート・パラメータと値のペアは縦棒(¦)を使用して分けられます(例: userId=Rey ¦ ip-addr=192.166.55.5)。 この列は編集できません。 列内のボタンを使用してダイアログを起動し、テンプレート・パラメータを追加/編集/削除します。 "="および"¦"は表示および単一行入力のためのもので、リポジトリには格納されません。 各テンプレート・パラメータの名前と値のペアは、リポジトリで1行の名前と値の列に別々にエンコードなしで格納されます。 この列には複数行のツール・チップがあり、名前と値のペアごとに別の行に表示されます。 |
14.3.5.2 OWSMポリシー構成
次の表では、「OWSMポリシー構成」で実行できる機能について説明します。
表14-7 OWSMポリシーの構成
アイコン | 名前 | 機能 |
---|---|---|
|
ポリシーの追加 |
クリックして「セキュリティ・ポリシーの選択」ダイアログを開き、追加するセキュリティ・ポリシーを選択します。 |
|
ポリシーの編集 |
クリックして「オーバーライド・プロパティの構成」ダイアログを開き、ポリシーに対して構成されるオプションを編集します。 |
|
ポリシーの削除 |
選択したポリシーを削除する場合にクリックします。 |
|
ポリシーの有効化 |
クリックして、無効になっているポリシーを有効化します。 |
|
ポリシーの無効化 |
これをクリックして、有効なポリシーを無効化します。 |
OWSMポリシーの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のOracle Web Services Managerの事前定義済ポリシーに関する項を参照してください。
14.3.7 HTTPアナライザの使用
HTTPアナライザを使用すると、Webサービス・クライアントとサービスの間のリクエスト/レスポンス・トラフィックをモニターできます。HTTPアナライザは、HTTPトラフィックの送受信に関するWebサービスのデバッグに役立ちます。
HTTPアナライザを実行すると、情報を提供する多くのウィンドウが表示されます。
HTTPアナライザを使用すると、次の操作を実行できます。
-
WebサービスのリクエストおよびレスポンスTCPパケットの詳細な内容を調べることができます。
-
リクエスト・パケットの編集と再送信、およびレスポンス・パケットの内容の確認ができます。
-
ポリシーを使用して保護されたWebサービスをテストできます。暗号化されたメッセージは復号化されます。
この節では、以下のトピックについて説明します。
14.3.7.1 HTTPアナライザの使用: 主なステップ
Webサービスのクライアントによって送受信されるパケットを調べるには:
ノート:
HTTPアナライザを使用する場合、プロキシ設定を更新する必要が生じることがあります。
14.3.7.2 HTTPアナライザの実行時に行われる処理
HTTPアナライザを起動してWebサービスをテストすると、Webサービスでは、HTTPアナライザの「プリファレンス」ダイアログのプロキシ設定を使用して、HTTPアナライザ経由でトラフィックを送信します。
デフォルトでは、HTTPアナライザは1つのアナライザ・インスタンス上で1つのプロキシ(デフォルトは8099)を使用しますが、必要な場合には独自のプロキシを追加できます。
各アナライザ・インスタンスには、異なるホスト/URLへのリクエストのリダイレクト、Webサービスのエミュレートなどの動作を決定するルールのセットがあります。
14.3.7.3 HTTPアナライザ設定の指定方法
デフォルトでは、HTTPアナライザは1つのアナライザ・インスタンス上で1つのプロキシ(デフォルトは8099)を使用しますが、必要な場合には独自のプロキシを追加できます。
HTTPアナライザのプリファレンスを設定するには:
14.3.7.4 ログ・ウィンドウの使用方法
「ツール」メニューから「HTTPアナライザ」を開くと、図14-2のようにHTTPアナライザ・ログ・ウィンドウが表示されます。
HTTPアナライザを実行すると、「Httpアナライザ」ログ・ウィンドウにリクエスト/レスポンスのメッセージが出力されます。メッセージは、グループ化と並替えが可能です。
-
メッセージを並べ替えるには、「順序」タブを選択し、列ヘッダーを使用してソートします(ヘッダーのクリックでソート、ダブルクリックで2次ソート)。
-
メッセージをグループ化するには、「相関」タブをクリックします。
-
列の順序を変えるには、列ヘッダーをクリックしたまま新しい位置までドラッグします。
表14-8 「Httpアナライザ」ログ・ウィンドウのツールバー・アイコン
アイコン | 名前 | 機能 |
---|---|---|
![]() |
アナライザ・プリファレンス |
新規リスナー・ポートを指定したり、デフォルト・プロキシを変更できるHTTPアナライザのプリファレンス・ダイアログを開く場合にクリックします。「ツール」→「プリファレンス」を選択し、「Httpアナライザ」ページを選択してHTTPアナライザに進むこともできます。詳細は、次の章を参照してください。 |
![]() |
新規リクエストの作成 |
ペイロード詳細の入力や、メッセージの編集および再送信を行うHTTPアナライザのテスト・ウィンドウを開く場合にクリックします。 |
![]() |
HTTPアナライザの起動 |
HTTPアナライザを起動する場合にクリックします。モニターがバックグラウンドで実行され、「停止」をクリックするか、JDeveloperを終了したときにのみ停止します。複数のリスナーを定義している場合、このボタンをクリックするとすべてのリスナーが起動します。1つのリスナーのみを起動するには、下矢印をクリックして起動するリスナーを選択します。 |
![]() |
HTTPアナライザの停止 |
クリックすると、HTTPアナライザが停止します。複数のリスナーを実行している場合、このボタンをクリックすると、すべてのリスナーが停止します。1つのリスナーのみを停止するには、下矢印をクリックして停止するリスナーを選択します。 |
![]() |
リクエストの送信 |
クリックすると、リクエストの内容を変更したときに、リクエストが再送信されます。変更されたリクエストが送信され、戻されたレスポンスで変更を確認できます。 |
![]() |
WS-Iログ・ファイルを開く |
既存のWS-Iログ・ファイルにナビゲートできる「ロードするWS-Iログ・ファイルの選択」ダイアログを開く場合にクリックします。 |
![]() |
パケット・データの保存 |
HTTPアナライザ・ログ・ウィンドウの内容をファイルに保存する場合にクリックします。 |
![]() |
WS-I分析 |
このツールは、Oracle Data Integratorには適用されません。 |
![]() |
すべて選択 |
HTTPアナライザのログ・ウィンドウですべてのエントリを選択する場合にクリックします。 |
![]() |
すべて選択解除 |
クリックすると、HTTPアナライザ内のすべてのエントリが選択解除されます。 |
![]() |
選択した履歴のクリア(削除) |
HTTPアナライザでエントリをクリアする場合にクリックします。 |
14.3.7.5 テスト・ウィンドウの使用方法
HTTPアナライザ・ログ・ウィンドウで「新規SOAPリクエストの作成」ボタンをクリックすると、空のHTTPアナライザ・テスト・ウィンドウが開きます。
WebサービスのURLを入力するか、WebサービスのWSDLを開いて「リクエストの送信」をクリックします。図14-3に示すように、リクエストの結果がテスト・ウィンドウに表示されます。
リクエストおよびレスポンス・パケットのHTTPヘッダーの内容を調べ、HTTPアナライザ・テスト・ウィンドウの下部にある該当のタブを選択して、SOAP構造、HTTPコンテンツ、16進コンテンツまたはRAWメッセージ・コンテンツを確認できます。
テスト・ウィンドウでは、メッセージのヘッダーとパラメータを調べることができます。サービスをテストするには、適切なパラメータを入力して「リクエストの送信」をクリックします。
テスト・ウィンドウの下部にあるタブから、メッセージの内容の表示方法を選択できます。選択できるメッセージの表示方法は、次のとおりです。
-
図14-3に示されている「SOAP構造」。
-
次のようなHTTPコード。
<?xml version = '1.0' encoding = 'UTF-8'?> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.example.com/wls"> <env:Header/> <env:Body> <ns1:sayHello> <arg0/> </ns1:sayHello> </env:Body>
-
次のようなメッセージの16進コンテンツ。
[000..015] 3C 65 65 20 78 6D ... <env:Envelope xm [016..031] 6C 6E 70 3A 2F 2F ... lns:env="http:// [032..047] 73 63 6F 61 70 2E ... schemas.xmlsoap. [048..063] 6F 72 65 6C 6F 70 ... org/soap/envelop [064..079] 65 2F 22 20 78 6D ... e/" xmlns:ns1="h [080..095] 74 74 70 3A 2F 2F ... ttp://www.bea.co [096..111] 6D 2F 77 6C 73 22 ... m/wls"><env:Head [112..127] 65 72 2F 3E 3C 65 ... er/><env:Body><n [128..143] 73 31 3A 73 61 79 ... s1:sayHello><arg [144..159] 30 3E 3C 2F 61 72 ... 0></arg0></ns1:s [160..175] 61 79 48 65 6C 6C ... ayHello></env:Bo [176..191] 64 79 3E 3C 2F 65 ... dy></env:Envelop [192..193] 65 3E ... e>
-
次のようなRAWメッセージ。
POST http://localhost:7001/MySimpleEjb/MySimpleEjbService HTTP/1.1 Content-Type: text/xml; charset=UTF-8 SOAPAction: "" Host: localhost:7001 Content-Length: 194 X-HTTPAnalyzer-Rules: 3@localhost:8099 <?xml version = '1.0' encoding = 'UTF-8'?> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.example.com/wls"> <env:Header/> <env:Body> <ns1:sayHello> <arg0/> </ns1:sayHello> </env:Body> </env:Envelope>
14.3.7.6 インスタンス・ウィンドウの使用方法
「ツール」メニューから「HTTPアナライザ」を開くと、「HTTPアナライザ」タブがデフォルトで表示されます。
「HTTPアナライザ・インスタンス」タブをクリックします。図14-4に示すように、「HTTPアナライザ・インスタンス」ウィンドウが表示されます。
このウィンドウには、現在実行中または実行後に停止されたHTTPアナライザのインスタンスに関する情報が表示されます。インスタンスはホストとポートで識別され、ルールがあれば表示されます。このウィンドウからインスタンスの起動と停止が可能です。
新規インスタンスは、「新規SOAPリクエストの作成」ボタンをクリックしたときに開く「HTTPアナライザ」ダイアログで作成します。
表14-9 「HTTPアナライザ・インスタンス」ウィンドウのツールバー・アイコン
アイコン | 名前 | 機能 |
---|---|---|
![]() |
アナライザ・プリファレンス |
新規リスナー・ポートを指定したり、デフォルト・プロキシを変更できる「HTTPアナライザ」ダイアログを開く場合にクリックします。 |
![]() |
新規リクエストの作成 |
ペイロード詳細の入力や、メッセージの編集および再送信を行うHTTPアナライザのテスト・ウィンドウの新しいインスタンスを開く場合にクリックします。 |
![]() |
HTTPアナライザの起動 |
HTTPアナライザを起動する場合にクリックします。モニターがバックグラウンドで実行され、「停止」をクリックするか、ODIを終了したときにのみ停止します。複数のリスナーを定義している場合、このボタンをクリックするとすべてのリスナーが起動します。1つのリスナーのみを起動するには、下矢印をクリックして起動するリスナーを選択します。 |
![]() |
HTTPアナライザの停止 |
クリックすると、HTTPアナライザが停止します。複数のリスナーを実行している場合、このボタンをクリックすると、すべてのリスナーが停止します。1つのリスナーのみを停止するには、下矢印をクリックして停止するリスナーを選択します。 |
14.3.7.7 複数のインスタンスを使用する方法
HTTPアナライザの複数インスタンスを実行できます。それぞれが異なるホストとポートの組合せを使用し、「HTTPアナライザ・インスタンス」ウィンドウでそのサマリーを確認できます。
HTTPアナライザのインスタンスを追加するには:
14.3.7.8 外部Webブラウザの構成方法
外部Webブラウザを使用するとHTTPアナライザを通じてメッセージのルーティングが可能になり、Webブラウザとクライアントの間でトラフィックを確認できます。この項では、HTTPアナライザを開始してJDeveloper内からHTML、JSPまたはJSFページを実行するとき、デバッガ・プロファイルを使用する新しいFirefoxインスタンスが起動するように、Firefoxのプロファイルを使用する方法について説明します。
ノート:
次のステップではコマンドfirefox
を使用していますが、これはLinuxのコマンドです。Windowsを使用している場合は、firefox.exe
に置き換えてください。
HTTPアナライザを使用するようにFirefoxプロファイルを構成するには:
-
まず、新しいFirefoxプロファイルを作成します。デフォルトでは、コマンドラインからFirefoxを起動すると現在開いているFirefoxインスタンスでウィンドウが開きます。したがって、別個に構成されるインスタンスを作成するには-no-remoteを使用する必要があります。コマンドラインから次のように実行してください。
firefox -no-remote -CreateProfile Debugging
-
このプロファイルを使用してFirefoxを起動します。
firefox -no-remote -P Debugging
-
次に、このバージョンのFirefoxを起動するようにJDeveloperを構成します。メイン・メニューから、「ツール」→「プリファレンス」を選択します。
-
「プリファレンス」ダイアログで、「Webブラウザとプロキシ」ノードを選択します。詳細は、[F1]を押すか、ダイアログ・ページ内で「ヘルプ」をクリックしてください。
-
「ブラウザのコマンドライン」で、適切な位置を入力または参照し、
firefox -no-remote -P Debugging
と入力します。これには赤い下線が付き、ダイアログを閉じるときにも「コマンド・ライン検証エラー」警告が表示されますが、これは無視してかまいません。 -
「OK」をクリックします。HTTPアナライザを開始し、JDeveloper内からHTML、JSPまたはJSFページを実行すると、デバッガ・プロファイルを使用する新しいFirefoxインスタンスが起動します。
「OK」をクリックします。HTTPアナライザを開始し、JDeveloper内からHTML、JSPまたはJSFページを実行すると、デバッガ・プロファイルを使用する新しいFirefoxインスタンスが起動します。
14.3.7.9 HTTPアナライザでの資格証明の使用
HTTPアナライザを使用すると、ポリシーで保護されたWebサービスをテストできます。HTTPアナライザのテスト・ウィンドウで使用する資格証明を選択します。
HTTPアナライザでは、この目的で次の資格証明がサポートされています。
-
HTTPS。メッセージは、信頼できる認証局によって署名された公開キー証明書を使用して、送信前に暗号化されます。受信時に復号化されます。
-
ユーザー名トークン。このトークンは、Oracle Data Integratorには適用されません。
ユーザー名/パスワードに基づくトークンを使用してBasic認証情報を伝達する手段です。
-
X509.このトークンは、Oracle Data Integratorには適用されません。
これはシングル・サインオン認証のためのPKI標準であり、アイデンティティの提示と、メッセージの署名および暗号化に証明書を使用します。
-
STS。このトークンは、Oracle Data Integratorには適用されません。
セキュリティ・トークン・サービス(STS)は、セキュリティ・トークンを発行し管理するWebサービスです。
14.3.7.10 HTTPアナライザでのSSLの使用
保護されたサービスまたはアプリケーション、たとえばポリシーで保護されたWebサービスに対してHTTPアナライザを使用できます。Oracle Data Integratorには、この目的で資格証明HTTPS Credential
が含まれています。
構成した資格証明は、HTTPアナライザのテスト・ウィンドウで選択できるようになります。
HTTPSは、送信前にHTTPメッセージを暗号化し、受信時に復号化します。信頼できる認証局によって署名された公開キー証明書を使用します。統合アプリケーション・サーバーを初めて起動すると、固有のDemoIdentity
が生成され、その中にあるキーを使用してHTTPSチャネルが設定されます。
キー・ストアおよびキーストア・プロバイダの詳細は、『Oracle WebLogic Serverセキュリティの理解』を参照してください。デフォルトの資格証明であるHTTPS Credential
を選択する場合には、HTTPアナライザがHTTPSトラフィックを処理する際に使用するキーストアを指定する必要があります。
HTTPアナライザを実行するには、2つのキーストアが必要です。
-
クライアントの信頼する証明書キーストア。外部接続時にアナライザ(クライアントの信頼)によって信頼されるすべてのホストの証明書が含まれています。サーバーの証明書は、このキーストア内に存在している必要があります。
クライアント・キーストアが必要なのは、相互認証が必要な場合のみです。
-
サーバー・キーストア。アナライザがコール側クライアントに対する自身の認証に使用するキーが含まれています。
別のHTTPS値を使用するようにHTTPアナライザを構成するには:
- メイン・メニューから、「ツール」→「プリファレンス」を選択します。
- 「設定」ダイアログで、「資格証明」ノードを選択します。詳細は、[F1]を押すか、ダイアログ・ページ内で「ヘルプ」をクリックしてください。
- 使用する新しいキーストアと証明書の詳細を入力します。
14.3.7.11 HTTPアナライザを使用してWebページをデバッグする方法
HTML、JSPまたはJSFページなどのWebページをデバッグするときにもHTTPアナライザを使用できます。こうすると、ブラウザとの間で相互に送信されるトラフィックを直接調べることができます。
HTTPアナライザを使用してWebページをデバッグするには:
14.3.7.12 ルールを使用して動作を決定する方法
HTTPアナライザがルールによって決定される動作を利用して実行するように、ルールを設定できます。1つのHTTPアナライザ・インスタンスで複数のルールを設定できます。サービスのURLがルールに一致した場合は、そのルールが適用されます。一致しない場合は、リストの次のルールがチェックされます。サービスがどのルールにも一致しない場合は、クライアントがエラーを返します。このような理由から、先行するルールによって捕捉されないメッセージが捕捉されるように、「パス・スルー・ルール」は常に、リストの最後のルールにブランク・フィルタ(単にリクエストを渡す)を設定して使用します。
次のタイプのルールがあります。
-
パス・スルー・ルール
-
転送ルール
-
URL置換ルール
-
テープ・ルール
14.3.7.12.1 パス・スルー・ルールの使用
パス・スルーは、URLフィルタが一致する場合にリクエストを単純にサービスに渡します。「ルール設定」ダイアログを最初に開くと、2つのパス・スルー・ルールが定義されています。
-
1つ目は
http://localhost:631
というURLフィルタを使用し、印刷サービス・リクエストを無視します。 -
2つ目はURLがブランクのフィルタで、単純にリクエストを元のサービスに渡します。新規ルールを追加する場合には、通常このルールをリストの最後に移動する必要があります。
14.3.7.12.3 URL置換ルールの使用
URL置換ルールを使用すると、URL範囲の一部を置換してサービスを再ホストできます。たとえば、統合アプリケーション・サーバーとOracle WebLogic Serverの間で移動するときマシン名を置き換えることができます。
14.3.7.12.4 テープ・ルールの使用
テープ・ルールを使用すると、標準のWS-Iログ・ファイルをルールへの入力として、HTTPアナライザをシミュレータ・モードで実行できます。テープ・ルールを設定するときには、次のような強力なオプションを使用できます。
-
ループ・テープ。テープを繰り返して実行できます。
-
一致するURLおよびメソッドにスキップ。一致するURLとHTTPリクエスト・メソッドが見つかった場合にのみ結果を返します。つまり、同じテープ・ルールでWSDLとエンドポイント・リクエストを使用できるということです。
-
「ヘッダー日付の修正」および「コンテンツ・サイズの修正」。リクエストが失敗しないように、メッセージのヘッダー日付とコンテンツ・サイズを現在の値に変更できます。
テープ・ルールを使用する例としては、外部Webサービスに対して実行されるように開発されたWebサービス・クライアントのテストなどがあります。
外部Webサービスに対して実行されるように開発されたWebサービス・クライアントをテストするには:
-
外部Webサービスへのクライアントを作成します。
-
HTTPアナライザを実行してWebサービスに対してクライアントを実行し、結果をWS-Iログ・ファイルとして保存します。
WS-Iファイルを編集し、クライアントに返された値を変更します。
-
「プリファレンス」ダイアログの「Httpアナライザ」ページで、テープ・ルールを作成します。
ルールのリストで、ブランクの「パス・スルー・ルール」の上になっていることを確認してください。
-
「ルール設定」ダイアログで、WS-Iファイルのパスを「ルール設定」ダイアログの「テープ・パス」として使用します。
クライアントを再実行すると、外部Webサービスに対してではなく、WS-Iファイルのエントリに対して実行されます。
次の操作が可能なその他のオプションもあります。
-
クライアントに返されるメッセージが正しくなるように、WS-Iログ・ファイルでエントリの時刻とサイズを修正します。
-
複数回実行されるように、テープをループさせます。
-
同じテープ・ルールでWSDLとエンドポイント・リクエストを使用できるように、一致するURLとHTTPリクエスト・メソッドをスキップします。
-
ノート:
テープ・ルールは、失効日が設定された資格証明またはヘッダーを使用するSOAPメッセージに対しては動作しません。
14.3.7.13 ルールの設定方法
HTTPアナライザがルールによって決定される動作を利用して実行するように、ルールを設定できます。各アナライザ・インスタンスには、異なるホスト/URLへのリクエストのリダイレクト、Webサービスのエミュレートなどの動作を決定するルールのセットがあります。
HTTPアナライザのインスタンスにルールを設定するには:
14.3.7.14 リファレンス: HTTPアナライザのトラブルシューティング
この項では、HTTPアナライザの実行中に発生する可能性がある問題の解決方法について説明します。
14.3.7.14.1 他のアプリケーションの実行中にHTTPアナライザを実行
レスポンスを待っているアプリケーションがある場合は、HTTPアナライザを起動または停止しないでください。HTTPアナライザを起動または停止する前に、アプリケーションを終了してください。
HTTPアナライザは、1つ以上の異なる組合せのプロキシ設定を使用できます。これらの設定はIDEにのみ固有です。有効にした場合、Oracle Data Integratorはこれらの設定を使用して、組織のプロキシ・サーバー経由でインターネットにアクセスします。プロキシ・サーバー設定を有効にしないと、Webアプリケーションはインターネットにアクセスできない可能性があります。プロキシ・サーバー設定は、マシンのデフォルト・ブラウザのプリファレンス設定に表示されます。
HTTPアナライザを実行すると、1つ以上の異なる組合せのプロキシ設定を使用できます。HTTPアナライザの実行中は、これらのプロキシ設定がHTTPプロキシ・サーバーの設定をオーバーライドします。
14.3.7.14.2 プロキシ設定の変更
HTTPアナライザを使用するとき、Oracle Data Integratorのプロキシ設定の変更が必要になる場合があります。たとえば:
-
外部サービスをテストしており、マシンがファイアウォールの内部にある場合には、Oracle Data IntegratorがHTTPプロキシ・サーバーを使用していることを確認してください。
-
「アプリケーション」ウィンドウで、Webサービスのコンテキスト・メニューから「Webサービスのテスト」を選択する場合など、統合アプリケーション・サーバーでサービスをテストする場合は、Oracle Data IntegratorでHTTPプロキシ・サーバーが使用されていないことを確認してください。
HTTPアナライザの実行中に、次のメッセージが表示されることがあります。
500 Server Error The following error occurred: [code=CANT_CONNECT_LOOPBACK] Cannot connect due to potential loopback problems
プロキシの除外リストに、localhost|127.0.0.1
を追加する必要がある可能性があります。
HTTPプロキシ・サーバーを設定し、例外リストを編集するには:
-
「ツール」→「設定」を選択し、「Webブラウザとプロキシを選択します。
-
必要に応じて、「HTTPプロキシ・サーバーを使用」が選択または選択解除されていることを確認します。
-
「例外」リストに適切な値を追加します。セパレータには「
|
」を使用してください。Javaがプロキシとしてlocalhostを使用するためには、それが唯一のエントリである場合も含めて、「例外」リストに
~localhost
が存在する必要があります。
14.3.8 OdiInvokeWebServiceツールの使用
OdiInvokeWebServiceツールでは、HTTPまたはHTTPSプロトコルを使用してWebサービスを呼び出し、返されたレスポンスをXMLファイルに書き込むことができます。レスポンスは、XMLペイロード、またはSOAPのヘッダーと本文が含まれている完全なSOAPメッセージで書き込まれます。
OdiInvokeWebServiceツールのパラメータは、HTTPアナライザを使用して構成できます。これを行うには、パッケージ・エディタでOdiInvokeWebServiceステップの「一般」タブにある「HTTPアナライザ」ボタンをクリックします。これにより、コマンド・パラメータを構成するために使用できるOdiInvokeWebServiceAdvanceエディタが開きます。
OdiInvokeWebServiceツールのパラメータの詳細は、『Oracle Data Integratorツール・リファレンス』のOdiInvokeWebServiceに関する項を参照してください。
OdiInvokeWebServiceツールでは、Webサービス記述言語(WSDL)のURLが提供されるポート上で特定の操作を呼び出します。この操作にSOAPリクエストが必要な場合は、リクエスト・ファイルまたはツール・コマンドで提供されます。Webサービス・リクエストのレスポンスは、Oracle Data Integratorで使用可能なXMLファイルに書き込まれます。
ノート:
XMLペイロードの形式を使用すると、OdiInvokeWebServiceツールでは、リクエストのSOAPヘッダーがサポートされません。たとえば、保護されたWebサービスの呼出しなど、SOAPヘッダーを処理するためには、完全なSOAPメッセージを使用して、SOAPヘッダーを手動で変更します。
このツールは、パッケージのツール・ステップで、およびプロシージャやナレッジ・モジュールで、標準のOracle Data Integratorツールとして使用されます。パッケージのツール・ステップを作成する方法の詳細は、「Oracle Data Integratorツール・ステップの追加」を参照してください。
XMLテクノロジの標準Oracle Data Integratorインタフェース・ソースを使用して、レスポンスの情報を処理できます。XMLファイル処理の詳細は、Oracle Data Integrator接続性およびモジュール・ガイドを参照してください。
ノート:
Oracle Data Integratorにおいて各XMLファイルはモデルとして定義されます。リクエストまたはレスポンス・ファイルにXMLファイル処理を使用する際に、リクエストまたはレスポンス・ファイルごとにモデルが作成されます。モデルを配置するにはモデル・フォルダを使用することをお薦めします。詳細は、「フォルダを使用したモデルの編成」を参照してください。
Oracle Data Integratorでは、Webサービス・レスポンスを処理するためのOdiXMLConcatおよびOdiXMLSplitツールが用意されています。これらのツールの使用方法の詳細は、『Oracle Data Integratorツール・リファレンス』のXMLに関する項を参照してください。
リクエストに対するバインディング・メカニズムの使用
プロシージャでWebサービス・コールを使用する場合、バインディング・メカニズムを使用できます。この方法では、問合せによって返された行ごとにWebサービスをコールし、行の値に基づいてリクエストをパラメータ化できます。詳細は、「ソース・データとターゲット・データのバインド」を参照してください。
14.3.9 odiInvokeRESTfulServiceツールの使用
odiInvokeRESTfulServiceツールのパラメータの詳細は、『Oracle Data Integratorツール・リファレンス』を参照してください
このツールは、パッケージのツール・ステップで、およびプロシージャやナレッジ・モジュールで、標準のOracle Data Integratorツールとして使用されます。パッケージのツール・ステップを作成する方法の詳細は、「Oracle Data Integratorツール・ステップの追加」を参照してください。
XMLテクノロジの標準Oracle Data Integratorインタフェース・ソースを使用して、レスポンスの情報を処理できます。XMLファイル処理の詳細は、Oracle Data Integrator接続性およびモジュール・ガイドを参照してください。
ノート:
Oracle Data Integratorにおいて各XMLファイルはモデルとして定義されます。リクエストまたはレスポンス・ファイルにXMLファイル処理を使用する際に、リクエストまたはレスポンス・ファイルごとにモデルが作成されます。モデルを配置するにはモデル・フォルダを使用することをお薦めします。詳細は、「フォルダを使用したモデルの編成」を参照してください。
Oracle Data Integratorでは、Webサービス・レスポンスを処理するためのOdiXMLConcatおよびOdiXMLSplitツールが用意されています。『Oracle Data Integratorツール・リファレンス』のXMLに関する項を参照してください
OdiInvokeRESTfulService [-CONTEXT=<ODI_Context>] -LSCHEMA=<Logical_Schema> [-REQUEST_BODY_FILE=<Request_File> | -REQUEST_BODY=<RequestBody> | <RequestBody>] [-REQUEST_HDFS_LSCHEMA=<Request_HDFS_Logical_Schema>] [-CHUNK_SIZE=<Chunk_Size>] [-CHUNK_PREFIX=<Chunk_Prefix>] [-PRE_OPERATION=<Pre_Operation>] [-PRE_OPERATION_BODY=<Pre_Operation_Body>] -OPERATION=<Rest Operation> [-POST_OPERATION=<Post_Operation>] [-POST_OPERATION_BODY=<Post_Operation_Body>] [-HEADER.<name>=<value>]* [-HEADER_IGNORE_DEFAULT=<YES|NO>] [-REQUEST_BODY_PART_NAME=<Body_Part_Name> & -REQUEST_BODY_PART_CONTENT_TYPE=<Body_Part_Content_Type> & -REQUEST_BODY_PART_VALUE=<Body Part Value>]* [[-REQUEST_QUERY.<name>=<value>]* | -ENCODED_REQUEST_QUERY_STRING=<Encoded_Request_Query_String>] [-REQUEST_QUERY_IGNORE_DEFAULT=<YES|NO>] [-REQUEST_TEMPLATE.<Variable_Name>=<Variable_Value>]* [-REQUEST_TEMPLATE_IGNORE_DEFAULT=<YES|NO>] [-RESPONSE_FILE=<Response_File>] [-RESPONSE_HDFS_LSCHEMA=<Response HDFS LSchema>][-RESPONSE_MODE=<NEW_FILE|FILE_APPEND>] [-RESPONSE_FILE_CHARSET=<javaCharset>][-TIMEOUT=<timeout>] [-RETRY_COUNT=<Retry_Count>] [-RETRY_INTERVAL=<Retry_Interval>] [-FAILURE_STATUS_CODES=<Failure Status codes>] [-TRACE_FILE=<Trace_File>] [-TRACE_FILE_MODE=<NEW_FILE|FILE_APPEND>] [-NEXT_REQUEST_RESOLVER=<Next_Request_Resolver>] [-TOTAL_COUNT_FIELD_RESOLVER=<Total_Count_Field_Resolver>] [-RESOLVER_OVERWRITE_CLASS=<Resolver_Overwrite_Class>] [-RESPONSE_DATA_CONTAINER=<Response_Data_Container>]
[<RequestBody>]
関連項目:
14.3.9.1 OdiInvokeRESTfulServiceツールのテスト
「Restfulサービスのテスト」ボタンをクリックすると、追加したREST操作をテストできます。このボタンを押してから、ドロップダウン・ボックスで操作を選択します。リクエストを送信してレスポンスを確認し、作成した操作が正しく機能することを検証します。
UIをテストするREST操作では、現在の物理スキーマと解決済の物理スキーマについて操作を選択できます。操作を選択すると、HTTPメソッドと有効なURIが表示されます。また、「ヘッダー」、「問合せ」、「テンプレート」に定義済/デフォルトのパラメータは移入されますが、後でREST操作のテスト前に編集できます。リクエスト本文のテキスト・フィールドは、手動で入力することも、ファイルからロードすることもできます。
「リクエストの送信」ボタンを使用すれば、OdiInvokeRESTfulServiceツールを介してパラメータからRESTを呼び出せます。「停止」をクリックすると、ツールの実行が停止します。
RESTの呼出しが完了すると、レスポンスのステータス・コード、レスポンス・ヘッダー(マルチページ・リクエストの場合は最後の呼出し)、およびレスポンス・コンテンツが表示されます。
レスポンス・コンテンツは、ファイルに保存できます。該当する場合は「nXSDを編集します」が有効になり、コンテンツに基づいてnXSDを作成/編集できます。これには、複合ファイル・データ・サーバー・エディタから使用できる類似のネイティブ・フォーマット・ビルダーUIを使用します。
14.3.9.3 OdiInvokeRESTfulServiceのパラメータの編集
-
HEADER
-
REQUEST_QUERY
-
REQUEST_TEMPLATE
-
ENCODED_REQUEST_BODY_STRING
ここでは、以下の項目について説明します。
14.3.9.4 デフォルト・パラメータの移入
パラメータ-HEADER、-REQUEST_QUERY、-REQUEST_TEMPLATEおよびENCODED_REQUEST_QUERY_STRINGの「値」フィールドで「...」ボタンをクリックすると、現在選択されている操作のデフォルトのパラメータが存在する場合、「パラメータの編集」ダイアログで事前に移入されます。
「パラメータの編集」ダイアログで「OK」ボタンをクリックすると、対応するツールのパラメータが新しい値で更新されます。「取消」ボタンをクリックすると、ツール・パラメータの更新は実行されません。
RESTサービス・ツールのパラメータでは、同じ操作を選択すると、デフォルトと同じパラメータを使用できます。
リクエスト・ヘッダーの「...」ボタンをクリックすると、「ヘッダー・パラメータの編集」ダイアログで、物理操作から事前移入されたデフォルトのヘッダー・パラメータ値が表示されます。
リクエスト問合せの「...」ボタンをクリックすると、「問合せパラメータの編集」ダイアログで、物理操作から事前移入されたデフォルトの問合せパラメータ値が表示されます。
リクエスト問合せ文字列(コード化)の「...」ボタンをクリックすると、「問合せパラメータの編集」ダイアログで、物理操作から事前移入されたデフォルトの問合せパラメータ値が表示されます。
リクエスト・テンプレートの「...」ボタンをクリックすると、「テンプレート・パラメータの編集」ダイアログで、物理操作から事前移入されたデフォルトのテンプレート・パラメータ値が表示されます。