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

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

Мой 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://localhost:6188/Authenticate/Login?username=user&password=pass&ip=127.0.0.1

Ответы [ 4 ]

53 голосов
/ 22 марта 2012

Измените <serviceMetadata httpsGetEnabled="true"/> на <serviceMetadata httpsGetEnabled="false"/>.Вы говорите WCF использовать https для конечной точки метаданных, и я вижу, что вы выставляете свой сервис на http, а затем вы получаете ошибку в заголовке.

Вы также должны установить <security mode="None" />, еслиВы хотите использовать HTTP, как подсказывает ваш URL.

23 голосов
/ 15 декабря 2013

Вам необходимо включить привязку https на стороне сервера. IISExpress в этом случае. Выберите Свойства на сайте проекта в обозревателе решений (не двойной щелчок). В панели свойств вам нужно включить SSL.

0 голосов
/ 05 октября 2017

В теге конечной точки необходимо указать адрес свойства = ""

<endpoint address="" binding="webHttpBinding" bindingConfiguration="SecureBasicRest" behaviorConfiguration="svcEndpoint" name="webHttp" contract="SvcContract.Authenticate" />

0 голосов
/ 13 сентября 2013

Чтобы все заработало, вам нужно заменить строку кода serviceMetadata httpGetEnabled="true"/> http вместо https и security mode="None" />

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