在使用soap / jms Web服务时,我使用部署在WAS上的EJB作为我的客户端。我的服务端点是tibco ems队列。为了调用该服务,我构造了一个SOAP messgae并将其放在队列中。
但我的困惑是:'队列'怎么能让我回复?我理解http请求响应是如何工作的,但是对于队列(我只有传统MQ的经验),我不知道队列如何向发布者返回适当的resposne。
我们假设有一个MDB使用队列中的消息,调用服务方法然后将响应放回队列中?然后队列将响应发送回客户端?
答案 0 :(得分:1)
响应将在不同的队列或主题上发回,该队列或主题在请求消息的属性中指定。
可以使用方法msg.setJMSReplyTo(destination)
(http://docs.oracle.com/cd/E17802_01/products/products/jms/javadoc-102a/javax/jms/Message.html#setJMSReplyTo%28javax.jms.Destination%29)在请求消息中设置响应队列/主题。
使用QueueRequestor
像往常一样推荐发送请求时,会为每个请求 - 回复互动创建一个临时队列。