17

我现在从骆驼开始。我已经看到了用于 http 客户端的 http4 组件和用于 http 服务器的 jetty 组件。

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

例子

from("jetty:http://0.0.0.0:8080/myapp/myservice")
.to("http4://www.google.com");

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

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

我已经尝试过了,得到了一个空指针异常

[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
4

1 回答 1

37

您需要桥接端点。

from("jetty:http://0.0.0.0:8080/myapp/myservice")
.to("http4://www.google.com?bridgeEndpoint=true&throwExceptionOnFailure=false");
于 2011-04-13T15:06:06.423 回答