У одного из моих коллег возникла проблема с вызовом 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 был неправильно настроен при настройке.Любая помощь будет оценена.