Не удалось найти базовый адрес, соответствующий схеме https для конечной точки со связыванием WebHttpBinding. Схемы зарегистрированных базовых адресов: [http]
Я прошел через несколько веб-сайтов, которые предлагают решение этой проблемы, но все же я не могу избавиться от этого.
Мой WebConfig:
<bindings>
<webHttpBinding>
<binding name="SecureBasicRest">
<security mode="Transport" />
</binding>
</webHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="svcBehavior">
<serviceMetadata httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="svcEndpoint">
<webHttp helpEnabled="true"/>
<enableWebScript/>
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service name="SvcContract.Authenticate" behaviorConfiguration="svcBehavior">
<endpoint binding="webHttpBinding" bindingConfiguration="SecureBasicRest"
behaviorConfiguration="svcEndpoint" name="webHttp"
contract="SvcContract.Authenticate" />
</service>
</services>
Надеюсь, кто-нибудь может помочь. Заранее спасибо!.
редактировать
Я должен сделать эту работу с
https://локальный: 6188/Аутентифицировать/Логин имя пользователя = пользователя и пароль = передать & ф = 127.0.0.1
Ответы
Ответ 1
Измените <serviceMetadata httpsGetEnabled="true"/>
на <serviceMetadata httpsGetEnabled="false"/>
. Вы говорите WCF использовать https для конечной точки метаданных, и я вижу, что вы выставляете свой сервис на http, а затем вы получаете ошибку в заголовке.
Вам также нужно установить <security mode="None"/>
если вы хотите использовать HTTP, как подсказывает ваш URL.
Ответ 2
Вам нужно будет включить привязку https на стороне сервера. IISExpress в этом случае. Выберите "Свойства" на веб-сайте в обозревателе решений (не дважды щелкните). В области свойств вам необходимо включить SSL.
Ответ 3
В теге конечной точки вам нужно указать адрес свойства = ""
<endpoint address="" binding="webHttpBinding" bindingConfiguration="SecureBasicRest" behaviorConfiguration="svcEndpoint" name="webHttp" contract="SvcContract.Authenticate" />
Ответ 4
Чтобы заставить его работать, вам нужно заменить пробег этой строки кода
serviceMetadata httpGetEnabled="true"/>
http вместо https
и security mode="None" />