WSDL の検証は、Web サービスのテストの第一ステップと考えることができます。WSDL は一般的にさまざまなツールによって自動的に作成されますが、これは、必ずしも WSDL が正しいことを意味しません。WSDL が手動で変更された場合、WSDL の検証はさらに重要になります。
WSDL が正しく、規約に沿っていると、サービスのコンシューマが正しく機能することができ、ベンダー ロックインを防ぐことができます。これは相互運用性とサービスの再利用に役立ちます。
確実に WSDL がスキーマに準拠し、XML 検証テストにパスするように、SOAtest は包括的な WSDL テストのテスト スイートを自動生成することができます。さらに、相互運用性のチェックを実施して、他の WS-I 準拠のサービスとの相互運用が可能であることを検証します。
この WSDL 検証の演習が終了すると、SOAtestTutorial.tst ファイル中の "WSDL Tests" テスト スイートに似たテスト スイートが完成します。
WSDL Verification テスト スイートの作成
この演習では、以下の WSDL を使って書店サービスのための WSDL テストを作成します。 http://localhost:8080/parabank/services/store-01?wsdl
SOAtest の WSDL Verification Tests を使ってWSDL を検証するには、以下の操作を行います。
- 新しい空のプロジェクトを作成し、 Tutorial という名前を付けます。
- [ファイル] > [新規] > [プロジェクト] を選択します。
- [一般] > [プロジェクト] を選択します。
- [次へ] をクリックします。
- [プロジェクト名] に Tutorial と入力します。
- [終了] をクリックします。
- このプロジェクトに新しい .tst ファイルを追加します。
- Tutorial プロジェクト ノードを右クリックし、[新規追加] > [テスト (.tst) ファイル] を選択します。
- [ファイル名] に Tutorial と入力し、[次へ] をクリックします。
- [SOA] > [WSDL] を選択し、[次へ] をクリックします。
-
- [WSDL から機能テストを作成] チェックボックスをオフにし、[WSDL の検証およびポリシーを適用するテストを作成] チェックボックスをオンにします。
- [終了] をクリックします。[WSDL の検証およびポリシーを適用するテストを作成] チェックボックスをオンにしたので、WSDL Tests というテスト スイートに 4 個の WSDL テストが自動的に作成されます。このテスト スイートを確認するには、[テスト ケース エクスプローラー] タブを開き、ツリーを展開します。
SOAtestは、 WSDL URL から以下の WSDL テストを自動的に作成します。
- テスト 1: スキーマの妥当性: WSDL を W3C の WSDL スキーマと照合して XML 検証を行います。
- テスト 2: セマンティックな妥当性: 実際のサービス コンシューマと同様に (ただしより厳しく標準に準拠して) WSDL をパースしてコンシュームすることで、WSDL が正しいかどうかをチェックします。
- テスト 3: WS-I 相互運用性: WSDL を WS-I Basic Profile 2.0 (SOAP 1.2 の場合)、1.2 (SOAP 1.1 の場合)、または 1.1 (SOAP 1.1 の場合)と照合して検証します。
- テスト 4: WSDL レグレッション: WSDL の回帰コントロールを作成し、WSDL 文書の変更を検出できるようにします。
- テスト 3: WS-I 相互運用性 ノードを選択し、ツールバーの [テストまたは出力の追加] ボタンをクリックします。
[出力の追加] ウィザードが開き、利用可能なツールの一覧が表示されます。さらに、選択したツールの説明が [ツールの説明] エリアに表示されます。 - [出力の追加] ウィザードで、左側ペインから [準拠レポート] を選択し、右側ペインから [Browse] を選択して [終了] ボタンをクリックします。この設定によって、今後テストを実行すると、WS-I 相互運用性レポートがブラウザーに送られます。
- テスト スイート: WSDL テスト ノードを選択し、ツールバーの [テスト] ボタンをクリックします。
エラーが発生した場合、SOAtest GUI 下部の [コンソール] 画面にエラーが表示されます。エラーについての詳細情報を参照するには、エラーのノードをダブルクリックします。