WCF のテスト用クライアント (WcfTestClient.exe)
Windows Communication Foundation (WCF) テスト クライアント (WcfTestClient.exe) は、テスト パラメータを入力し、その入力をサービスに送信して、サービスから返される応答を確認できる GUI ツールです。このツールを WCF サービス ホストと組み合わせて使用すると、シームレスにサービスをテストできるようになります。
テスト クライアントを使用するシナリオ
以下のセクションでは、WCF テスト クライアントを使用して開発プロセスを効率化できる最も一般的なシナリオについて説明します。
Visual Studio 内
WCF サービス ホストが、1 つのサービスを使用する WCF テスト クライアントを開始する
新しい WCF サービス プロジェクトを作成し、F5 キーを押してデバッガを起動すると、WCF サービス ホストがプロジェクトのサービスのホストを開始します。その後、WCF テスト クライアントが開き、構成ファイルに定義されているサービス エンドポイントの一覧が表示されます。ユーザーは、パラメータをテストしてサービスを呼び出すことができ、このプロセスを繰り返して、サービスのテストおよび検証を継続的に行うことができます。
WCF サービス ホストが、複数のサービスを使用する WCF テスト クライアントを開始する
WCF テスト クライアントは、複数のサービスを含むサービス プロジェクトをデバッグするためにも使用できます。WCF テスト クライアントが起動すると、自動的にプロジェクト内のサービスのリストが反復処理され、各サービスがテスト用に開かれます。
Visual Studio の外部
WCF テスト クライアント (WcfTestClient.exe) を Visual Studio の外部で呼び出して、インターネット上の任意のサービスをテストすることもできます。このツールを見つけるには、次の場所に移動します。
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\
ツールを使用するには、ファイル名をダブルクリックしてこの場所からツールを開くか、コマンド ラインからツールを起動します。
WCF テスト クライアントは、任意の数の URI をコマンド ライン引数として受け取ります。これらの引数には、テストできるサービスの URI を指定します。
wcfTestClient.exe URI1 URI2 …
[WCF テスト クライアント] ウィンドウが開いたら、[ファイル] メニューの [サービスの追加] をクリックし、開くサービスのエンドポイント アドレスを入力します。
WCF テスト クライアントのユーザー インターフェイス
WCF テスト クライアントは、単一のサービスでも複数のサービスでも使用できます。
サービス操作
WCF テスト クライアントのメイン ウィンドウの左ペインには、使用できるすべてのサービスが、それぞれのエンドポイントおよび操作と共に表示されます。
操作をダブルクリックすると、その操作の名前が付いた新しいタブ内の右ペインで、操作の内容を表示できます。
左ペインには、クライアントの構成ファイルも表示されます。いずれかの項目をダブルクリックすると、右ペインの新しいタブ付きウィンドウにファイルの内容が表示されます。
テスト パラメータの入力
テスト パラメータを表示するには、操作をダブルクリックして右ペインに開き、[書式付き] をクリックします。メッセージの XML を表示するには、[XML] をクリックします。[書式付き] をクリックすると、サービスをテストするためのパラメータに任意の値を入力できます。入力した値をサービスに送信するには、[起動] をクリックします。
サービスの応答がテスト パラメータの下に表示されます。
メモ : |
---|
想定される戻り値が文字列の場合は、入力が引用符で囲まれていなくても、結果は引用符で囲まれた文字列として表示されます。 |
サービスのコントラクトの作成時に特定の操作を一方向として指定した場合は、サービスの応答は表示されません。メッセージが配信のキューに置かれると、メッセージが正常に送信されたことを通知するダイアログ ボックスがすぐに表示されます。
セッション サポート
サービス操作のタブにある [新しいプロキシを開始する] チェック ボックスを使用すると、セッション サポートを切り替えることができます。このチェック ボックスは、既定でオフになっています。
特定の操作 (または同じサービス エンドポイントの別の操作) に対するテスト パラメータを入力し、チェック ボックスがオフの状態で [起動] を 2 回以上クリックした場合、これらの操作は単一のプロキシを共有し、サービスの状態は複数の操作にわたって保持されます。
[新しいプロキシを開始する] チェック ボックスをオンにした場合は、[起動] をクリックするたびに新しいプロキシが開始され、前のセッション シナリオが終了し、サービスの状態がリセットされます。
クライアント構成の編集
WCF テスト クライアントのメイン ウィンドウの左ペインには、クライアントの構成ファイルが表示されます。いずれかの項目をダブルクリックすると、右ペインにファイルの内容が表示されます。
サービス構成エディタを使用した編集
左ペインで [構成ファイル] を右クリックし、コンテキスト メニューの [SvcConfigEditor での編集] をクリックします。サービス構成エディタが起動し、クライアント構成の内容が表示されます。このツール内で構成を編集して保存できます。
サービス構成エディタでファイルを保存すると、WCF テスト クライアントでは、ファイルが外部で変更されたことを通知する警告メッセージが表示され、ファイルを再度読み込むかどうかをたずねられます。
[はい] を選択すると、[Client.dll.config] タブの構成の内容に、エディタで行った変更が反映されます。
[いいえ] を選択すると、[Client.dll.config] タブの構成の内容は変更されず、変更内容は自動的にソース ファイルに保存されます。
既定の構成への復元
すべての変更をキャンセルし、既定のクライアント構成に戻すには、左ペインで [構成ファイル] を右クリックし、コンテキスト メニューの [既定の構成に復元] をクリックします。既定の構成値が読み込まれ、[Client.dll.config] タブの内容が復元されます。
変更の検証
保存した変更が WCF テスト クライアントに読み込まれると、WCF スキーマに対して構成の有効性のチェックが行われます。エラーが見つかった場合は、エラーの詳細を示すダイアログ ボックスが表示されます。
プロキシの生成中、バイナリのコンパイル中、またはサービスの呼び出し中は、編集をサポートするメニュー項目 ([...の編集]、[...の復元] など) が無効になります。更新された構成が WCF テスト クライアントに読み込まれるときは、サービスの呼び出しも無効になります。
クライアント構成の保持
[ツール] メニューの [オプション] で表示される [クライアント構成] タブには、[サービスの起動時に常に構成を再生成する] チェック ボックスがあり、既定でオンになっています。このチェック ボックスがオンの場合は、WCF テスト クライアントによってサービスが読み込まれるたびに、最新のサービス コントラクトとサービスの App.config ファイルに基づいて構成ファイルが再生成されます。
WCF サービスのクライアント構成を編集した場合、その更新されたファイルを常に使用してサービスをデバッグするには、[サービスの起動時に常に構成を再生成する] チェック ボックスをオフにします。このようにすると、サービスを更新して WCF テスト クライアントを再び開いた場合でも、Client.dll.config ファイルとして使用されるのは、更新されたサービスに基づいて再生成されたファイルではなく、以前に更新したファイルになります。
ただし、再生成されたプロキシとの一貫性を保つために、構成ファイルの編集が必要になる場合があります。サービスを更新したことが原因で、再生成されたプロキシと構成ファイルが一致しなくなると、サービスを呼び出したときにエラーが発生します。
注意 : |
---|
変更したクライアント構成ファイルを後で再利用することにした場合、該当するファイルは次の場所で見つけることができます。 \Documents and Settings\[ユーザー アカウント]\My Documents\Test Client Projects クライアント構成ファイルに格納されている更新された資格情報は、このフォルダのアクセス制御リスト (ACL) によって保護されています。 |
サービスの追加、削除、および更新
サービスの追加
WCF テスト クライアントにサービスを追加するには、[ファイル] メニューの [サービスの追加] をクリックします。次に、追加するサービスの URI (エンドポイント アドレス) を入力する必要があります。サービスのアドレスには、MEX アドレスまたは WSDL アドレスを指定できます。
[最近のサービス] サブメニューには、最近追加されたサービスのエンドポイントが 10 個まで一覧表示されます。いずれかをクリックすると、選択したサービスが WCF テスト クライアントに追加されます。
サービスのツリーで、ルートの [マイ サービス プロジェクト] を右クリックし、[サービスの追加] をクリックする方法でも、同じ結果を得ることができます。
プロキシの生成中、バイナリのコンパイル中、またはサービスの呼び出し中は、サービスの追加をサポートするメニュー項目が無効になります。また、サービスの呼び出しも無効になります。
サービスの削除
WCF テスト クライアントからサービスを削除するには、削除するサービスのサービス ルートを右クリックし、[サービスの削除] をクリックします。
プロキシの生成中、バイナリのコンパイル中、またはサービスの呼び出し中は、サービスの削除をサポートするメニュー項目が無効になります。また、サービスの呼び出しも無効になります。
サービスの更新
WCF テスト クライアントの実行中にサービスに変更を加えた場合、そのサービスに対する WCF テスト クライアントの実装を最新の状態に保つには、サービスのサービス ルートを右クリックし、[サービスを最新の情報に更新] をクリックします。更新後、サービスの状態はリセットされます。
プロキシの生成中、バイナリのコンパイル中、またはサービスの呼び出し中は、サービスの更新をサポートするメニュー項目が無効になります。また、サービスの呼び出しも無効になります。
テスト クライアントが生成するファイルの場所
既定では、WCF テスト クライアントによって生成されたクライアント コードと構成ファイルは "%appdata%\Local\temp\Test Client Projects" フォルダに格納されます。このフォルダは、WCF テスト クライアントの終了後に削除されます。構成ファイルが WCF テスト クライアントで変更された場合、[サービスの起動時に常に構成を再生成する] チェック ボックスがオフになっていると、変更されたファイルは、マッピング (メタデータ アドレスとファイル名のマッピング) XML ファイルをインデックスとして、"My Documents\Test Client Projects Documents\Test Client Projects" の "Cached Config" フォルダにコピーされます。
コマンド ラインから WCF テスト クライアントを起動し、/ProjectPath
スイッチを使用して、生成されたファイルを格納する新しいパスを指定することもできます。また、/RestoreProjectPath
スイッチを使用して、既定の場所を復元することもできます。構文は次のとおりです。
wcfTestClient.exe /ProjectPath [desired location]
このコマンドを実行しても、WCF テスト クライアントは開きません。フォルダの場所が変更されるだけです。このコマンドは、WCF テスト クライアントが実行されているかどうかにかかわらず実行できます。新しい場所は、WCF テスト クライアントが再起動したときに適用されます。場所に関する情報は、レジストリか、"%appdata%\Local\temp\Test Client Projects" フォルダの WcfTestClient.exe.option ファイルに保存できます。
WCF テスト クライアントでサポートされる機能
WCF テスト クライアントがサポートする機能を次に示します。
- サービスの呼び出し : 要求/応答メッセージおよび一方向メッセージ
- バインディング : Svcutil.exe でサポートされるすべてのバインディング
- セッションの制御
- メッセージ コントラクト
- XML シリアル化
WCF テスト クライアントでサポートされない機能を次に示します。
- 型 : Stream、Message、XmlElement、XmlAttribute、XmlNode、IXmlSerializable インターフェイスを実装する型 (関連する XmlSchemaProviderAttribute 属性を含む)、XDocument 型と XElement 型、ADO.NET の DataTable 型と DataSet 型 (およびその型指定された派生クラス)
- 双方向コントラクト
- トランザクション
- セキュリティ : CardSpace、証明書、およびユーザー名/パスワード
- バインディング : WSFederationBinding、任意のコンテキスト バインディングおよび HTTPS バインディング、WebHttpBinding (JSON 応答メッセージ サポート)
WCF テスト クライアントの終了
WCF テスト クライアントは、次の方法で閉じることができます。
- [ファイル] メニューの [終了] をクリックします。または、WCF テスト クライアントのメイン ウィンドウで、[閉じる] をクリックします。WCF テスト クライアントが Visual Studio によって起動された場合は、どちらの手順でも WCF サービスの自動ホストがシャットダウンし、Visual Studio のデバッグ処理が停止します。
- 通知領域の [WCF サービス ホスト] アイコンを右クリックし、[終了] をクリックします。これにより、WCF サービスの自動ホストと WCF テスト クライアントの両方がシャットダウンし、Visual Studio のデバッグ処理が停止します。
関連項目
概念
Copyright © 2007 by Microsoft Corporation. All rights reserved.