Как использовать Svcutil.exe для загрузки документов метаданных
Средство Svcutil.exe позволяет загружать метаданные из выполняющихся служб и сохранять эти метаданные в локальных файлах. Для URL-схем HTTP и HTTPS средство Svcutil.exe предпринимает попытку извлечь метаданные с помощью протокола WS-MetadataExchange и метода Обнаружения XML-веб-служб. Для всех остальных URL-схем средство Svcutil.exe использует только протокол WS-MetadataExchange.
По умолчанию средство Svcutil.exe использует привязки, определенные в классе MetadataExchangeBindings. Чтобы настроить привязку, используемую для протокола WS-MetadataExchange, необходимо в файле конфигурации Svcutil.exe (svcutil.exe.config) настроить конечную точку клиента, которая бы использовала контракт IMetadataExchange и имя которой совпадало бы со схемой универсального кода ресурса (URI) адреса конечной точки метаданных.
Внимание! |
---|
Если программа Svcutil.exe запускается, чтобы получить метаданные для службы, которая предоставляет доступ к двум различным контрактам службы, которые содержат операции с одинаковыми именами, то программа Svcutil.exe выводит ошибку «Не удается получить метаданные из...». Например, так происходит, если служба предоставляет доступ к контракту службы с именем ICarService. который содержит операцию Get(Car c), а также к контракту службы с именем IBookService, который содержит операцию Get(Book b). Чтобы устранить эту проблему, выполните одно из следующих действий. |
Загрузка метаданных с помощью средства Svcutil.exe
Найдите средство Svcutil.exe в следующей папке:
C:\Program Files\Microsoft SDKs\Windows\v1.0.\bin
Из командной строки запустите средство, используя следующий формат.
svcutil.exe /t:metadata <url>* | <epr>
Параметр /t:metadata необходимо указать, чтобы загружались метаданные. В противном случае будут созданы код и конфигурация клиента.
Аргумент <url> задает URL-адрес конечной точки службы, которая предоставляет метаданные, или размещенного в сети документа с метаданными. Аргумент <epr> задает путь к XML-файлу, содержащему адрес EndpointAddress WS-Addressing конечной точки службы, поддерживающей протокол WS-MetadataExchange.
Сведения о других вариантах использования этого средства для загрузки метаданных см. в разделе Служебное средство ServiceModel Metadata Utility Tool (Svcutil.exe).
Пример
Следующая команда позволяет загрузить документы с метаданными из выполняющейся службы.
svcutil /t:metadata http://service/metadataEndpoint
См. также
Основные понятия
Служебное средство ServiceModel Metadata Utility Tool (Svcutil.exe)