WSDL для SOAP и WSDL для REST и REST на основе JSON - PullRequest
7 голосов
/ 09 мая 2011

когда компания хочет выпустить веб-сервисы, выпускает ли она отдельный WSDL для SOAP и отдельный для веб-сервисов на основе REST, или они объединены в одном WSDL?Может ли WSDL представлять только веб-службы REST на основе JSON (не XML)?

Предполагается, что клиенты веб-служб основаны на Java.

Если SOAP и REST объединены в одном WSDL, генерирует ли wsimportотдельные классы (для привязки XML к объектам Java) для SOAP и отдельные для REST?

Ответы [ 3 ]

7 голосов
/ 09 мая 2011

Вам необходим WSDL 2.0 (или WADL) для описания службы REST. Поддержка WSDL 2.0 в настоящее время очень ограничена, и wsimport не поддерживает ее. Я не Java-разработчик, но я думаю, что wsimport предназначен только для сервисов SOAP (JAX-WS и также не поддерживает WSDL 2.0).

Edit:

Проверьте это расширение . Это должно позволить вам предоставить сервис JAX-WS с кодировкой JSON. Он также должен предоставлять «прокси JavaScript» для вызова службы JSON. Чтобы точнее ответить на ваш вопрос - я не думаю, что вы можете описать REST-сервис без WSDL 2.0 или WADL. Таким образом, вы не можете объединить сервисы SOAP и REST с одним WSDL 1.1, поддерживаемым большинством стеков. Для получения дополнительной информации об описании службы JSON проверьте этот вопрос .

2 голосов
/ 09 мая 2011

Может ли WSDL представлять только веб-службы REST на основе JSON (не XML)

WSDL 2 может описывать XML, определяя типы XML с помощью схемы.См. это введение в WSDL 2 для REST .

Хотя, TBH, я никогда раньше не писал WSDL для REST, я просто публикую URL-адреса и схемы для типов.

1 голос
/ 09 мая 2011

Поскольку инструментарий еще не совсем готов, я сомневаюсь, что многие используют привязки SOAP и HTTP в одном WSDL.Хотя оба они могут быть представлены в WSDL 2.0, и в то же время, поскольку большинство людей сегодня используют инструменты для управления своими WSDL (и остальной частью стека WS), они, вероятно, просто не беспокоятся и не оставляют свои WSDL одни.

Кроме того, большинство сотрудников REST строят своих клиентов вручную, а не полагаются на инструменты и WSDL, поэтому в настоящее время эти люди не «пропускают» инструменты и поддержку для этого.

Когдаинструменты наверстают упущенное как на стороне сервера, так и на стороне клиента, и, скорее всего, практическое применение привязок служб HTTP в WSDL 2.0 будет более практичным.Будет ли идиома сопоставлять спецификации с одним WSDL или нет, еще неизвестно.

Если они захотят разместить их в одних и тех же конечных точках, то они, вероятно, будут.

...