400通过Https的错误请求WCF wsHttpBinding

本文关键字:WCF wsHttpBinding 请求 错误 Https 400通过 | 更新日期: 2023-09-27 18:00:14

我正在创建一个WCF服务并公开两个端点。一个是basicHttpBinding,另一个是wsHttpBinding。一旦我将其发布到ISS,basicHttpBinding端点工作正常,但wsHttpEndPoint抛出错误400。

有很多关于WCF 400错误的帖子,但我无法解决我的问题。

这是我的配置:

<behaviors>
  <serviceBehaviors>
    <behavior name="ServiceBehaviour">
      <serviceMetadata httpsGetEnabled="true" httpGetEnabled="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<bindings>
  <basicHttpBinding>
    <binding name="BasicHttpBinding">
      <security mode="Transport" />
    </binding>
  </basicHttpBinding>
  <wsHttpBinding>
    <binding name="WsPlainBinding">
      <security mode="Transport">
        <transport clientCredentialType="None" />
      </security>
    </binding>
  </wsHttpBinding>
</bindings>
<services>
  <service behaviorConfiguration="ServiceBehaviour" name="WcfService.Service1">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding"
      contract="WcfService.IService" />
    <endpoint address="wshttp"
      binding="wsHttpBinding" bindingConfiguration="WsPlainBinding"
contract="WcfService.IService" />
  </service>
</services>

我使用的是IIS中托管的服务生成的wsdl中的地址。尽管如此,我仍然无法通过Visual Studio使用"添加服务引用"或通过浏览器到达终点。

400通过Https的错误请求WCF wsHttpBinding

在IIS中,转到管理网站->高级设置和编辑启用协议。添加,https。希望这能帮助