WSDL на SQL Server предоставляет статус HTTP версии 505 не поддерживается
Я администратор базы данных, а не разработчик, поэтому простите меня, если это глупый вопрос. Но у нас возникают проблемы с конечной точкой веб-службы SQL Server 2005. В локальной сети я могу добавить ссылку в Visual Studio 2010 без каких-либо проблем. Он использует дайджест в качестве схемы аутентификации.
Однако, когда кто-либо пытается добавить веб-ссылку в другую сеть, например разработчика в Новой Зеландии (мы в Дейтоне, штат Огайо США), он получает эту ошибку:
Произошла ошибка при загрузке 'Http://server.domain.net:1280/release-single-address?wsdl. запрос не выполнен с HTTP-статусом 505: HTTP-версия не поддерживается. Метаданные содержат ссылку, которая не может быть решена: 'Http://server.domain.net:1280/release-single-address?wsdl. удаленный сервер возвратил неожиданный ответ: (505) HTTP-версия не поддерживается. Удаленный сервер ответил на ошибку: (505) Http Version Not Поддерживается. Если служба определена в текущем решении, попробуйте построив решение и снова добавив ссылку на обслуживание.
Опять же, это работает в Visual Studio, так как щелкните правой кнопкой мыши ссылку "Добавить" → "Дополнительно" → "Добавить веб-ссылку", когда это делается в локальной подсети в качестве сервера.
Когда выполняется в любой другой сети, служба не импортирует. Мы пробовали его без какого-либо прокси. Существует доверие к междоменному домену, но это, похоже, не так, как ошибка возникает с использованием учетных записей из любого домена. Когда я загружаю необработанный XML в свой hdd, я могу использовать его для создания веб-ссылки. Я уверен, что это какой-то проблема транспортного уровня, например прокси, но фиксируется, когда параметры прокси-сервера отключены, не являются окончательными.
Ответы
Ответ 1
Сегодня, спустя годы после того, как я опубликовал этот вопрос, мы наконец нашли ответ на этот вопрос. Это был не прокси-сервер Squid, как мы привыкли верить. Мы продолжали испытывать такие проблемы с помощью различных веб-сервисов/сайтов. Последняя солома была, когда нам наконец-то понадобилось развернуть сервер SVN, который использовался многонациональными командами по разработке программного обеспечения. Каждый член команды Ops, с которым мы говорили, клялся нам, между сайтами, которые могли бы разорвать наши сервисы, не было ничего.
В результате удачи сотрудник нашей информационной службы по вопросам безопасности посетил наш сайт, и его коллега случайно столкнулся с ним и спросил о проблемах, которые у нас были, и что может быть причиной этого. Он сразу же сказал, что есть приборы Riverbed, которые выполняют кэширование и проверку уровня 7 на всем трафике WAN. Наконец, нам удалось поймать эти устройства в попытке "нормализовать" HTML и XML, и мы смогли выполнить захват данных, поступающих с машины в Новой Зеландии. Мы выполнили diff на HTML-страницах, которые были поданы, а также XML, поступающие из веб-службы, чтобы сравнить, как он выглядит в локальной сети или через WAN. На страницах /XML, которые были переданы через WAN, были вставлены закрывающие теги, которые не были нужны или что на самом деле делало XML искаженным. Некоторые теги были даже прокомментированы полностью, если устройство не знало, что с ними делать. И курение? Пользовательский заголовок...
X-RBT-Optimized-By: cch-riverbed-1 (RiOS 6.5.6a) SC
"Оптимизировано". Вы продолжаете использовать это слово, но я не думаю, что это означает, что вы думаете, что это значит.
Ответ 2
Я не про SOAP с VS, но может быть, что версия SOAP несовместима с SQL Server 2005?
Если я правильно помню, есть две версии SOAP: 1.1 и 1.2.
Ответ 3
Проверьте правильность формата команды HTTP GET?
HTTP GET http://mydomain.com HTTP/1.1\
Заметьте, что есть пробел между 'http://' и 'mydomain.com'. Сервер не может соответствовать этому формату. Результат 505
Ответ 4
Я не уверен, но, я думаю, вы должны проверить свой брандмауэр или конфигурацию IIS.