5

通过 Visual Studio 2010 IDE 添加启用 HTTPS 的 WCF 服务作为服务引用时,发生以下异常

下载“https://abc.cloudapp.net/DataService.svc”时出错。请求失败,HTTP 状态为 403:禁止。元数据包含无法解析的引用:“https://abc.cloudapp.net/DataService.svc”。客户端身份验证方案“匿名”禁止 HTTP 请求。远程服务器返回错误:(403) Forbidden。如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。

请为此建议我一个解决方案。

4

5 回答 5

9

另一种可能的解决方案是通过在凭据管理器中设置它来确保 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

您可以在 IE 上访问基于 https 的 URL 并获取 WSDL 吗?如果您可以在 IE 中毫无问题地获取 WSDL,那么您的机器中确实安装了证书,而 VS 不知何故无法使用客户端证书并返回此错误。如果您无法在您的机器中获取 WSDL,那么您需要先在您的机器中安装客户端证书,然后重试。

如果您想使用 Visual Studio 解决此问题,您可以使用 IE 获取 HTTPS WCF 服务元数据 wsdl 页面并将 WSDL 保存在本地计算机上。之后打开 VS2010,当你选择“添加服务引用”时,路由到你机器上保存的 WSDL 元数据文件,这样会为你的 Secure WCF 服务生成一个代理类,你仍然可以使用它。

于 2012-06-24T18:08:07.880 回答
0

通过将我的证书添加到浏览器中,我的问题得到了解决。

打开 Internet Explorer --> Internet 选项 --> 转到内容 --> 单击证书 --> 将您的证书导入个人或受信任的发布者

然后尝试使用 WCF 服务,它会警告您一条消息,但单击确定,这将解决问题。

如果没有解决,请在“个人”或“受信任的人”下的“服务器”中导入相同的证书

于 2014-07-16T05:51:28.543 回答