在使用soap/jms web 服务时,我使用部署在WAS 上的EJB 作为我的客户端。我的服务端点是 tibco ems 队列。为了调用该服务,我构建了一个 SOAP messgae 并将其放入队列中。
但我的困惑是:“队列”如何给我回复?我了解 http 请求响应是如何工作的,但是对于队列(我只有传统 MQ 的经验),我不知道队列如何将正确的响应返回给发布者。
假设有一个 MDB 使用队列中的消息,调用服务方法,然后将响应放回队列中?然后队列将响应发送回客户端?
响应将在请求消息的属性中指定的不同队列或主题上发回。
可以使用方法在请求消息中设置响应队列/主题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
发送请求时,像往常和推荐的那样,会为每个单独的请求-回复交互创建一个临时队列。