【问题标题】:How do I add TLS to a WCF service?如何将 TLS 添加到 WCF 服务?
【发布时间】:2014-09-26 10:29:55
【问题描述】:

我一直在尝试将 TLS 添加到我创建的 WCF 服务中。 一切正常,直到我尝试通过 https 而不是 http 访问服务。 将 wcf 服务添加到 wcf 测试客户端时,我得到了这个:

错误:无法从 [THELINK] 获取元数据如果这是 Windows (R) 请访问您有权访问的通信基础服务 检查您是否已在指定位置启用元数据发布 地址。有关启用元数据发布的帮助,请参阅 [an MS 链接] Exchange 错误 URI:[THELINK]
上的 MSDN 文档 元数据包含无法解析的引用:“[THELINK]”。
在 [THELINK] 上没有可以接受的端点监听 信息。这通常是由不正确的地址或 SOAP 操作引起的。 有关更多详细信息,请参阅 InnerException(如果存在)。远程服务器 返回错误:(403) Forbidden.HTTP GET 错误 URI:[THELINK]
下载“[THELINK]”时出错。请求失败 HTTP 状态 403:禁止。

抱歉更换链接,但我是新手,我没有声誉,看来:)

问候, 莫腾

【问题讨论】:

  • 那么您是否为您的 https 端点启用了元数据发布?
  • 也许这对你有帮助? blog.rsuter.com/?p=281
  • web.config 会有所帮助

标签: c# web-services wcf


【解决方案1】:

你有没有

<behaviors> <serviceBehaviors> <behavior name="YourSerivceBehaviourName"> <serviceMetadata httpsGetEnabled="true" /> <-- this bit ? ... ... 被你的

引用

&lt;service name="...." behaviorConfiguration="YourSerivceBehaviourName"&gt;

或者一个

<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />

在您的 web.config 中?

如果证书不是我找到的真实证书,测试客户端也会抱怨......即用于测试的自我认证证书。 但是 403 似乎表明您提供的任何凭据都不正确,SSL 绑定中的 clientCredentialType 设置是什么?

如果您在浏览器中点击自定义错误关闭的链接会发生什么.. 这可能会给你一些更有用的信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多