Настройте привязку SSL для RESTful WCF. Как?
Мой текущий конфиг выглядит так:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<standardEndpoints>
<webHttpEndpoint>
<!--Set limit to 5 megabytes-->
<standardEndpoint helpEnabled="true" automaticFormatSelectionEnabled="true" maxReceivedMessageSize="5242880">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
</standardEndpoint>
</webHttpEndpoint>
</standardEndpoints>
</system.serviceModel>
Это работает когда у меняhttp
а также https
привязки оба настроены для моего сайта.
Я подключаюсь к сервису через https и все прекрасно работает.
Теперь я хочу удалитьhttp
обязательна на IIS полностью. И я начал получать ошибку, как это:
Не удалось найти базовый адрес, который соответствует схеме http для конечной точки с привязкой WebHttpBinding. Схемы зарегистрированных базовых адресов: [https].
[InvalidOperationException: не удалось найти базовый адрес, который соответствует схеме http для конечной точки с привязкой WebHttpBinding. Схемы зарегистрированных базовых адресов: [https].]
System.ServiceModel.ServiceHostBase.MakeAbsoluteUri (UrilativeOrAbsoluteUri, привязка привязки, UriSchemeKeyedCollection baseAddresses) +16582113
System.ServiceModel.Description.ConfigLoader.ConfigureEndpointAddress (ServiceEndpointElement serviceEndpointElement, узел ServiceHostBase, конечная точка ServiceEndpoint) +117
System.ServiceModel.Description.ConfigLoader.ConfigureEndpoint (StandardEndpointElement standardEndpointElement, ServiceEndpointElement serviceEndpointElement, контекст ContextInformation, узел ServiceHostBase, описание ServiceDescription, ServiceEndpoint & конечная точка, логическое значение omitSettingEndpoint937)
System.ServiceModel.Description.ConfigLoader.LookupEndpoint (ServiceEndpointElement serviceEndpointElement, контекст ContextInformation, узел ServiceHostBase, описание ServiceDescription, логическое значение omitSettingEndpointAddress) +8728167
System.ServiceModel.Web.WebServiceHost.AddAutomaticWebHttpBindingEndpoints (узел ServiceHost, IDictionary`2 ImpleConConcts, строка String multipleContractsErrorMessage, строка String StandardEndpointKind) +982
System.ServiceModel.Web.WebServiceHost.OnOpening () +311
System.ServiceModel.Channels.CommunicationObject.Open (TimeSpan timeout) +612
System.ServiceModel.HostingManager.ActivateService (String normalizedVirtualPath) +255
System.ServiceModel.HostingManager.EnsureServiceAvailable (String normalizedVirtualPath) +1172
[ServiceActivationException: служба '/ DEMO / mobile' не может быть активирована из-за исключения во время компиляции. Сообщение об исключении: Не удалось найти базовый адрес, который соответствует схеме http для конечной точки с привязкой WebHttpBinding. Схемы зарегистрированных базовых адресов: [https] ..] System.Runtime.AsyncResult.End (результат IAsyncResult) +901424
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End (результат IAsyncResult) +178702
System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion (IAsyncResult ar) +136
Я нашел несколько примеров для WCF, но REST WCF выглядит иначе на стороне конфигурации, и я хочу понять,Почему это соответствует. Судя по моему конфигу - он вообще не должен работать через SSL, ноделает работать при наличии https привязки ..