SVC WebService работает через HTTP, отказывает через HTTPS - PullRequest
3 голосов
/ 14 июля 2010

У одного из моих коллег возникла проблема с вызовом AJAX .NET WebService.Вызов работает по протоколу HTTP, но тот же вызов имеет проблемы с HTTPS.Веб-сервис написан на .NET 4.0 с C # на сервере IIS 7.

Защищенный веб-сайт находится по адресу https://sql.data -rx.com / grouppharmdrugsearch / .Существует незащищенная версия по адресу http://sql.data -rx.com / grouppharmdrugsearch / .На самой странице нет конфиденциальной информации.Он встроен (я верю в рамку) на веб-сайте клиента, который использует HTTPS, и наша страница должна быть в HTTPS, чтобы браузеры не выдавали смешанные защищенные / незащищенные элементы в виде сообщения.

Чтобы проверить проблему на сайте, сначала необходимо ввести почтовый индекс во втором текстовом поле (я использовал 90210 для тестирования), а затем вы можете ввести первые несколько букв препарата в третьем текстовом поле.,Через несколько секунд ожидания получения дополнительных писем страница вызывает веб-службу, чтобы заполнить раскрывающийся список возможных вариантов лекарств, начиная с предоставленных писем.Безопасный вызов веб-службы: https://sql.data -rx.com / grouppharmdrugsearch / Service / drugNameAutocomplete.svc / GetDrugList с данными POST для 'prefixText' и 'count'.Под HTTP вызов службы успешен и заполняет раскрывающийся список;под HTTPS вызов получает ошибку 404.Веб-служба HTTPS доступна, если вы указываете браузеру https://sql.data -rx.com / grouppharmdrugsearch / Service / drugNameAutocomplete.svc , но метод не распознается, когда он добавляется к службе.

Я использовал аддон Tamper Data в Firefox для сравнения вызовов службы, и они выглядят совершенно одинаково, за исключением одного - для HTTPS-сайта и одного - для HTTP-сайта, при этом рефереры меняются соответствующим образом.Вызов HTTPS получает ошибку 404, в то время как вызов HTTP получает данные JSON.

Я полагаю, что в веб-сервисе может отсутствовать что-то, что позволило бы вызову функционировать под HTTPS (хотя я не могу думать,всего, что должно иметь значение в этом случае), или сам веб-сайт HTTPS был неправильно настроен при настройке.Любая помощь будет оценена.

1 Ответ

3 голосов
/ 15 июля 2010

Мы наконец-то разобрались с решением с этого сайта . По сути, привязка была настроена только для HTTP, а не HTTPS, и нам нужно создать настраиваемую привязку, чтобы веб-сервис мог работать через HTTPS.

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