有人知道将 ActiveMQ 连接到 CXF 的工作示例吗?我看到了许多将 WebService 连接到消息队列的示例,但反过来我需要它。来自 JMS 队列的消息应转发到 Web 服务,并将结果返回给调用者。
我的第一种方法仅适用于公开一个方法的 Web 服务:
from("activemq:wsa").to("cxf:bean:webServiceA");
Status msg = producerTemplate.requestBody("activemq:wsa", params, Status.class);
但是对于具有多个方法的 Web 服务,类似的调用会导致ExchangeTimedOutException。
Map<String, Object> header = new HashMap<String, Object>();
header.put(CxfConstants.OPERATION_NAME, "doSomething");
header.put(CxfConstants.OPERATION_NAMESPACE, "http://.../");
Status msg = producerTemplate.requestBodyAndHeaders("activemq:wsb", params, header, Status.class);
尽管如此,我可以看到请求被转发到 Web 服务并返回了正确的答案。但不幸的是,它在回来的路上迷路了。
任何指向外部资源的提示或链接表示赞赏。
许多问候, 雅各布