Наша установка IIS имеет сервер запросов приложений IIS перед тремя типами серверов IIS (механизм правил, Microfocus Cobol на IIS и «остальные приложения». Вся базовая настройка каждого сервера выполняется с помощью общего сценария (настройка IIS и подробнее). DNS-псевдонимы «обслуживаются» IIS ARR (порт 80), а затем перенаправляют запрос на сервер, на котором размещено приложение, с другим номером порта.
При доступе http://myapp.test.mycorp.com/TheApp/theService.svc на странице по умолчанию он показывает
svcutil.exe http://myapp.test.mycorp.com/TheApp/theService.svc?wsdl
что очень хорошо, но на двух других серверах - с той же базовой настройкой - будет отображаться
svcutil.exe http://theservername:theportnumber/TheApp/theService.svc?wsdl
Оба сайта привязаны только к номеру порта, а не к DNS-псевдониму (пробовал, но тогда он покажет DNS-alias: portnumber, а также предотвратит тестирование на сервере с использованием localhost, а также с использованием имени сервера)
Какие другие настройки / конфигурации в IIS могут отличаться, что объясняет, почему URL-адрес отображается по-разному на разных серверах?
А теперь - заметил, что для .svc? Wsdl показывает псевдоним DNS и отсутствие портов. Ничего не сделано для устранения проблемы. Надеясь, что он решил все проблемы, но проверяя .asmx? Wsdl, он использует DNS-псевдоним, но добавляет номер порта. Затем проверяем еще один сервис, второй .svc - все три на одном сервере. Последняя служба показывает имя сервера и номер порта (не DNS-псевдоним).
Итак, теперь, похоже, это связано не с конфигурацией сервера, а с самими службами.