Подтвердить что ты не робот

Почему бы не SOAP с JSON?

JSON связан с REST. С помощью REST вы также можете использовать XML. Так почему бы не наоборот? SOAP с JSON только для формата данных, сохраняя wsdl для контрактных аспектов, что полезно для некоторых корпоративных сценариев?

Обновление: поэтому в макете комментариев указывается http://en.wikipedia.org/wiki/SOAPjr Но это не отвечает на мой вопрос:

если это лучшая из двух пород, почему почти никто, включая меня, никогда не слышал об этом? Это потому, что, как SOAP, люди просто следовали традиции, пока какой-то гуру не просыпается и не кричит: gee мы делаем неправильный путь, по крайней мере, для каких-то корпоративных приложений?

4b9b3361

Ответ 1

Полностью можно использовать JSON в качестве полезной нагрузки с помощью SOAP.

Основная причина, по которой люди этого не делают, я бы предположил, что если вы уже перешли от ограничений XML, то почему бы не остановить SOAP. Происхождение JSON в JavaScript и простые вызовы ajax, вероятно, означают, что SOAP слишком много для людей

Строгие контракты с SOAP и проверка данных XML с XSD также часто переплетаются. Стандарты SOAP определяют XML как полезную нагрузку, но вы можете делать все, что хотите, в теге CDATA. Но рамки могут быть в предположении, что ваша полезная нагрузка - это XML. И как таковое, используя две разные теории доступности, возможно, сталкиваются.

Но, конечно, используйте JSON с SOAP, если хотите.

Ответ 2

Вы можете сделать то же самое с JSON, как говорит Матс - и это прекрасно.

Но это не SOAP - это как SOAP.

SOAP использует XML по определению.

Сообщение SOAP указывается как XML-данные, чей комментарий, элемент, атрибут, пространство имен и элементы информации о символах могут быть сериализован как XML 1.0. (SOAP v1.2, часть 1)

Конечно, вы могли бы встроить строку JSON в SOAP XML, как значение одного из параметров, что немного грубо, но я не вижу универсальной причины, почему бы нет, для SOAP в стиле документа.

REST не указывает, какими должны быть представления (то есть контент), - это архитектурный стиль, а не стандарт протокола, поэтому JSON, XML или что-то еще возможно.