Адрес расположения WCF WSDL с HTTPS - PullRequest
6 голосов
/ 14 января 2009

Общая проблема для WCF, по-видимому, заключается в том, как имя хоста разрешается в wsdl для ссылок на другие файлы. Проблема заключается в том, что имя компьютера компьютера помещается в wsdl для связи с другими файлами wsdl, поэтому, если вы посетите http://myhost/service.svc, это может указывать на остальную часть wsdl в другом месте, то есть http://mypc/service.svc?wsdl что, очевидно, является чем-то, что вы не можете видеть снаружи.

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

У меня вопрос, как я могу обойти это при использовании внешнего IP. Я подключаюсь к головному офису клиентов с их веб-сайта, чтобы получить данные, а не настроить их с помощью DNS и т. Д., А ip перенаправляет на машину внутренне. Есть ли способ заставить машину, на которой размещен WCF, представлять внешний адрес в файлах wsdl, а не имя машины?

Я использую SSL для соединения, что может иметь значение (как с заголовками хоста).

Ответы [ 2 ]

4 голосов
/ 22 февраля 2009

Необходимо настроить заголовок узла для secureBingings веб-сайта в IIS.

Вот статья о WCF WSDL & xsd: импортировать ссылку schemaLocations на имя локального компьютера, а не на имя домена, пока размещается в IIS

0 голосов
/ 21 мая 2009

Да, вы можете установить IP-адрес в качестве заголовка узла. Просто убедитесь, что внешний IP-адрес действительно распознается и внутри. Я усвоил это нелегко, когда в одном из наших проектов мы использовали ISA Server в качестве прокси.

Если вы когда-либо сталкивались с такой ситуацией и по-прежнему настаиваете на использовании внешнего IP-адреса в качестве заголовка хоста, тогда вам остается только добавить имя компьютера веб-службы в файл хостов.

...