このセクションでは、WSDL または XML スキーマ定義から仮想アセットを作成する方法について説明します。
セクションの内容:
概要
Virtualize は、定義ファイルを解析してサービスの仮想アセットを作成することができます。WSDL または XML スキーマで定義された操作とフォルト メッセージのためのメッセージ レスポンダーを自動的に生成し、適切なメッセージを投入します。
この機能が特に役に立つのは、仮想化したいサービスがライブ記録で利用できないが、それを記述した定義ファイルにはアクセスできる場合です。
定義ファイルからアプリケーションの振る舞いを仮想化するには、主に 2 つのステップがあります。
- 定義ファイルからメッセージ レスポンダーを作成する。
- 作成したメッセージ レスポンダーをデプロイする。
定義ファイルからのメッセージ レスポンダーの作成
WSDL または XML スキーマ ファイルからメッセージ レスポンダーを自動的に作成するには、次の操作を行います。
- 利用可能なプロジェクト/.pva/レスポンダー スイートのいずれかの作成ウィザードで SOA > WSDL または SOA> XML スキーマ オプションを選択します。
- ウィザードへのアクセスの詳細については「プロジェクト、 仮想アセット、レスポンダー スイートの追加」を参照してください。
- WSDL/XML スキーマ ウィザードを完了します。WSDL または XML スキーマの場所を必ず適切に指定してください。
定義された操作とフォルト メッセージのためのメッセージ レスポンダーが作成されます。コントロールを使ってレスポン スメッセージを指定できます。作成されるツールのオプションをレビューおよびカスタマイズする方法については、「メッセージ レスポンダーの概要」を参照してください。
ヒント
スキーマを使用する場合、作成中のレスポンス メッセージと関連があるサンプルリクエスト メッセージがあると役立ちます。このサンプル リクエストを [リテラル] ビューの [オプション] > [リクエスト テンプレート] > [リクエスト メッセージ テンプレート] エリアに貼り付けます。そうすれば、より簡単にレスポンダーとデータ ソースの応答条件を設定できます。
仮想アセットのデプロイ
.pva が VirtualAssets プロジェクトに直接作成される場合、仮想アセットは自動的にデプロイされます。そうでない場合、仮想アセットをデプロイする最も単純な方法は、VirtualAssets プロジェクトに .pva ファイルをコピーすることです。
あるいは、[Virtualize サーバー] ビューの [ローカルマシン] ノードを右クリックし、[仮想アセットの追加] を選択します。デプロイしたい仮想アセットを含む .pva ファイルを指定して、[終了] をクリックします。ウィザードの入力を完了すると、 Virtualize は .pva ファイルを VirtualAssets プロジェクトに自動的にコピーします。
デプロイ手順とオプションの詳細については、「仮想アセットのデプロイ」を参照してください。
仮想アセットのカスタマイズ
メッセージ レスポンダーの振る舞いをカスタマイズする方法については、「メッセージ レスポンダーの概要」を参照してください。
SOAP フォルト メッセージのレビューとカスタマイズ
WSDL から仮想アセットを作成する場合、WSDL の操作用に定義されたカスタム SOAP フォルト レスポンスのためのメッセージ レスポンダーを生成するだけでなく、detail/Detail 要素で指定されたタイプ (つまりスキーマ "xsd:any" タイプ) がない単一の汎用的なフォルト レスポンスのためのメッセージ レスポンダーも生成します。
これらの WSDL フォルト メッセージは、メッセージ レスポンダーの [レスポンス] タブで確認およびカスタマイズできます。特定のフォルト メッセージを参照するには、[操作] からそのフォルト メッセージを選択します。
SOAP のフォルトは、SOAP のバージョンによって異なります。したがって、SOAP のバージョンを変更すると、SOAP のフォルトの形式が変わります (SOAP のバージョンは、Virtualize 設定の [サービスオプション] > [SOAP バージョン] エリアで変更できます)。
SOAP 1.2 の例
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <Fault xmlns="http://schemas.xmlsoap.org/soap/envelope/"> <faultcode xmlns=""></faultcode> <faultstring xmlns=""></faultstring> <detail xmlns=""> <ns1:exception xmlns:ns1="http://www.themindelectric.com/exceptions/"></ns1:exception> </detail> </Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
SOAP 1.1 の例
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <confirmResponse xmlns="http://www.parasoft.com/wsdl/store-01/"> <Result>true</Result> </confirmResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
動画チュートリアルWSDL からの仮想アセットの作成
このセクションでは、WSDL サービス定義から仮想アセットを作成する方法について説明します。