Java tibco ems队列如何向发布服务器发送soap响应

Java tibco ems队列如何向发布服务器发送soap响应,java,jms,tibco-ems,Java,Jms,Tibco Ems,在使用soap/jms web服务时,我使用部署在WAS上的EJB作为客户端。我的服务端点是一个tibco ems队列。为了调用服务,我构造了一个SOAP消息并将其放到队列中 但我的困惑是:“队列”怎么能将响应发送给我?我了解http请求-响应是如何工作的,但对于队列(我只有使用传统MQ的经验),我不知道队列如何向发布服务器返回正确的响应 假设有一个MDB使用队列中的消息,调用服务方法,然后将响应放回队列?然后队列将响应发送回客户端 响应将在请求消息的属性中指定的不同队列或主题上发回 可以使用方

在使用soap/jms web服务时,我使用部署在WAS上的EJB作为客户端。我的服务端点是一个tibco ems队列。为了调用服务,我构造了一个SOAP消息并将其放到队列中

但我的困惑是:“队列”怎么能将响应发送给我?我了解http请求-响应是如何工作的,但对于队列(我只有使用传统MQ的经验),我不知道队列如何向发布服务器返回正确的响应


假设有一个MDB使用队列中的消息,调用服务方法,然后将响应放回队列?然后队列将响应发送回客户端

响应将在请求消息的属性中指定的不同队列或主题上发回

可以使用方法
msg.setJMSReplyTo(destination)
()在请求消息中设置响应队列/主题


当使用
QueueRequestor
发送请求时,与通常和推荐的方法一样,会为每个请求-回复交互创建一个临时队列。

依赖项注入与您的问题有什么关系?对不起,我更正了我自己,谢谢。那么resposne队列会将响应发送回发布服务器吗?因此,在将消息放入请求队列后,发布者立即返回并打开到resposne队列的连接?好的,发布者实际上会在发送请求消息之前打开到响应队列的连接。(在队列情况下不太重要,在主题情况下更重要,否则您可能会有丢失消息的竞争条件。)但是,当您使用
QueueRequestor.request(…)
时,JMS-API会对您隐藏这一点,它只会将响应消息作为返回值提供给您。