какие файлы дать клиенту для .wsdl - PullRequest
0 голосов
/ 03 мая 2009

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

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

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

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

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

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 04 мая 2009

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

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

Марк

0 голосов
/ 03 мая 2009

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

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

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