1

有很多关于将 Camel 与 JMS 结合使用的信息,但我找不到太多关于使用 Camel 从 Web 服务请求数据的信息。我想知道这是否可以直接执行此操作,还是我需要使用某种 JMS/队列?

理想情况下,我希望我的服务(使用 java DSL)向另一个 Web 服务发送请求,检索数据,然后将其存储在本地文件中。是否可以使用简单的自定义 RouteBuilder 和 camelContext 在 Camel 中执行此操作?我尝试使用设置我的路线

`from(“http:..”).to(“file:...");` 

但这似乎不起作用,因为它似乎没有从 Web 服务获取数据。根据我的阅读,我的印象是端点http:会自动构建请求并将其路由到文件。

我现在想知道接下来我可以尝试什么,如果这甚至可能。

4

3 回答 3

3

这绝对是可能的。最好的例子是CXF-Proxy Example。这显示了如何从 Camel 调用远程 Web 服务。如果您遇到问题,请随时提出具体问题,我们可以提供帮助。

于 2013-04-05T11:21:09.840 回答
1

您也可以使用 Spring Web Services 组件

http://camel.apache.org/spring-web-services.html

在这种情况下,您的路线将如下所示:

from("<some event to trigger the route>")
.to("spring-ws:<endpoint of the WS you want to use>")
.to("file:<write the WS result>")
于 2013-04-05T11:59:43.497 回答
1

如果您不介意在 SOAP 级别上进行尝试,您可以尝试在http://camel.apache.org/soap.html 链接中找到的方法。即使您最终使用更高级别的东西,它也值得一看。

于 2013-04-06T07:02:04.313 回答