Apache Camel http到http路由(可能吗?)
问题内容:
我现在从骆驼开始。我已经看到了http客户端的http4组件和http服务器的码头组件。
我已经看到了几个使用另一个的示例。我想知道是否可以将它们组合在一起。
例
from("jetty:http://0.0.0.0:8080/myapp/myservice")
.to("http4://www.google.com");
这将使骆驼成为基于HTTP的简单路由器/代理。网络浏览器会点击骆驼URL,而是获取谷歌。(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
问题答案:
您需要桥接端点。
from("jetty:http://0.0.0.0:8080/myapp/myservice")
.to("http4://www.google.com?bridgeEndpoint=true&throwExceptionOnFailure=false");