我是Camel的新手,并试图做一件简单的事情。 在Camel内部我想公开将具有请求和响应的Web服务
public Response myMethod(Request r) {
//some logic here
}
在此方法中,我将进行请求验证:如果无效,我将在响应中回复某些代码(FAILURE)。
如果它有效,那么我也会回复另一个代码(SUCCESS)。
如果成功,我需要Camel路线启动,接受请求,转换它并发送到另一个服务。
我不明白的是 - 我如何用响应回复客户,同时将启动Camel Route。
试图在Google上找到这个例子......无法做到。骆驼可以做我想做的事吗?
答案 0 :(得分:0)
我不会放弃确定我理解您的问题,但要回复并继续您的流程,您可以使用Camel窃听功能。你可以在这里找到例子和解释。 http://camel.apache.org/wire-tap.html
答案 1 :(得分:0)
您可以使用camel支持的request reply EIP。我可以想象你的路线看起来像这样:
from(start)
.bean(validation)
.setExchangePattern(ExchangePattern.InOnly)
.to(end);
答案 2 :(得分:0)
我认为你期待这样的事情。
from(“timer:foo?repeatCount = 1”)。bean(validationBean).when(header.returncode == 200).bean(nextbean).otherwise()。log(“你没有访问权限!!” ).END();
在验证bean中,访问webservices并设置retruncode的标题以进行验证,并为回复值设置另一个标头以在nextbean的交换中获取这些值。