次の方法で共有


WCF テスト クライアント (WcfTestClient.exe)

Windows Communication Foundation (WCF) テスト クライアント (WcfTestClient.exe) は、ユーザーがテスト パラメーターを入力し、その入力をサービスに送信し、サービスが返す応答を表示できるようにする GUI ツールです。 WCF サービス ホストと組み合わせると、シームレスなサービス テスト エクスペリエンスが提供されます。

WCF テスト クライアント (WcfTestClient.exe) は、通常、次の場所にあります。 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE - Community は、インストールされている Visual Studio のレベルに応じて、"エンタープライズ"、"プロフェッショナル"、または "コミュニティ" のいずれかになります。

テスト クライアントを使用するシナリオ

次のセクションでは、WCF テスト クライアントを使用して開発プロセスを効率化できる最も一般的なシナリオについて説明します。

Visual Studio 内

WCF サービス ホストが 1 つのサービスで WCF テスト クライアントを起動する

新しい WCF サービス プロジェクトを作成し、F5 キーを押してデバッガーを起動すると、WCF サービス ホストがプロジェクトでサービスのホストを開始します。 次に、WCF テスト クライアントが開き、構成ファイルで定義されているサービス エンドポイントの一覧が表示されます。 パラメーターをテストしてサービスを呼び出し、このプロセスを繰り返してサービスを継続的にテストおよび検証できます。

WCF サービス ホストが複数のサービスを使用して WCF テスト クライアントを起動する

WCF テスト クライアントを使用して、複数のサービスを含むサービス プロジェクトをデバッグすることもできます。 WCF テスト クライアントが開くと、プロジェクト内のサービスの一覧が自動的に反復処理され、テスト用に開かれます。

Visual Studio の外部

また、Visual Studio の外部で WCF テスト クライアント (WcfTestClient.exe) を呼び出して、インターネット上の任意のサービスをテストすることもできます。 ツールを見つけるには、次の場所に移動します。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE (マシンにインストールされている Visual Studio のレベルに応じて、コミュニティに "Enterprise"、"Professional"、または "Community" のいずれかを指定できます)

ツールを使用するには、ファイル名をダブルクリックしてこの場所から開くか、コマンド ラインから起動します。

WCF テスト クライアントは、コマンド ライン引数として任意の数の URI を受け取ります。 これらは、テストできるサービスの URI です。

wcfTestClient.exe URI1 URI2 …

[WCF テスト クライアント] ウィンドウが開いた後、[ファイル>サービスの追加] をクリックし、開くサービスのエンドポイント アドレスを入力します。

WCF テスト クライアント のユーザー インターフェイス

WCF テスト クライアントは、1 つのサービスまたは複数のサービスで使用できます。

サービス操作

WCF テスト クライアントのメイン ウィンドウの左側のウィンドウには、使用可能なすべてのサービスと、それぞれのエンドポイントと操作が一覧表示されます。

操作をダブルクリックすると、操作の名前を持つ新しいタブ内の右側のペインにその内容を表示できます。

左側のウィンドウには、クライアント構成ファイルも一覧表示されます。 いずれかの項目をダブルクリックして、右ペインの新しいタブ付きウィンドウにファイルの内容を表示します。

テスト パラメーターの入力

テスト パラメーターを表示するには、操作をダブルクリックして右側のウィンドウで開きます。 パラメーターは既定で [書式設定済み ] ビューに表示され、サービスをテストするためのパラメーターに任意の値を入力できます。

メッセージの XML を表示するには、[ XML] をクリックします。 サービスに送信するには、[ 呼び出し] をクリックします。

DataSet パラメーターの場合は、[編集] の横にある [...] ボタンをクリックして、DataGrid を表示する新しいウィンドウで編集します。 [データセットのコピー] ボタンと [ データ セット貼り付け] ボタンの外観に注目してください。 DataSet オブジェクトのスキーマが最初の編集時に不明な場合、DataGrid は空です。 同じスキーマを持つ DataSet オブジェクトを DataGrid の現在のオブジェクトに貼り付ける必要があります。 (貼り付け操作の前に、スキーマを別の場所からコピーする必要があることに注意してください)。[データセットのコピー] ボタンをクリックして、将来の使用のために Dataset オブジェクトを コピー することもできます。

