我在标题中获得CamelHttpResponseCode = 400;身体是空的。 任何人都可以帮我找到背后的原因。
我正在向服务器发送json请求。 这是我的Http组件代码。
<camel:to uri="{{ServerUrl}}?httpClient.soTimeout=70000&bridgeEndpoint=true&throwExceptionOnFailure=true;transferException=true"/>
<log message="body Got ${body}"/>
<log message="header Got ${headers}"/>
我注意到的一件事是当请求的长度小于2000时它起作用。 当请求的长度超过2000时,它总是失败。此请求也没有达到ServerUrl。
EN
答案 0 :(得分:0)
在做了一些分析之后,我发现超过了标题的大小。 Header包含Exchange对象的HttpServletRequest中的所有表单元素。
要删除额外的标题,我在驼峰中设置请求正文时更改了以下代码。
将getIn()替换为getOut()解决了我的问题
exchange.getIn().setBody(JsonUtils.convertToJson(Object)); // Not Working
exchange.getOut().setBody(JsonUtils.convertToJson(Object)); // It Works