Apache Camel请求响应以及如何路由到下一个变压器



路由的概念在理论上很好,但在实践中,我有点困惑。 我的网络服务中有一个 CXF 方法

public Response someMethod(Request r) {
}

我没有得到的是我需要将请求路由到某个进一步的节点,所以我真的应该在 java 代码中这样做,还是会生成一个接口(希望是异步的(,我可以将该节点连接到某个转换器到下一个节点验证器到某个存储和转发等,然后最终让存储和转发回复,并以某种方式从套接字发送响应请求最初来自。

在上面的方法中,我被迫以该方法将响应返回给客户端,对吗?

如果我应该将代码放在 webservices 方法中,我是否应该调用一些骆驼上下文?

另外,我想要 SOAP 方法调用的"RAW"参数,并且不想处理 SOAP 标头,然后还需要公开一些只接受字符串的 REST API。

编辑:下面答案中的代理示例是我见过的最接近的示例,但如果我想快捷方式甚至不在管道中的早期节点调用真正的Web服务,我也不能。 我似乎必须调用不需要的结束 Web 服务代码,因为我们没有任何 Web 服务代码。 我们正尝试通过 Web 服务调用中的现有 pojo 运行它。 如果验证节点失败,我们希望返回响应,如果成功,我们希望将请求转发到另一个节点,如果该节点失败,我们将返回响应,如果成功,我们希望转发请求。 这似乎没有什么可做的??? 此外,这对我来说似乎是一个非常典型的案例,所以我感到惊讶,或者我没有得到所有这些 ESB 框架(到目前为止的骡子、骆驼(的东西。

谢谢院长

看看这个官方示例,它将展示如何做到这一点或者这个 Cxf 代理示例,如果你想要 RAW 请求

如果你已经在Spring MVC web应用程序中 - 你可以用Spring WS和Jaxb更容易做到这一点。但这是一个品味问题。此处的示例代码

从未解决,我们放弃了骆驼,因为与滚动自己的相比,它非常痛苦。

最新更新