Apache Camel http到http路由(有可能吗?)

kaz*_*aki 15 java routing http apache-camel

我现在开始与骆驼.我见过http客户端的http4组件和http服务器的jetty组件.

我见过几个使用其中一个的例子.我想知道是否可以将它们组合在一起.

from("jetty:http://0.0.0.0:8080/myapp/myservice")
.to("http4://www.google.com");
Run Code Online (Sandbox Code Playgroud)

这将使骆驼成为一个简单的基于http的路由器/代理.Web浏览器会点击骆驼网址而不是google.(谷歌只是一个例子,我有一个真正的基于POST的服务,我想使用)

这条路线可行吗?我应该研究Camel还是我需要一个不同的软件框架?将来我还需要在两者之间添加转换/过滤器​​.

我试过它并获得了一个nullpointer异常

[qtp757856402-14] SendProcessor       DEBUG >>>> Endpoint[http4://www.google.com] Exchange[Message: [Body is instance of java.io.InputStream]]
[qtp757856402-14] DefaultErrorHandler DEBUG Failed delivery for exchangeId: ID-IT12-53265-1302683969823-0-1. On delivery attempt: 0 caught: java.lang.NullPointerException
[qtp757856402-14] DefaultErrorHandler ERROR Failed delivery for exchangeId: ID-IT12-53265-1302683969823-0-1. Exhausted after delivery attempt: 1 caught: java.lang.NullPointerException
java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)

Cla*_*sen 35

您需要桥接端点.

from("jetty:http://0.0.0.0:8080/myapp/myservice")
.to("http4://www.google.com?bridgeEndpoint=true&throwExceptionOnFailure=false");
Run Code Online (Sandbox Code Playgroud)

  • 我很佩服!我得到了大师自己的回答!谢谢!请继续监控骆驼问题的stackoveflow ... (4认同)
  • 我只是在照顾社区.这也很重要.在此过程中,您将了解最终用户对Camel的处理方式. (4认同)
  • 我们在以下网址添加了有关此解决方案的页面:http://camel.apache.org/how-to-use-camel-as-a-http-proxy-between-a-client-and-server.html (2认同)