ActiveMQをCXFにブリッジする実用的な例を知っている人はいますか?WebServiceをメッセージキューに接続する例をたくさん見ましたが、逆に必要です。JMSキューからのメッセージはWebサービスに転送され、結果は呼び出し元に返されます。
私の最初のアプローチは、1つのメソッドを公開する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サービスに転送され、正解が返されることがわかります。しかし、残念ながら、それは帰り道で迷子になります。
ヒントや外部リソースへのリンクをいただければ幸いです。
よろしく、ヤコブ