在我参与的一个项目中,架构师在大多数后端服务中使用了 Spring WebserviceTemplate,它在 xml 配置中的定义如下:
<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 消息代理。
据我了解,webservice 是用于同步通信的,上面应该只使用 JMS 请求/响应模型 - 没有办法将 Spring 的 WebserviceTemplate 用于 JMS 的异步模型。
这是对的吗?但是,如果我们为了类似的目的开始一个新项目,与上面的 SOAP+JAXB 解决方案相比,使用更简单优雅的 RestfulTemplate+Json+Jackson 不是更好吗?