0

我正在尝试使用 Apache Camel 实现类似 HTTP 代理的功能。在我的代理中,我想在 DB 中插入一个标头值,我在 SQL 中使用了简单表达式。

这是我的骆驼路线。

<route>
    <from uri="servlet:///foo" />
    <to uri="sql:INSERT INTO TEST_TABLE (TEST_ID, NAME) 
        VALUES(:#${header.testId}, 'test')?noop=true&amp;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 会删除请求正文,以及如何解决此问题。

4

1 回答 1

0

我解决了这个问题。

原因是一种请求正文。

http://camel.apache.org/why-is-my-message-body-empty.html

于 2016-01-26T12:56:01.153 回答