有沒有人知道將ActiveMQ連接到CXF的工作示例?我看到很多將WebService連接到消息隊列的例子,但我反過來需要它。來自JMS隊列的消息應被轉發到Web服務,並將結果返回給調用者。如何使用Apache Camel將ActiveMQ連接到CXF
我的第一個方法是唯一的工作爲Web服務暴露一個單一的方法:
from("activemq:wsa").to("cxf:bean:webServiceA");
Status msg = producerTemplate.requestBody("activemq:wsa", params, Status.class);
但對於那些有不止一種方法,類似的電話導致ExchangeTimedOutException Web服務。
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服務並返回正確的答案。但不幸的是,它在回來的路上迷路了。
讚賞任何提示或鏈接到外部資源。
許多方面, 雅各布
requestBody的ProducerTemplate設置了InOut MEP,所以這不是原因。應該注意的是第一個例子有效。它只是適用於使用單一方法(operationName)的Web服務,而不適用於使用多種方法的Web服務。 – jkob