使用Camel从Web服务获取数据

时间:2013-04-05 11:17:04

标签: java web-services apache-camel

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

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

设置我的路线
`from(“http:..”).to(“file:...");` 

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

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

您也可以使用Spring Web Services Component

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>")

答案 2 :(得分:1)

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