サービスの応答は、テスト パラメーターの下に表示されます。

予期される戻り値が文字列の場合、指定された入力が引用符で囲まれていない場合でも、結果は引用符で囲まれた文字列として表示されます。

サービスのコントラクトを作成したときに特定の操作を一方向として指定した場合、サービス応答は表示されません。 メッセージが配信キューに登録されるとすぐに、メッセージが正常に送信されたことを通知するダイアログ ボックスが表示されます。

セッションのサポート

サービス操作のタブの [ 新しいプロキシの開始 ] チェック ボックスをオンにすると、セッションのサポートを切り替えることができます。 このボックスはデフォルトでクリアされています。

特定の操作 (または同じサービス エンドポイント内の別の操作) のテスト パラメーターを入力し、チェック ボックスをオフにして [ 呼び出し ] を複数回クリックすると、これらの操作は 1 つのプロキシを共有し、サービスの状態は複数の操作にわたって保持されます。

[ 新しいプロキシの開始 ] チェック ボックスがオンの場合、 呼び出しごとに新しいプロキシが開始され、前のセッション シナリオが終了し、サービスの状態がリセットされます。

クライアント構成の編集

WCF テスト クライアントのメイン ウィンドウの左側のウィンドウには、クライアント構成ファイルが一覧表示されます。 いずれかの項目をダブルクリックして、右側のウィンドウにファイルの内容を表示します。

サービス構成エディターを使用して編集する

左側のウィンドウで [構成ファイル ] を右クリックし、コンテキスト メニューの [SvcConfigEditor を使用して編集] を選択します。 サービス構成エディターは、クライアント構成コンテンツと共に起動されます。 構成を編集し、ツール内に保存できます。

サービス構成エディターでファイルを保存した後、WCF テスト クライアントは、ファイルが外部で変更されたことを通知する警告メッセージを表示し、再度読み込むかどうかを確認します。

[はい] を選択した場合、[Client.dll.config] タブの構成コンテンツには、エディターで行った変更が反映されます。

[いいえ] を選択した場合、[Client.dll.config] タブの構成コンテンツは変更されず、変更されたコンテンツはソース ファイルに自動的に保存されます。

既定の構成に復元する

すべての変更を取り消し、既定のクライアント構成に復元する場合は、左側のウィンドウで [構成ファイル ] を右クリックし、コンテキスト メニューの [ 既定の構成に復元] を選択します。既定の構成値が読み込まれ、"Client.dll.config" タブのコンテンツが復元されます。

変更の検証

保存された変更が WCF テスト クライアントに読み込まれると、構成が WCF スキーマに対して有効かどうかを確認します。 エラーが見つかった場合は、エラーの詳細を表示するダイアログ ボックスが表示されます。

