我正在集成 ASP.NET 应用程序,该应用程序必须使用第 3 方 SOAP Web 服务,该服务只能通过 HTTPS 访问。我在 VS2012 中添加了一个带有 HTTPS URL 的服务引用,VS 发现该服务很好。但是当我使用 VS 创建的代理来使用 Web 服务时,它使用常规 HTTP。
我怀疑我应该更改 web.config 中的绑定,但我似乎不知道该怎么做。如何设置 Web 服务以使用 HTTPS?
我正在集成 ASP.NET 应用程序,该应用程序必须使用第 3 方 SOAP Web 服务,该服务只能通过 HTTPS 访问。我在 VS2012 中添加了一个带有 HTTPS URL 的服务引用,VS 发现该服务很好。但是当我使用 VS 创建的代理来使用 Web 服务时,它使用常规 HTTP。
我怀疑我应该更改 web.config 中的绑定,但我似乎不知道该怎么做。如何设置 Web 服务以使用 HTTPS?
您需要确保客户端使用的绑定已mode="Transport"
设置安全性(并且客户端绑定与服务器绑定匹配),例如:
<binding name="yourClientSecureBinding">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
并且客户端确实访问了 Web 服务的 http S :// 地址:
<client>
<endpoint bindingConfiguration="yourClientSecureBinding"
address="https://..."
... />
</client>
您没有提供任何代码,因此对于初学者来说,请查看以下帖子:此处(Microsoft 开发人员网络 - 使用匿名客户端的传输安全)和此处(带有 BasicHTTPBinding 的 Https)。