какие файлы предоставить клиенту для .wsdl

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

  •  03-07-2019
  •  | 
  •  

Вопрос

спасибо за любую помощь.

Я создаю веб-службу wcf для внешнего клиента.Клиент запрашивает копию файла wsdl.В настоящее время я жду возможности предоставить клиенту доступ к услуге.

когда я захожу на свой локальный веб-сервер, на котором запущена служба (http://localhost/Services.svc?wsdl) Показаны WSDL, предоставленные данные содержат подписи метода (из кода .SVC позади), но не содержат включенные объекты модели (клиент, заказ, EXT).

Чтобы получить эти объекты, я могу найти ссылки в показанных данных и перейти по URL-адресу.

Для меня, чтобы предоставить клиенту всю необходимую информацию, чтобы у них был весь WSDL, я должен предоставить основную схему, а также каждую из импортированных схем?

или есть ли другой способ сделать это (кроме обращения клиента к серверу)

то есть:есть ли способ упаковать их все в один файл?
(Похоже, можно будет извлечь каждый из этих файлов?)

Если бы я предоставил ZIP-файл с каждым файлом, было бы этого достаточно?

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

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

Решение

Как вы уже заметили, WCF упаковывает свои WSDL и XSD (схему XML для описания пересылаемых данных) в различные части.На них ссылаются из вашего основного WSDL с дополнительными href.

Или еще лучше:вы можете запустить команду «svcutil -metadata» в командной строке для DLL или EXE, которая содержит реализацию вашей службы — это создаст все необходимые файлы (обычно несколько WSDl и несколько XSD) в каталоге, где вы запускаете команду svcutil.Обычно это более надежный способ, чем объединение файлов WSDL и XSD из URL-адреса ?wsdl (обычно вам не хватает одного или двух файлов).

Марк

Другие советы

Если бы вы вручную загрузили каждый суб-WSDL и XSD, на которые ссылаются, то да, это сработало бы;но это, мягко говоря, громоздко.

Вариант, который стоит рассмотреть, — это использовать Кристиана Вейера. Расширения WCF для выравнивания вашего WSDL, чтобы WCF генерировал все в одном файле, а затем передал его вашему клиенту.

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