Spring WebserviceTemplate использует JMS в качестве messageSender
В одном из проектов, над которым я работал, архитектор использовал Spring WebserviceTemplate в большинстве серверных служб, и его определение в xml config выглядит следующим образом:
<bean id="someservice" class="org.springframework.ws.client.core.WebServiceTemplate">
<property name="messageSender">
<bean class="JmsMessageSender">
....
В этой конфигурации JmsMessageSender (org.springframework.ws.transport.jms.JmsMessageSender
) расширяет WebserviceMessageSender, и его базовой инфраструктурой является Solace, брокер сообщений.
Поскольку я понимаю, что веб-сервис предназначен для синхронного обмена данными, выше следует использовать только модель запросов / ответов JMS - невозможно использовать Spring WebserviceTemplate для асинхронной модели JMS.
Это правильно? Однако, если мы начнем новый проект с аналогичной целью, не лучше ли использовать более простой и элегантный RestfulTemplate+Json+Jackson, в отличие от решения SOAP+JAXB, как указано выше?