Я понимаю, что RESTful - это стиль архитектуры, но что именно делает веб-сервис на основе SOAP не рассчитан на RESTful?
Мне не ясно, какие точки ниже (из Wikipedia) не соответствуют SOAP.
- Клиент-сервер
- Stateless
- Cacheable
- Многоуровневая система
- Код по требованию (необязательно)
- Равномерный интерфейс
- Идентификация ресурсов
- Манипулирование ресурсами через эти представления
- Самоописательные сообщения
- Hypermedia как двигатель состояния приложения.
EDIT: я просто натолкнулся на этот, который достаточно хорошо описывает его.
REST не RPC, говорит RPC, "define некоторые методы, которые делают что-то" тогда как REST говорит: "Определите некоторые ресурсов, и они будут иметь эти методы". Это тонкая, но жизненно важная разница, при предоставлении URI кто-нибудь знает, что они могут взаимодействовать с ним через предопределенные набор методов и получение стандарта HTTP-ответы в ответ. Так что дано http://www.peej.co.uk/ Я знаю, что могу выпустить GET на него и получить что-то значимое. Тогда я могу попробуйте PUT на нем, чтобы изменить его и получить достоверный код ошибки HTTP так как я не уполномочен вмешиваться с ним.