如何在Camel中动态生成服务的URI

时间:2018-01-15 17:18:56

标签: json apache-camel

我对Camel很新,我正在尝试构建一个读取文件的Camel路由。该文件的一个字段是日期,该日期将用于通过JSON请求调用服务。

已加密呼叫的示例:

.inOut("cxfrs:https://myserver.edu/dostuff/20180115/deals");

我认为我可以将日期存储在交易所的属性中,如下所示:

.setProperty("dynamicDate", simple("${body.myDate}"))

我正在努力使用该属性来构建地址。 用JSON对象中的值替换带有编码的日期的更好方法是什么?

2 个答案:

答案 0 :(得分:2)

您应该可以使用(注意D之后的to

.toD("cxfrs:https://myserver.edu/dostuff/${exchangeProperty.dynamicDate}/deals");

.toD("cxfrs:https://myserver.edu/dostuff/${body.myDate}/deals");

有关Camel动态端点的信息,请参阅http://camel.apache.org/message-endpoint.html

答案 1 :(得分:0)

我最终使用了recipList和"简单"语言,强制交换模式后InOut(我需要处理网络服务器响应)

.setExchangePattern(ExchangePattern.InOut)
.recipientList( simple("cxfrs://${header.myComputedAddress}"))