wcf Извлеките wsdl из службы WCF с помощью упрощенного WSDL - PullRequest
3 голосов
/ 21 октября 2009

У меня есть веб-служба wcf, и мне нужно предоставить клиенту файлы wsdl.

Ранее я использовал svcutil на .dll, и все было хорошо.

Однако недавно я применил фабрику для Flaten файла wsdl (re: http://wcfextras.codeplex.com/).

Мои вопросы таковы: есть ли в любом случае либо использование svcutil в .svc для извлечения файлов Flatlined .WSDL, либо, возможно, каким-то образом запуск веб-службы, когда она работает на локальном сервере webdev для получения файлов .WSDL?

Насколько я знаю, если бы я должен был перейти на мой локальный сервер веб-разработки (http://localhost:2916/Service.svc?wsdl)) и если бы я должен был просмотреть исходный код и сохранить его как .wsdl, то это неправильно и не обеспечит вся необходимая информация.

примечание: см. Ниже о том, как Factory используется в файле .svc ....

<% @ServiceHost Factory="CompanyName.ServiceModel.Extensions.Description.FlatWsdlServiceHostFactory" language=c# Service="CompanyName.WebServices.Service"%> 

Спасибо, Стивен

1 Ответ

6 голосов
/ 21 октября 2009

Да, вы все равно сможете использовать svcutil для извлечения WSDL из вашей службы, даже если у вас установлено расширение, которое сгладит WSDL.

Чтобы загрузить документ (ы) метаданных из запущенной службы, используйте эту команду:

svcutil /t:metadata http://service/metadataEndpoint

Вы должны указать свой URL-адрес на конечную точку метаданных, определенную в вашей конфигурации, например, конечная точка, определенная для использования «mexHttpBinding» или «mexTcpBinding» и контракта «IMetadataExchange».

Если у вас не определены конечные точки обмена метаданными, вы, очевидно, не сможете получить эту информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...