以下是我的路线
from("activemq:queue:request")
.routeId("urlRoute")
.setExchangePattern(ExchangePattern.InOut)
.convertBodyTo(String.class)
.to("http://mydomain:8080/my-bin/myProgram.pgm?xmlData=<head><user>username</user><pass>password</pass><data>Some data</data></head>")
.process(new Processor() {
public void process(Exchange e) throws Exception {
log.info("Response : "+MessageHelper.extractBodyAsString(e.getIn()));
}
})
.to("activemq:queue:response")
上述路由工作正常,因为端点是用http端点中的xml数据进行硬编码的....如果我用$ {body}替换xml数据,它的工作方式如下所示。
.to("http://mydomain:8080/my-bin/myProgram.pgm?xmlData=${body}")
我做得对吗?或者必须定义一些数据类型?请帮帮我..
答案 0 :(得分:2)
快速解决方案:
将其更改为:
.recipientList(simple("http://mydomain:8080/my-bin/myProgram.pgm?xmlData=${body}))
好的解决方案:
将myProgram.pgm更改为接受POST发送的XML数据