Не удалось найти базовый адрес, соответствующий схеме HTTPS, ошибка в WCF, размещенной на IIS - PullRequest
1 голос
/ 08 февраля 2011

У меня почти все настроено, чтобы использовать мой сервис WCF через https. Приложение IIS запущено и работает, я могу прочитать svc и wsdl на localhost. Поэтому я вернулся в Visual Studio и попытался написать клиент, который может вызывать службу. При добавлении ServiceReference я получаю следующую ошибку:

Не удалось найти базовый адрес, который соответствует схеме https для конечной точки с привязкой MetadataExchangeHttpsBinding. Схемы зарегистрированных базовых адресов: [http].

Я пробовал на встроенном сервере разработки, а также на IIS Express. Они оба дали одну и ту же ошибку.

Вот мой web.config:

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding name="TransportSecurity">
          <security mode="Transport">
            <transport clientCredentialType="None" />
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="SmartCook2.Server.ISmartCookServiceBehavior">
          <serviceMetadata httpsGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    <services>
      <service behaviorConfiguration="SmartCook2.Server.ISmartCookServiceBehavior" 
        name="SmartCook2.Server.SmartCookService">
        <endpoint address="https://localhost:6344/SmartCookService.svc" 
          binding="wsHttpBinding" bindingConfiguration="TransportSecurity" 
          contract="SmartCook2.Server.ISmartCookService" />
        <endpoint address="mex" binding="mexHttpsBinding" 
          contract="IMetadataExchange" />
      </service>
    </services>
  </system.serviceModel>
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>

Что я делаю не так?

1 Ответ

0 голосов
/ 11 февраля 2011

Кажется, VS не нашел адрес правильно, так как он пропустил часть приложения.Таким образом, правильный адрес для ссылки на услугу:

https://localhost/IISHostedSmartCook/SmartCookService.svc

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