5

Visual Studio 2010 IDEを介してHTTPS対応のWCFサービスをサービス参照として追加しているときに、次の例外が発生しました

「https://abc.cloudapp.net/DataService.svc」のダウンロード中にエラーが発生しました。リクエストはHTTPステータス403:Forbiddenで失敗しました。メタデータには、解決できない参照が含まれています:'https://abc.cloudapp.net/DataService.svc'。HTTPリクエストは、クライアント認証スキーム「匿名」で禁止されていました。リモートサーバーがエラーを返しました:(403)禁止。サービスが現在のソリューションで定義されている場合は、ソリューションを構築して、サービス参照を再度追加してみてください。

これに対する解決策を教えてください。

4

5 に答える 5

9

もう 1 つの考えられる解決策は、資格情報マネージャーで設定することにより、使用する証明書を Visual Studio が認識できるようにすることです。

資格情報マネージャーを開き、[証明書ベースの資格情報] で [証明書ベースの資格情報の追加] をクリックします。

サービス参照の URL を入力し、ストアから証明書を選択します。

于 2014-12-12T01:12:02.470 に答える
3

問題はメタデータ バインディングです。https GET がメタデータとサービス自体に同じ URL を使用できるようにする必要があります。

<serviceMetadata httpsGetEnabled="true" />

これにより、WCF は HTTPS 経由でメタデータを提供できるようになります。

于 2012-06-24T17:57:36.833 に答える
0

以前にこの問題が発生しました。http://abc.cloudapp.net/DataService.svc(httpsがなくても正しい)を追加してみてください。サービスが追加されたら、web.configファイルをhttpからhttpsに変更してください。

于 2012-06-24T17:37:44.340 に答える
0

証明書をブラウザに追加することで問題が解決しました。

Internet Explorer を開く --> インターネット オプション --> コンテンツに移動 --> 証明書をクリック --> 証明書を個人または信頼できる発行元にインポート

次に、WCF サービスを使用してみます。警告メッセージが表示されますが、[OK] をクリックすると問題が解決します。

解決しない場合は、個人または信頼できる人の下のサーバーに同じ証明書をインポートします

于 2014-07-16T05:51:28.543 に答える
0

IE で https ベースの URL にアクセスして WSDL を取得できますか? 問題なく IE で WSDL を取得できる場合は、マシンに証明書がインストールされており、VS がクライアント証明書を使用できず、このエラーを返すことができません。マシンで WSDL を取得できない場合は、最初にクライアント証明書をマシンにインストールしてから再試行する必要があります。

Visual Studio でこの問題を回避したい場合は、IE を使用して HTTPS WCF サービス メタデータ wsdl ページを取得し、ローカル マシンに WSDL を保存できます。その後、VS2010 を開き、[Add ServiceReference] を選択すると、マシンに保存されている WSDL メタデータ ファイルにルーティングされます。これにより、Secure WCF サービスのプロキシ クラスが生成され、引き続き使用できます。

于 2012-06-24T18:08:07.880 に答える