このセクションでは、WSDL または XML スキーマ定義から仮想アセットを作成する方法について説明します。

セクションの内容:

概要

Virtualize は、定義ファイルを解析してサービスの仮想アセットを作成することができます。WSDL または XML スキーマで定義された操作とフォルト メッセージのためのメッセージ レスポンダーを自動的に生成し、適切なメッセージを投入します。

この機能が特に役に立つのは、仮想化したいサービスがライブ記録で利用できないが、それを記述した定義ファイルにはアクセスできる場合です。

定義ファイルからアプリケーションの振る舞いを仮想化するには、主に 2 つのステップがあります。

  1. 定義ファイルからメッセージ レスポンダーを作成する。
  2. 作成したメッセージ レスポンダーをデプロイする。

定義ファイルからのメッセージ レスポンダーの作成

WSDL または XML スキーマ ファイルからメッセージ レスポンダーを自動的に作成するには、次の操作を行います。

  1. 利用可能なプロジェクト/.pva/レスポンダー スイートのいずれかの作成ウィザードで SOA > WSDL または SOA> XML スキーマ オプションを選択します。
  2. 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 サービス定義から仮想アセットを作成する方法について説明します。

  • No labels