Azure генерирует ложный адрес WSDL - PullRequest
0 голосов
/ 09 января 2011

Я запускаю свое лазурное приложение, просматриваю файл svc http://127.0.0.1:82/transaction.svc, и получаю обычное:

Вы создали службу.

Для проверкиэтот сервис, вам нужно будет создать клиент и использовать его для вызова сервиса.Это можно сделать с помощью инструмента svcutil.exe из командной строки со следующим синтаксисом: svcutil.exe http://rzv -pc: 5100 / Transaction.svc? Wsdl

Если я перейду к http://rzv -pc: 5100 / Transaction.svc? Wsdl , то возраст будет пустым.Если я перейду к http://127.0.0.1:82/transaction.svc?wsdl,, я получу wsdl, но есть ссылки вроде

<xsd:import schemaLocation="http://rzv-pc:5100/Transaction.svc?xsd=xsd1" 

Я не могу использовать svcutil ни для одной из этих ссылок.В чем проблема?Я использую Azure SDK 1.1.

1 Ответ

2 голосов
/ 09 января 2011

См. http://code.msdn.com/wcfazure (в частности, страницу "известные проблемы"). Проблема связана с тем, что задействованы два порта. Один из них - это внешний порт (который прослушивает балансировщик нагрузки), в данном случае это порт 82. Другой - это внутренний порт, который ваш код слушает на своей виртуальной машине в облаке, а в вашем случае это порт 5100.

Обратите внимание, что в SDK 1.3 вы можете указать атрибут localPort на ваших конечных точках, который позволяет вам выбрать, что это за внутренний порт. Вы можете сделать это так же, как внешний порт и таким образом избежать всякой странности.

...