プロキシの生成、バイナリ コンパイル、またはサービスの呼び出し中に、編集をサポートするメニュー項目 (つまり、"...の編集"、"復元 ...."" など) は無効になります。 更新された構成を WCF テスト クライアントに読み込むと、サービス呼び出しも無効になります。

クライアント構成の保持

Tools->Options->Client の [構成] タブには、[サービスの起動時に構成を常に再生成する] オプションが含まれています。このオプションは既定で有効になっています。 このオプションは、WCF テスト クライアントがサービスを読み込むたびに、最新のサービス コントラクトとサービス App.config ファイルに基づいて構成ファイルを再生成することを指定します。

WCF サービスのクライアント構成を編集し、この更新されたファイルを常に使用してサービスをデバッグする場合は、[ 再生成 ] オプションをオフにすることができます。 これにより、サービスを更新して WCF テスト クライアントを再度開いた場合でも、Client.dll.config ファイルは、更新されたサービスに基づいて再生成されたファイルではなく、以前に更新したものです。

ただし、構成ファイルを編集して、再生成されたプロキシと一致させる必要がある場合があります。 更新されたサービスが原因で再生成されたプロキシと構成ファイルが一致しない場合、サービスが呼び出されたときにエラーが発生します。

注意事項

クライアント構成ファイルを変更し、将来再利用することを選択した場合は、次の場所でそのファイルを見つけることができます。

\Documents and Settings\[ユーザーアカウント]\マイドキュメント\テストクライアントプロジェクト.

クライアント構成ファイルに格納されている更新された資格情報は、このフォルダーのアクセス制御リスト (ACL) によって保護されます。

サービスの追加、削除、および更新

サービスの追加

[ File->Add Service ] をクリックして、WCF テスト クライアントにサービスを追加します。 その後、追加するサービスの URI (エンドポイント アドレス) を入力する必要があります。 サービスのアドレスには、mex アドレスまたは WSDL アドレスを指定できます。

最近追加された 10 個のサービスのエンドポイントの一覧は、[ 最近使用したサービス ] サブメニューにも表示されます。 いずれかを選択すると、指定したサービスが WCF テスト クライアントに追加されます。

サービス ツリーの [ マイ サービス プロジェクト] のルートを右クリックし、[サービスの 追加] を選択して同じ結果を得ることもできます。

プロキシの生成、バイナリ コンパイル、またはサービスの呼び出し中に、サービスの追加をサポートするメニュー項目は無効になります。 サービス呼び出しも無効になっています。

サービスの削除

削除するサービスのサービス ルートを右クリックし、[ サービスの削除 ] を選択して WCF テスト クライアントからサービスを削除します。

プロキシの生成、バイナリ コンパイル、またはサービスの呼び出し中に、サービスの削除をサポートするメニュー項目は無効になります。 サービス呼び出しも無効になっています。

サービスの更新

WCF テスト クライアントの実行中にサービスに変更が加えられたときに、そのサービスの WCF テスト クライアントの実装が -date up-toであることを確認する場合は、サービスのサービス ルートを右クリックし、[ サービスの更新] を選択します。 更新後、サービスの状態がリセットされることに注意してください。

プロキシの生成、バイナリ コンパイル、またはサービスの呼び出し中に、サービスの更新をサポートするメニュー項目は無効になります。 サービス呼び出しも無効になっています。

テスト クライアントによって生成されたファイルの場所

既定では、WCF テスト クライアントは生成されたクライアント コードと構成ファイルを "%appdata%\Local\temp\Test Client Projects" フォルダーに格納します。 このフォルダーは、WCF テスト クライアントの終了後に削除されます。 WCF テスト クライアントで構成ファイルが変更され、[ サービスの起動時に構成を常に再生成する ] オプションが無効になっている場合、変更されたファイルは、インデックスとしてマッピング (metadata-address-to-file-name) XML ファイルを使用して 、"My Documents\Test Client Projects" の下の "CachedConfig" フォルダーにコピーされます。

また、コマンド ラインで 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 テスト クライアントでサポートされていない機能の一覧を次に示します。

WCF テスト クライアントの終了

WCF テスト クライアントは、次の方法で閉じます。

  • [ファイル] メニューの [終了] をクリックします。 または、WCF テスト クライアントのメイン ウィンドウで、[ 閉じる] をクリックします。 これらのアクションはどちらも、WCF サービスの自動ホストをシャットダウンし、VISUAL Studio によって WCF テスト クライアントが起動された場合に Visual Studio デバッグ プロセスを停止します。

  • 通知領域で WCF サービス ホスト アイコンを右クリックし、[終了] をクリックします これにより、WCF サービス自動ホストと WCF テスト クライアントの両方がシャットダウンされ、Visual Studio のデバッグ プロセスが停止されます。

こちらも参照ください