Apache驼峰作为代理和查询参数

时间:2016-06-16 12:34:14

标签: apache-camel

我正在尝试构建一个非常简单的HTTP代理,与http://camel.apache.org/how-to-use-camel-as-a-http-proxy-between-a-client-and-server.html中描述的完全相同。

我使用wireshark来查看到底发生了什么。

当我在http://localhost:8080/myapp上发出请求时,发送到真实服务器的请求为http://realserverhostname:8090/myapp?bridgeEndpoint=true&throwExceptionOnFailure=false

当我执行参数化请求http://localhost:8080/myapp?toto=tata时,发送到真实服务器的请求为http://realserverhostname:8090/myapp?toto=tata

因此,当没有请求参数时,端点参数bridgeEndpoint=true&throwExceptionOnFailure=false将被发送到真实服务器,如果存在参数,则不会发送它们。

有人可以解释这种行为的原因吗?

即使没有请求参数,我如何强制camel不发送端点参数?

1 个答案:

答案 0 :(得分:0)

似乎这是骆驼码头组件中的一个错误。 替换

<to uri="jetty:http://realserverhostname:8090/myapp?bridgeEndpoint=true&amp;throwExceptionOnFailure=false"/>

<to uri="http://realserverhostname:8090/myapp?bridgeEndpoint=true&amp;throwExceptionOnFailure=false"/>

<to uri="http4://realserverhostname:8090/myapp?bridgeEndpoint=true&amp;throwExceptionOnFailure=false"/>

将解决问题。

已在jetty-component https://issues.apache.org/jira/browse/CAMEL-10064

上创建了一个错误