Конфигурация WCF с https - PullRequest
       16

Конфигурация WCF с https

0 голосов
/ 13 января 2012

У меня не получается установить HTTPS в моей среде разработки на существующий сервис WCF.Служба была в порядке с http.Я использую файл hosts для перенаправления на localhost, который работает для http.

Конфигурация моей веб-службы

<services>
  <service name="EnfieldWebService">
    <endpoint address="https://enfieldwebservice.devserver.int/EnfieldWebService.svc"
    binding="basicHttpBinding" bindingConfiguration="transportSecurity" />
  </service>
</services>
<bindings>
  <basicHttpBinding>
    <binding name="transportSecurity">
      <security mode="Transport">
      </security>
    </binding>
  </basicHttpBinding>
</bindings>

Конфигурация клиента

<bindings>
        <basicHttpBinding>
            <binding name="BasicHttpBinding_IEnfieldWebService" closeTimeout="00:01:00"
                openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                useDefaultWebProxy="true">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <security mode="Transport">
                    <transport clientCredentialType="None" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="UserName" algorithmSuite="Default" />
                </security>
            </binding>
        </basicHttpBinding>
    </bindings>
    <client>
        <endpoint address="https://enfieldwebservice.devserver.int/EnfieldWebService.svc"
            binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IEnfieldWebService"
            contract="HttpsEnfieldService.IEnfieldWebService" name="BasicHttpBinding_IEnfieldWebService" />
    </client>

ИРезультаты модульного теста:

System.ServiceModel.EndpointNotFoundException: не было прослушивания конечной точки на https://enfieldwebservice.devserver.int/EnfieldWebService.svc, которая могла бы принять сообщение.Это часто вызвано неправильным адресом или действием SOAP.Смотрите InnerException, если имеется, для более подробной информации.---> System.Net.WebException: удаленный сервер возвратил ошибку: (404) Not Found.

1 Ответ

0 голосов
/ 13 января 2012

Использовал редактор конфигурации WCF, чтобы переписать по существу ту же конфигурацию.Все, что было удалено, было

<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

Оказывается, эта функция совместима только с http, и нарушает https.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...