我正在尝试使用Apache Camel实现类似HTTP代理的功能。 在我的代理中,我想在DB中插入一个标头值,我在SQL中使用了Simple Expression。
这是我的骆驼路线。
<route>
<from uri="servlet:///foo" />
<to uri="sql:INSERT INTO TEST_TABLE (TEST_ID, NAME)
VALUES(:#${header.testId}, 'test')?noop=true&dataSource=testDataSource" />
<to uri="http4://localhost:8080/test/bar?bridgeEndpoint=true" />
</route>
我能够插入标头值,但是在此路由中的SQL端点之后我丢失了请求体。 回复是400。
例外是
HTTP operation failed invoking http://localhost:8080/test/bar with statusCode: 400
我发现原因是简单表达。 但是,我不知道为什么Simple Expression删除了一个请求体,以及我如何解决这个问题。