Spring integration 到自定义Http客户端的负载数据在Spring XD中出现错误

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

Spring XD[使用Spring Integration http outbound gateway创建]中自定义http客户端的有效负载数据给出错误为“ResourceAccessException:将请求主体写入服务器时出错”,数据是大json字符串,我们可以通过POSTMAN/SOAP UI测试json字符串,如果我们减少JSON数据并尝试在有效负载中发布,它会工作,并在数据被修剪时给我们错误的请求,那么有效负载是否需要转换为字节[]? 下面是配置-

 <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客户端之后的流中的下一个模块中获得了所有其他头数据。谢谢。。