この章では、Oracle Data IntegratorのWebサービスの使用方法について説明します。
この章には次の項が含まれます:
Oracle Data Integratorは、サービス指向アーキテクチャ(SOA)への次のエントリ・ポイントを提供します。
データ・サービス
Oracle Data Integratorランタイム・サービス
サードパーティWebサービスの呼出し
図16-1は、異なるタイプのWebサービスが相互作用する方法を示しています。
図16-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プロセスのトリガーなど)を呼び出します。
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実行タスク(シナリオの実行、セッションの再開など)を実行する方法については、「Webサービスを使用した実行の管理」を参照してください。そのトピックでは、SOAPリクエストおよびレスポンスの例も示しています。
データ・サービスは特殊なWebサービスで、データストアのデータにアクセスしたり、チェンジ・データ・キャプチャを使用して、それらのデータストアに対して取得された変更にアクセスできます。データ・サービスはOracle Data Integratorによって生成され、Webサービスからデータにアクセスできるようにします。これらのWebサービスは、アプリケーション・サーバーのWebサービス・コンテナにデプロイされます。
データ・サービスの設定、生成およびデプロイ方法の詳細は、第8章「データ・サービスの作成および使用」を参照してください。
この項では、Oracle Data IntegratorにおけるサードパーティWebサービスの呼出し方法について説明します。
この項には次のトピックが含まれます:
次のようにWebサービスを呼び出すことができます。
HTTPアナライザ・ツールを使用して、Oracle Data Integratorのパッケージまたはプロシージャで呼び出します。このツールでは、サードパーティWebサービスを呼び出し、Oracle Data Integratorで処理可能なSOAPファイルにレスポンスを保存できます。
結果を使用して、ローカルまたはリモートにデプロイされているWebサービスをデバッグできます。
テスト用データ・サービス。生成されたデータ・サービスが正しく実行されているかどうかをテストする最も簡単な方法は、HTTPアナライザ・ツールを使用することです。
OdiInvokeWebServiceツールを使用して、Oracle Data Integratorのパッケージまたはプロシージャで呼び出します。このツールでは、サードパーティWebサービスを呼び出し、Oracle Data Integratorで処理可能なXMLファイルにレスポンスを保存できます。
これらの3つの方法は、後述の項で説明しています。
HTTPアナライザを使用すると、Webサービス・クライアントとサービスの間のリクエスト/レスポンス・トラフィックをモニターできます。HTTPアナライザは、HTTPトラフィックの送受信に関するWebサービスのデバッグに役立ちます。
HTTPアナライザを実行すると、情報を提供する多くのウィンドウが表示されます。
HTTPアナライザを使用すると、次の操作を実行できます。
WebサービスのリクエストおよびレスポンスTCPパケットの詳細な内容を調べることができます。
リクエスト・パケットの編集と再送信、およびレスポンス・パケットの内容の確認ができます。
ポリシーを使用して保護されたWebサービスをテストできます。暗号化されたメッセージは復号化されます。
この項の内容は次のとおりです。
Webサービスのクライアントによって送受信されるパケットを調べるには、次のようにします。
注意: HTTPアナライザを使用する場合、プロキシ設定を更新する必要が生じることがあります。 |
Webサービスを作成し、これを実行します。
「ツール」→「Httpアナライザ」を選択してHTTPアナライザを起動します。
OdiInvokeWebServiceツール・ステップの「一般」タブにある「HTTPアナライザ」ボタンから起動することもできます。
新規ウィンドウで開かれます。
HTTPアナライザ・ログ・ウィンドウにある「新規SOAPリクエストの作成」ボタンをクリックします。
WebサービスのURLを入力するか、WebサービスのWSDLを開いて開始します。
Webサービスのクライアント・プロキシを実行します。HTTPアナライザ・テスト・ウィンドウにリクエスト・パケットとレスポンス・パケットのペアが表示されます。
テスト・ウィンドウでは、メッセージのヘッダーとパラメータを調べることができます。サービスをテストするには、適切なパラメータを入力して「リクエストの送信」をクリックします。
リクエストおよびレスポンス・パケットのHTTPヘッダーの内容を調べ、HTTPアナライザのテスト・ウィンドウの下部にある該当のタブを選択して、(JAX-WS Webサービスの)SOAP構造、HTTPコンテンツ、16進コンテンツまたはRAWメッセージ・コンテンツを確認できます。
注意: (RESTfulサービスの) WADL構造は、Oracle Data Integratorではサポートされていません。 |
次のいずれかのタスクを実行して、ポリシーで保護されたWebサービスをテストできます。
「資格証明」リストから既存の資格証明を選択します。
Oracle Data Integratorには、事前構成済の資格証明セットとしてHTTPS Credential
が付属しています。
「新規作成」をクリックして、新しい資格証明を作成します。「資格証明」ダイアログで、HTTPアナライザ・テスト・ウィンドウで使用する資格証明を定義します。
HTTPアナライザを起動してWebサービスをテストすると、Webサービスでは、HTTPアナライザの「プリファレンス」ダイアログのプロキシ設定を使用して、HTTPアナライザ経由でトラフィックを送信します。
デフォルトでは、HTTPアナライザは1つのアナライザ・インスタンス上で1つのプロキシ(デフォルトは8099)を使用しますが、必要な場合には独自のプロキシを追加できます。
各アナライザ・インスタンスには、異なるホスト/URLへのリクエストのリダイレクト、Webサービスのエミュレートなどの動作を決定するルールのセットがあります。
デフォルトでは、HTTPアナライザは1つのアナライザ・インスタンス上で1つのプロキシ(デフォルトは8099)を使用しますが、必要な場合には独自のプロキシを追加できます。
HTTPアナライザのプリファレンスを設定するには、次のようにします。
次のいずれかの方法でHTTPアナライザの「プリファレンス」ダイアログを開きます。
「HTTPアナライザ・インスタンス」ウィンドウまたはログ・ウィンドウで「Httpアナライザの起動」ボタンをクリックします。
「ツール」→「プリファレンス」を選択して「プリファレンス」ダイアログを開き、「Httpアナライザ」ページに移動します。
詳細は、[F1]を押すか、HTTPアナライザの「プリファレンス」ダイアログで「ヘルプ」をクリックしてください。
HTTPアナライザ・インスタンスに対して必要な変更を行います。たとえばホストとポート番号を変更する場合には、「プロキシの構成」をクリックして「プロキシ設定」ダイアログを開きます。
「ツール」メニューから「HTTPアナライザ」を開くと、図16-2のようにHTTPアナライザ・ログ・ウィンドウが表示されます。
HTTPアナライザを実行すると、「Httpアナライザ」ログ・ウィンドウにリクエスト/レスポンスのメッセージが出力されます。メッセージは、グループ化と並替えが可能です。
メッセージを並べ替えるには、「順序」タブを選択し、列ヘッダーを使用してソートします(ヘッダーのクリックでソート、ダブルクリックで2次ソート)。
メッセージをグループ化するには、「相関」タブをクリックします。
列の順序を変えるには、列ヘッダーをクリックしたまま新しい位置までドラッグします。
表16-1 「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アナライザでエントリをクリアする場合にクリックします。 |
HTTPアナライザ・ログ・ウィンドウで「新規SOAPリクエストの作成」ボタンをクリックすると、空のHTTPアナライザ・テスト・ウィンドウが開きます。
WebサービスのURLを入力するか、WebサービスのWSDLを開いて「リクエストの送信」をクリックします。図16-3に示すように、リクエストの結果がテスト・ウィンドウに表示されます。
リクエストおよびレスポンス・パケットのHTTPヘッダーの内容を調べ、HTTPアナライザ・テスト・ウィンドウの下部にある該当のタブを選択して、SOAP構造、HTTPコンテンツ、16進コンテンツまたはRAWメッセージ・コンテンツを確認できます。
テスト・ウィンドウでは、メッセージのヘッダーとパラメータを調べることができます。サービスをテストするには、適切なパラメータを入力して「リクエストの送信」をクリックします。
テスト・ウィンドウの下部にあるタブから、メッセージの内容の表示方法を選択できます。選択できるメッセージの表示方法は、次のとおりです。
図16-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>
「ツール」メニューから「HTTPアナライザ」を開くと、「HTTPアナライザ」タブがデフォルトで表示されます。
「HTTPアナライザ・インスタンス」タブをクリックします。図16-4に示すように、「HTTPアナライザ・インスタンス」ウィンドウが表示されます。
このウィンドウには、現在実行中または実行後に停止されたHTTPアナライザのインスタンスに関する情報が表示されます。インスタンスはホストとポートで識別され、ルールがあれば表示されます。このウィンドウからインスタンスの起動と停止が可能です。
新規インスタンスは、「新規SOAPリクエストの作成」ボタンをクリックしたときに開く「HTTPアナライザ」ダイアログで作成します。
表16-2 「HTTPアナライザ・インスタンス」ウィンドウのツールバー・アイコン
アイコン | 名前 | 機能 |
---|---|---|
アナライザ・プリファレンス |
新規リスナー・ポートを指定したり、デフォルト・プロキシを変更できる「Httpアナライザ」ダイアログを開く場合にクリックします。 |
|
新規リクエストの作成 |
ペイロード詳細の入力や、メッセージの編集および再送信を行うHTTPアナライザのテスト・ウィンドウの新しいインスタンスを開く場合にクリックします。 |
|
HTTPアナライザの起動 |
HTTPアナライザを起動する場合にクリックします。モニターがバックグラウンドで実行され、「停止」をクリックするか、JDeveloperを終了したときにのみ停止します。複数のリスナーを定義している場合、このボタンをクリックするとすべてのリスナーが起動します。1つのリスナーのみを起動するには、下矢印をクリックして起動するリスナーを選択します。 |
|
HTTPアナライザの停止 |
HTTPアナライザを停止する場合にクリックします。複数のリスナーを実行している場合、このボタンをクリックすると、すべてのリスナーが停止します。1つのリスナーのみを停止するには、下矢印をクリックして停止するリスナーを選択します。 |
HTTPアナライザの複数インスタンスを実行できます。それぞれが異なるホストとポートの組合せを使用し、「HTTPアナライザ・インスタンス」ウィンドウでそのサマリーを確認できます。
HTTPアナライザのインスタンスを追加するには、次のようにします。
次のいずれかの方法でHTTPアナライザの「プリファレンス」ダイアログを開きます。
「HTTPアナライザ・インスタンス」ウィンドウまたはログ・ウィンドウで「アナライザ・プリファレンス」ボタンをクリックします。
「ツール」→「プリファレンス」を選択して「プリファレンス」ダイアログを開き、「Httpアナライザ」ページに移動します。
詳細は、[F1]を押すか、HTTPアナライザのプリファレンス・ダイアログで「ヘルプ」をクリックしてください。
新しいリスナーとなる新しいHTTPアナライザ・インスタンスを作成するには、「追加」をクリックします。新しいリスナーがリストされてデフォルトとして選択され、値を変更できます。
HTTPアナライザを使用すると、ポリシーで保護されたWebサービスをテストできます。HTTPアナライザのテスト・ウィンドウで使用する資格証明を選択します。
HTTPアナライザでは、この目的で次の資格証明がサポートされています。
HTTPS。メッセージは、信頼できる認証局によって署名された公開鍵証明書を使用して、送信前に暗号化されます。受信時に復号化されます。
ユーザー名トークン。このトークンは、Oracle Data Integratorには適用されません。
ユーザー名/パスワードに基づくトークンを使用してBasic認証情報を伝達する手段です。
X509。このトークンは、Oracle Data Integratorには適用されません。
これはシングル・サインオン認証のためのPKI標準であり、アイデンティティの提示と、メッセージの署名および暗号化に証明書を使用します。
STS。このトークンは、Oracle Data Integratorには適用されません。
セキュリティ・トークン・サービス(STS)は、セキュリティ・トークンを発行し管理するWebサービスです。
保護されたサービスまたはアプリケーション、たとえばポリシーで保護されたWebサービスに対してHTTPアナライザを使用できます。Oracle Data Integratorには、この目的で資格証明HTTPS Credential
が含まれています。
構成した資格証明は、HTTPアナライザのテスト・ウィンドウで選択できるようになります。
HTTPSは、送信前にHTTPメッセージを暗号化し、受信時に復号化します。信頼できる認証局によって署名された公開鍵証明書を使用します。統合アプリケーション・サーバーを初めて起動すると、固有のDemoIdentity
が生成され、その中にあるキーを使用してHTTPSチャネルが設定されます。
キー・ストアおよびキーストア・プロバイダの詳細は、『Oracle WebLogic Serverセキュリティの理解』を参照してください。デフォルトの資格証明であるHTTPS Credential
を選択する場合には、HTTPアナライザがHTTPSトラフィックを処理する際に使用するキーストアを指定する必要があります。
HTTPアナライザを実行するには、2つのキーストアが必要です。
クライアントの信頼する証明書キーストア。外部接続時にアナライザ(クライアントの信頼)によって信頼されるすべてのホストの証明書が含まれています。サーバーの証明書は、このキーストア内に存在している必要があります。
クライアント・キーストアが必要なのは、相互認証が必要な場合のみです。
サーバー・キーストア。アナライザがコール側クライアントに対する自身の認証に使用するキーが含まれています。
別のHTTPS値を使用するようにHTTPアナライザを構成するには、次のようにします。
メイン・メニューから、「ツール」→「プリファレンス」を選択します。
「設定」ダイアログで、「資格証明」ノードを選択します。詳細は、[F1]を押すか、ダイアログ・ページ内で「ヘルプ」をクリックしてください。
使用する新しいキーストアと証明書の詳細を入力します。
HTML、JSPまたはJSFページなどのWebページをデバッグするときにもHTTPアナライザを使用できます。こうすると、ブラウザとの間で相互に送信されるトラフィックを直接調べることができます。
HTTPアナライザを使用してWebページをデバッグするには、次のようにします。
HTTPアナライザを通じてメッセージをルーティングするようにブラウザを構成し、Webブラウザとクライアントの間でトラフィックを確認できるようにします。
HTTPアナライザを起動します。
通常の方法で分析するクラス、アプリケーションまたはWebページを実行します。
リクエストとレスポンスの各パケットが、HTTPアナライザのログ・ウィンドウにリストされ、HTTPアナライザのテスト・ウィンドウに詳細に表示されます。
HTTPアナライザがルールによって決定される動作を利用して実行するように、ルールを設定できます。1つのHTTPアナライザ・インスタンスで複数のルールを設定できます。サービスのURLがルールに一致した場合は、そのルールが適用されます。一致しない場合は、リストの次のルールがチェックされます。サービスがどのルールにも一致しない場合は、クライアントがエラーを返します。このような理由から、先行するルールによって捕捉されないメッセージが捕捉されるように、「パス・スルー・ルール」は常に、リストの最後のルールにブランク・フィルタ(単にリクエストを渡す)を設定して使用します。
次のタイプのルールがあります。
パス・スルー・ルール
転送ルール
URL置換ルール
テープ・ルール
パス・スルーは、URLフィルタが一致する場合にリクエストを単純にサービスに渡します。「ルール設定」ダイアログを最初に開くと、2つのパス・スルー・ルールが定義されています。
1つ目はhttp://localhost:631
というURLフィルタを使用し、印刷サービス・リクエストを無視します。
2つ目はURLがブランクのフィルタで、単純にリクエストを元のサービスに渡します。新規ルールを追加する場合には、通常このルールをリストの最後に移動する必要があります。
URL置換ルールを使用すると、URL範囲の一部を置換してサービスを再ホストできます。たとえば、統合アプリケーション・サーバーとOracle WebLogic Serverの間で移動するときマシン名を置き換えることができます。
テープ・ルールを使用すると、標準の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メッセージに対しては動作しません。 |
HTTPアナライザがルールによって決定される動作を利用して実行するように、ルールを設定できます。各アナライザ・インスタンスには、異なるホスト/URLへのリクエストのリダイレクト、Webサービスのエミュレートなどの動作を決定するルールのセットがあります。
HTTPアナライザのインスタンスにルールを設定するには、次のようにします。
「ツール」→「Httpアナライザ」を選択して、HTTPアナライザを開きます。HTTPアナライザのドッキングしたウィンドウが開きます。
あるいは、「アプリケーション」ウィンドウでWebサービス・コンテナのコンテキスト・メニューから「Webサービスのテスト」を選択すると、HTTPアナライザが自動的に開きます。
「アナライザ・プリファレンス」ボタンをクリックしてHTTPアナライザのプリファレンス・ダイアログを開き、新規リスナー・ポートを指定したり、デフォルト・プロキシを変更できます。
または、「ツール」→「プリファレンス」を選択し、「Httpアナライザ」ページに移動します。
「ルールの設定」をクリックして「ルール設定」ダイアログを開き、HTTPアナライザで実行されるアクションを決定するルールを定義します。詳細は、[F1]を押すか、「ルール設定」ダイアログで「ヘルプ」をクリックしてください。
「ルール設定」ダイアログで、「参照URL」としてテストする対象の参照サービスのURLを入力します。こうすると、ルールを適用するかどうかと適用方法を確認できるため、ルールの作成を開始しやすくなります。
クライアントを実行する対象のサービスに、1つ以上のルールを定義します。新しいルールを追加するには、「追加」の隣にある下矢印をクリックし、リストからルールのタイプを選択します。ダイアログのフィールドは、現在選択されているルールのタイプによって異なります。
ルールは上から下の順序で適用されます。並べ替えるには、上下の並替えボタンを使用します。ブランクの「パス・スルー・ルール」が最後のルールになるようにしてください。
この項では、HTTPアナライザの実行中に発生する可能性がある問題の解決方法について説明します。
レスポンスを待っているアプリケーションがある場合は、HTTPアナライザを起動または停止しないでください。HTTPアナライザを起動または停止する前に、アプリケーションを終了してください。
HTTPアナライザは、1つ以上の異なる組合せのプロキシ設定を使用できます。これらの設定はIDEにのみ固有です。有効にした場合、Oracle Data Integratorはこれらの設定を使用して、組織のプロキシ・サーバー経由でインターネットにアクセスします。プロキシ・サーバー設定を有効にしないと、Webアプリケーションはインターネットにアクセスできない可能性があります。プロキシ・サーバー設定は、マシンのデフォルト・ブラウザのプリファレンス設定に表示されます。
HTTPアナライザを実行すると、1つ以上の異なる組合せのプロキシ設定を使用できます。HTTPアナライザの実行中は、これらのプロキシ設定がHTTPプロキシ・サーバーの設定をオーバーライドします。
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
が存在する必要があります。
OdiInvokeWebServiceツールでは、HTTPまたはHTTPSプロトコルを使用してWebサービスを呼び出し、返されたレスポンスをXMLファイルに書き込むことができます。レスポンスは、XMLペイロード、またはSOAPのヘッダーと本文が含まれている完全なSOAPメッセージで書き込まれます。
OdiInvokeWebServiceツールのパラメータは、HTTPアナライザを使用して構成できます。これを行うには、パッケージ・エディタでOdiInvokeWebServiceステップの「一般」タブにある「HTTPアナライザ」ボタンをクリックします。コマンド・パラメータの構成に使用できるOdiInvokeWebServiceAdvanceが開きます。
OdiInvokeWebServiceツール・パラメータの詳細は、「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サービスをコールし、行の値に基づいてリクエストをパラメータ化できます。詳細は、「ソース・データとターゲット・データのバインド」を参照してください。