int-http:outbound-gateway HttpMessageNotReadableException

时间:2017-06-09 08:02:29

标签: spring spring-integration rest-client spring-rest

我们使用了 int-http:outbound-gateway

<int-http:outbound-gateway request-channel="userDataRequest"
                           id="outboundUserDetailsGateway" url-expression="url"
                           http-method="GET" expected-response-type="com.xxx.UserResponse">
</int-http:outbound-gateway>

我们从出站网关打的GET请求工作正常。我们通过各种休息客户/卷曲验证了它。

流程概述

用户点击一些帖子请求(入站请求)。该请求由int-http:inbound-gateway检索。它为了得到一些细节,我们的系统将上面提到的一个GET(出站请求)请求命中给其他系统。

问题 当curl / jmeter / Advance休息客户端完成入站请求(POST)时,它工作正常,如果该请求来自postman / boomerang,那么它正在显示

  

org.springframework.http.converter.HttpMessageNotReadableException:无法读取文档:非法字符((CTRL-CHAR,代码31)):令牌之间只允许使用常规空格(\ r,\ n,\ t)    在[来源:java.io.PushbackInputStream@3f0a204c; line:1,column:2];嵌套异常是com.fasterxml.jackson.core.JsonParseException:非法字符((CTRL-CHAR,代码31)):令牌之间只允许使用常规空格(\ r,\ n,\ t)    在[来源:java.io.PushbackInputStream@3f0a204c; line:1,column:2]

当系统遇到Outbound request(GET)请求时,我们收到此错误。

1 个答案:

答案 0 :(得分:0)

在我们的示例中,我们在服务端Nginx的gzip中包含了application / json。我们只是从gzip中排除了application / json,它对我们有用。