2009-05-31 2 views
0

Дубликат: Это тот же самый вопрос, от того же человека, что и Issue with Incorrect URLs in the WSDL of a .NET Web Service, и имеет тот же самый ответ. Давайте попробуем закрыть это и объединить его с другим..NET Web Service - неправильное разрешение имени хоста


Мы установили веб-сайт ASP.NET на сервер клиента. На этом сайте есть веб-служба с несколькими веб-методами, которые вызывается объектом Flash для отображения ленты новостей. Если вы перейдете на сайт (например: www.domain.com), все работает отлично, за исключением вспышки.

Проблема в том, что когда мы переходим к .asmx, заголовок показывает, что хост является внутренним поддоменом для своей сети (internal.domain.com). Очевидно, что это не разрешает какой-либо публичный IP-адрес при просмотре из-за пределов сети. Это приводит к сбою Flash, поскольку Flash-объект встроен на страницу и, следовательно, работает на стороне клиента.

Я проверил имя компьютера на соответствующем сервере, и он даже не соответствует «internal.domain.com» - это нечто совершенно другое. Откуда он получает эту информацию. Он не поступает из IIS, поскольку у нас нет настроенных заголовков хостов, а IP для сайта настроен на (все неназначенные).

Нам либо необходимо заставить веб-службу работать с конкретным хостом, либо нам нужно что-то изменить на сервере, чтобы оно разрешило действительное имя узла с открытым доступом. Любая помощь и помощь очень приветствуются !!!!

ответ

0

Имена хостов веб-сервиса обычно настраиваются в файле web.config при использовании .NET. Когда они потребляются вспышкой, вам, возможно, придется искать в флеш-файле. (я предполагаю, что он по-прежнему настроен для какой-то среды SIT.

+0

Независимо от того, как файл флэш-памяти потребляет веб-службу, если я просматриваю непосредственно в .ASMX в IE и нажимаю на любую из веб-страниц методы, хост отображается как internal.domain.com. Это некоторые что я могу переопределить в web.config? Если да, то где? – Keith

+0

Я уже видел это на некоторых услугах, которые я потребляю. Основная проблема заключалась в том, что документ WSDL выталкивал неправильное доменное имя. Я бы посмотрел, чтобы увидеть, есть ли проблема. В любом случае вы сможете заставить клиента (флешку) подключиться к сервису, не заботясь о том, какой внутренний doiman он перечисляет. – Bluephlame

0

Я не уверен в деталях этого, но я видел эту жалобу относительно WCF. Ответ был связан с настройкой заголовки хоста в IIS.

Это IIS, который передает имя хоста ASP.NET или WCF, и передает его заголовку, когда он настроен. Если он не настроен, я полагаю, он не отправит этот заголовок как «имя хоста», даже если клиент устанавливает этот заголовок в запросе.

+0

Забавно, что вы упомянули об этом. Я попытался настроить заголовки хоста в IIS (они работают на IIS6), чтобы включить www.domain.com и domain.com, и, тестируя это, я получил «Bad hostname», просто пытающийся перейти на сайт. Если бы я смог исправить эту проблему, считаете ли вы, что это решит проблему с именем хоста веб-службы, разрешающим внутреннее доменное имя? – Keith

+0

Это может быть. Опять же, я не могу найти статью, в которой я ее читал. Кто-то задавал этот вопрос здесь на SO (для WCF), но я не знаю, видел ли это ответ. –