FYI. Я отправил правильный ответ, поскольку я только понял это.

я есть простой сервис, который я развернул в Azure. Это доступно через:

http://xxxxxxxxxxxxxxxxxxxxxxx.cloudapp.net/MyTestService.svc

URL-адрес WSDL использует имя внутреннего компьютера вместо общедоступного DNS:

svcutil.exe http://rd001520d328923a/MyTestService.svc?wsdl

Очевидно, что WSDL не доступен извне машины с этим.

Мне известно о нескольких вещах, которые можно изменить, если вы запускаете это в IIS или знаете URL-адрес службы. Например, изменение<serviceMetadata> конфиг, чтобы указатьhttpGetUrl свойство, но это не будет работать, так как я должен был бы включить абсолютный URL. Используя относительный URL, он по-прежнему использует внутреннее имя компьютера. Реальная проблема заключается в том, что WSDL включает URL-ссылки с именем компьютера, поэтому делает его бесполезным.

Есть два некачественных обходных пути:

Было предложено, чтобы я мог получить WSDL, отредактировать его, чтобы исправить URL-адреса, а затем загрузить его, чтобы он был доступен с другого URL-адреса.

Я обнаружил, что исправление с начала 2010 года было доступно, но должен быть лучший способ.

Как можно решить эту проблему, чтобы использовать общедоступный DNS вместо имени компьютера?

Ответы на вопрос(1)

Ваш ответ на вопрос