wcf извлекает wsdl из службы WCF с помощью сглаженного WSDL

StackOverflow https://stackoverflow.com/questions/1602472

  •  05-07-2019
  •  | 
  •  

Вопрос

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

Ранее я использовал svcutil для .dll и все было нормально.

Однако недавно я внедрил factory для выравнивания файла wsdl (re: http://wcfextras.codeplex.com/).

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

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

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

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

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

Это было полезно?

Решение

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top