Apache Camel和Web服务

时间:2016-02-03 00:51:45

标签: web-services apache-camel

我是Camel的新手,并试图做一件简单的事情。 在Camel内部我想公开将具有请求和响应的Web服务

public Response myMethod(Request r) {
//some logic here
}

在此方法中,我将进行请求验证:如果无效,我将在响应中回复某些代码(FAILURE)。

如果它有效,那么我也会回复另一个代码(SUCCESS)。

如果成功,我需要Camel路线启动,接受请求,转换它并发送到另一个服务。

我不明白的是 - 我如何用响应回复客户,同时将启动Camel Route。

试图在Google上找到这个例子......无法做到。骆驼可以做我想做的事吗?

3 个答案:

答案 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并设置retrunco​​de的标题以进行验证,并为回复值设置另一个标头以在nextbean的交换中获取这些值。