403: запрещено при добавлении службы WCF в качестве веб-ссылки на клиент.Net

Я пытаюсь преобразовать службу WCF из http в https.

Он использует самозаверяющий сертификат.

Я могу перейти к службе с помощью веб-браузера, но при попытке добавить ее в качестве веб-ссылки в другое приложение.Net я получаю следующую ошибку:

При загрузке произошла ошибка https://localhost:40300/DBService/SPService.svc/_vti_bin/ListData.svc/$metadata,
Запрос не выполнен с состоянием HTTP 403: запрещено.

Я пытался редактировать web.config различными способами в соответствии с большим количеством Google, но все еще есть вышеупомянутая ошибка без возможности сузить причину...

Вот мой 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>

Может кто-нибудь помочь найти причину, или даже лучше указать мне на рабочий образец WCF поверх SSL с использованием basicHttpBinding?

Я потратил немало часов, пытаясь решить эту проблему, поэтому буду благодарен за ваше время. Если вам нужно, я могу предоставить доступ к моей машине.

0 ответов

Другие вопросы по тегам