HTTPS WCF Basic HttpBindings получение HTTP 403

#c# #wcf #iis #ssl

#c# #wcf #iis #ssl

Вопрос:

У меня есть веб-сервер HTTPS на WCF, размещенный под IIS 7.5. Я установил настройки SSL для требования SSL и игнорирования клиентских сертификатов.

Когда я пытаюсь добавить веб-ссылку в Visual Studio, я получаю следующую ошибку. Как мне решить эту проблему?

Я вижу, что он пытается запросить ?disco , используя HTTP вместо HTTPS. Я думаю, что это проблема, но я не уверен, как ее решить.

Документ по URL https://testserver/service1.svc?wsdl не был распознан как известный тип документа.
Сообщение об ошибке от каждого известного типа может помочь вам устранить проблему:
— Отчет из «DISCO Document» — «Произошла ошибка загрузки»http://testserver/service1.svc?disco ‘.’.
— Ошибка запроса с HTTP-статусом 403: Запрещено.
— Отчет из «Документа WSDL» — «Формат документа не распознан (тип содержимого — «текст / html; кодировка = UTF-8″)».
— Отчет из «Схемы XML» — «Формат документа не распознан (тип содержимого — «текст / html;кодировка = UTF-8′).’.
— Отчет от ‘https://testserver/service1.svc?wsdl ‘ is ‘Формат документа не распознается (тип содержимого ‘text/html; кодировка =UTF-8′).’.

Комментарии:

1. Когда вы пытаетесь просмотреть URL-адрес в своем веб-браузере testserver/service1.svc?wsdl , что вы получаете?

2. Я не получаю никаких ошибок, когда попадаю на страницу. у меня есть сертификат, которому доверяют в моем корне

Ответ №1:

Поскольку вы можете получить WSDL через свой веб-браузер, возможная проблема может быть связана с размещением службы в IIS и настройкой привязок сайта. Некоторое время назад это была известная проблема на форумах, ознакомьтесь с этими ссылками:

Удачи!

Ответ №2:

Мне пришлось отключить Require SSL, чтобы заставить его работать. Я не уверен, почему disco переходит на HTTP, когда URL-адрес WSDL, который вы предоставляете, является HTTPS.

Комментарии:

1. Как отключить require ssl? В конфигурации, похоже, есть только httpsGetEnabled и httpGetEnabled.