組み込みの WCF サービス ホストと、Visual Studio 2008 の組み込み開発 Web サーバーによるホスティングで動作する小さな WCF Web サービスがあります。
これらのホスティング環境では、サービス メソッドを呼び出すために WCF テスト クライアントに依存しています。
現在、次のテスト段階で問題が発生しています。
WinXP 開発マシンの IIS 5.1 でホストしていますが、おそらく問題は、WCF テスト クライアントを使い続けることができないことだと思います。何が起こっているかは次のとおりです。
ケース 1: 「匿名アクセス」がチェックされている (有効)
WCF テスト クライアント UI が適切に表示され、WebMethods と [INVOKE] ボタンが表示されます。しかし、INVOKE をクリックすると、Windows 認証を必要とするバックエンド データ ストア (サード パーティ製品) に接続できません。product.DLL から返されたエラーを投稿できますが、関連性はないと思います。
ケース 2: 「匿名アクセス」がチェックされていない (無効)
WCF テスト クライアント UI は、正しく初期化することさえできません。これを調査したところ、MEX (WS-Metadata Exchange) には「匿名アクセス」が必要であり、(明らかに) WCF テスト クライアントには MEX が必要であることがわかりました。返されるエラーの主なスニペットを次に示します。
Error: Cannot obtain Metadata from http://localhost/wcfiishost
The remote server returned an error: (401) Unauthorized.HTTP GET Error
URI: http://localhost/wcfiishost
There was an error downloading 'http://localhost/wcfiishost'.
The request failed with the error message:
Security settings for this service require 'Anonymous' Authentication but it is not enabled for the IIS application that hosts this service
バインディング オプション、メッセージ セキュリティなどの説明がたくさんあり、正直に言って理解できません。以下は私の見解ですが、皆様のご意見をお待ちしております。
(a) Windows 認証を使用するように WCF Web サービスを構成する必要があることを知っているため、IIS でサービスをホストしている場合、WCF テスト クライアントを引き続き使用することはできないと判断しました。それが私にとって有用であるよりも効果的に長生きしたこと。Anonymous なしでは WCFTestClient は機能しないため、時間をかけて Web クライアントを作成する必要があります。
(また)
(b) WCF テスト クライアントとホステッド サービスが適切に構成されていれば、それを使用することができます (このための特別な構成手法が何であるかはわかりません)。
どちらが正しい?WCFTestClient の使用をやめる時が来ましたか、それとも両方の方法で使用する方法はありますか? アドバイスをいただきありがとうございます。
編集: 2009 年 6 月 11 日
他の誰かがこの質問について私を助けるために私が提供できるものは他にありますか?