403:将WCF服务添加为.Net客户端的Web引用时禁止

时间:2014-08-16 21:00:59

标签: wcf ssl basichttpbinding wcf-endpoint

我正在尝试将WCF服务从http转换为https。

它使用的是自签名证书。

我可以使用网络浏览器浏览该服务,但当我尝试将其作为网络参考添加到另一个.Net应用程序时,我收到以下错误:

  

下载https://localhost:40300/DBService/SPService.svc/_vti_bin/ListData.svc/$metadata时出错   请求失败,HTTP状态为403:Forbidden。

我已经尝试过根据很多Googling以各种方式编辑web.config,但仍然有上述错误,无法缩小原因......

这是我的web.config:

<?xml version="1.0"?>
<configuration>
  <appSettings>
      <add key="DatabaseServer" value="Server2008"/>
      <add key="Database" value="Licensor"/>
      <add key="VerboseLogging" value="True"/>
    </appSettings>
  <system.web>
  <compilation targetFramework="4.0"/>
  <httpRuntime/>
  </system.web>
  <system.serviceModel>
    <services>
            <service name="DBService.SPService">
                <endpoint address="https://localhost/DBService/SPService.svc"
                        binding="basicHttpBinding"
                        bindingConfiguration="secureHttpBinding"
                        contract="DBService.IService1"/>

                <endpoint address="mex"
                        binding="mexHttpsBinding"
                        contract="IMetadataExchange" />
            </service>
    </services>
    <bindings>
      <basicHttpBinding>
        <binding name="secureHttpBinding">
          <security mode="Transport">
            <transport clientCredentialType="None"/>
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <!--<protocolMapping>
      <add binding="basicHttpsBinding" scheme="https"/>
    </protocolMapping>-->
    <serviceHostingEnvironment aspNetCompatibilityEnabled="false" multipleSiteBindingsEnabled="true"/>
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <directoryBrowse enabled="true"/>
  </system.webServer>
</configuration>

任何人都可以帮助找到原因,或者甚至更好地指出我使用basicHttpBinding进行基于SSL的WCF工作样本?

我花了几个小时试图解决这个问题,所以非常感谢你在这个问题上的时间。如果您需要我可以访问我的机器。

0 个答案:

没有答案