Spring integration 到自定义Http客户端的负载数据在Spring XD中出现错误
Spring XD[使用Spring Integration http outbound gateway创建]中自定义http客户端的有效负载数据给出错误为“ResourceAccessException:将请求主体写入服务器时出错”,数据是大json字符串,我们可以通过POSTMAN/SOAP UI测试json字符串,如果我们减少JSON数据并尝试在有效负载中发布,它会工作,并在数据被修剪时给我们错误的请求,那么有效负载是否需要转换为字节[]? 下面是配置-Spring integration 到自定义Http客户端的负载数据在Spring XD中出现错误,spring-integration,spring-xd,Spring Integration,Spring Xd,Spring XD[使用Spring Integration http outbound gateway创建]中自定义http客户端的有效负载数据给出错误为“ResourceAccessException:将请求主体写入服务器时出错”,数据是大json字符串,我们可以通过POSTMAN/SOAP UI测试json字符串,如果我们减少JSON数据并尝试在有效负载中发布,它会工作,并在数据被修剪时给我们错误的请求,那么有效负载是否需要转换为字节[]? 下面是配置- <int-http:out
<int-http:outbound-gateway id='batch-http' header-mapper="headerMapper"
request-channel='toHttp' url-expression="${url}" http-method="${httpMethod}"
expected-response-type='java.lang.String' charset='${charset}'
reply-timeout='${replyTimeout}' reply-channel='output'>
</int-http:outbound-gateway>
谢谢
学习者您需要显示完整的堆栈跟踪;调试的第一步是尝试在XD之外的一个独立测试用例中使用
RestTemplate
发布JSON。我们尝试使用独立RestTemplate运行相同的JSON请求,并获得了成功响应,但通过XD-stream,我们得到了“400个错误请求”,Spring XD日志文件中没有任何跟踪。由于请求太大,无法共享。下一步是比较restemplate
与XD
中的网络跟踪;使用Wireshark或类似产品。看看这两个请求之间有什么不同。@GaryRussell-我想我发现我通过XD传递给http客户端的问题头数据不同于RestTemplate,这就是RestTemplate工作的原因,所以现在我修改了我的http客户机,只将必需的字段传递给http客户机头,我正在使用DefaultHttpheader映射器传递所有头数据。现在它工作了,我在http客户端之后的流中的下一个模块中获得了所有其他头数据;调试的第一步是尝试在XD之外的一个独立测试用例中使用RestTemplate
发布JSON。我们尝试使用独立RestTemplate运行相同的JSON请求,并获得了成功响应,但通过XD-stream,我们得到了“400个错误请求”,Spring XD日志文件中没有任何跟踪。由于请求太大,无法共享。下一步是比较restemplate
与XD
中的网络跟踪;使用Wireshark或类似产品。看看这两个请求之间有什么不同。@GaryRussell-我想我发现我通过XD传递给http客户端的问题头数据不同于RestTemplate,这就是RestTemplate工作的原因,所以现在我修改了我的http客户机,只将必需的字段传递给http客户机头,我正在使用DefaultHttpheader映射器传递所有头数据。现在它工作了,我在http客户端之后的流中的下一个模块中获得了所有其他头数据。谢谢。。