サービス・スタブは、実際のサービスのシミュレーションです。サービス・スタブを使用して、テスト環境でサービスを機能的に置き換えることができます。
アプリケーション・サーバーを使用するのが現実的ではない場合、実際のアプリケーション・サーバーに代わってスタブ・サーバーが使用されます。
例えば、以下の場合にスタブ・サーバーを使用してください。
- リモート・サービスから得られるデータを使用するローカル・サービスをテストする場合、テスト対象のサービスにリモート・サービスから特定のコンテンツを注入しなければならないことがあります。
サービス・スタブでリモート・サービスをシミュレートして、ローカル・サービスが特定の入力に対して正しく応答するようにできます。
- 商用サービス・プロバイダーによっては、要求ごとにユーザーに対して課金が行われることがあります。
このようなサービスをテストする場合には、スタブ・サービス (実際のサービスの WSDL に基づいている) に対してテストを作成しデバッグすることができます。こうすることで、サービス・プロバイダーからの課金を回避できます。
- 複数のクライアントおよびサービスが関係する大規模なアプリケーションを統合する場合は、WSDL 仕様が使用可能でも、いくつかのサービスがまだ操作可能になっていないことがあります。サービス・スタブを使用して欠落しているサービスをシミュレートすることにより、統合作業を続行することができます。
クライアント・アプリケーション側からは、サービス・スタブは、シミュレートされている実際のサービスと同一に見えます。
実際のサービスの代わりにサービス・スタブを使用するには、クライアント・アプリケーション内の元のサービスの URL を、スタブ・サーバーの URL で置き換えることができなくてはなりません。
サービス・スタブの作成は、現行の WSDL 仕様を提供することによって行います。サービス・スタブは、元のサービスとまったく同じインターフェースで対処できるように、元のサービスとまったく同じポートおよびバインドを使用して生成されます。
サービス内の各操作は、WSDL で定義されたタイプのデフォルト応答を返します。