Служба спокойствия в .NET с WADL вместо WSDL

Я использовал WCF для создания спокойной веб-службы в .NET с помощью файла .svc. Веб-приложение автоматически создает файл WSDL. AFAIK, WADL более естественен для спокойного веб-сервиса.

Как я могу создать спокойную службу в .NET (желательно с wcf), которая создает описание WADL?

Примечание. Ответ типа "RTFM" принимается, если вы укажете подходящее руководство / учебное пособие.


person lmsasu    schedule 21.09.2010    source источник


Ответы (3)


Простите, что отвечу на вопрос вопросом, но вы действительно хотите REST? REST действительно не нуждается в вещах вроде WADL.


Обновлять:

«Ограничение гипермедиа» (также известное как HATEOAS) диктует, что пользовательский агент обнаруживает контент на основе ссылок, встроенных в ранее полученный контент. На самом деле нет необходимости иметь отдельный документ, описывающий весь доступный контент.

Представьте, что вы используете веб-браузер для перехода на сайт, и вместо перехода на домашнюю страницу и перехода оттуда вам предоставляется страница, которая представляет собой список всех URL-адресов на сайте. Затем вы должны просмотреть список доступных URL-адресов, выбрать тот, который вас интересует, и скопировать его в адресную строку.
WADL - это фактически список URL-адресов сайтов. Вам это просто не нужно, если ваш основной контент связан вместе.

Связывание контента вместо использования «карты сайта» WADL имеет и другие преимущества. Доступные ссылки могут быть динамическими на основе определенных значений данных в содержимом. Эта возможность может значительно снизить сложность клиентов, поскольку клиенту больше не нужно размещать логику, чтобы решить, когда ему разрешено переходить по ссылке.

person Darrel Miller    schedule 21.09.2010
comment
Как говорится в Википедии: Язык описания веб-приложений (WADL) - это формат файлов на основе XML, который обеспечивает машиночитаемое описание веб-приложений на основе HTTP. [...] Цель WADL - разрешить службы в Интернете ( или любая другая IP-сеть), чтобы ее можно было описать машинным способом, чтобы упростить создание приложений в стиле Web 2.0 и создать динамический способ создания и настройки служб. До этого нужно было зайти на существующий веб-сервис, изучить его и написать приложение вручную. - person lmsasu; 22.09.2010
comment
Отсюда вопрос ... хотя WSDL можно легко использовать с помощью таких инструментов, как svcutil, я также ожидаю, что смогу создать документ WADL, который может быть полезен для разработчика. Утверждается, что WSDL более естественен для спокойного WS, чем WSDL. Я ошибся? - person lmsasu; 22.09.2010
comment
Я вижу ваш ответ от stackoverflow.com/questions/2689122/ - и комментарий. Если клиенты зависят от описаний служб, полученных во время разработки, ваша система не является RESTful - Я думаю, это то, что ты имеешь в виду? - person lmsasu; 22.09.2010
comment
@imsasu Да, WADL больше подходит для веб-служб RESTful, чем WSDL. Я все еще не считаю это необходимым или даже выгодным. См. Мой обновленный ответ. - person Darrel Miller; 22.09.2010

Это старый вопрос, но, использовав успокаивающие услуги с WADL, они действительно предлагают некоторую ценность. Вы можете импортировать их прямо в SOAPUI, и он автоматически создаст для вас набор тестов. Во-вторых, они, как правило, содержат все необходимые XSD для служб на основе XML и полезны для автоматического создания сериализуемых классов, которые принимают и получают ваши конечные точки.

person Ben Robinson    schedule 04.09.2013
comment
Это очень полезный ответ. Если вы знаете какие-либо руководства по этой теме, не стесняйтесь добавлять их к ответу выше. - person lmsasu; 06.09.2013
comment
Извините, я только что обнаружил эти вещи методом проб и ошибок. Что касается пользовательского интерфейса Soap, вы просто создаете новый проект, а затем выбираете файл WADL так же, как вы выбираете WSDL для службы SOAP. - person Ben Robinson; 06.09.2013
comment
Я думал, что этот вопрос касается того, как сгенерировать WADL вместо WSDL в .NET. У вас есть решение для этого? - person crush; 04.02.2015

Похоже, REST Describe & Compile должен помочь.

На сайте разработчика WADL Марк Хэдли поддерживает инструмент командной строки под названием WADL2Java. Амбициозная цель REST Describe & Compile - предоставить своего рода WADL2Anything. Итак, что делает REST Describe & Compile, так это то, что он:

  • Полностью интерактивно генерирует новые файлы WADL.
  • Позволяет загружать и редактировать существующие файлы WADL.
  • Позволяет компилировать файлы WADL в исходный код на различных языках программирования.
person Jeff Swensen    schedule 19.02.2011