繁体   English   中英

Dropwizard HttpClient 多部分 http 请求 - Java

[英]Dropwizard HttpClient Multipart http Request - Java

我收到来自 UI 的多部分请求以上传 csv 文件,但调用正在通过一个 orchestrator 服务(dropwizard 版本:0.9.2)到目标服务(dropwizard 版本:1.2.2)进行上传。 使用 MultipartRequestEntity 在协调器服务中添加对多部分请求的支持时,调用在目标服务失败并出现错误 -

[2022-03-08 16:23:44,474] io.dropwizard.jersey.errors.LoggingExceptionMapper: Error handling a request: 4c0693ee31713edf
! java.util.concurrent.TimeoutException: Idle timeout expired: 30005/30000 ms
! at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:166)
! at org.eclipse.jetty.io.IdleTimeout$1.run(IdleTimeout.java:50)

两种服务在资源层的预期请求:

public void request(@FormDataParam("file") InputStream body,
@FormDataParam("file") FormDataContentDisposition fileDetails,
@FormDataParam("comment") String comment){}                                 

有什么解决办法吗?

在这种情况下,尝试在协调器服务中使用 JerseyClient 而不是 HTTP 客户端来调用目标服务,在协调器服务中创建临时 csv 文件并发送更新的标头(内容类型、内容编码、内容长度、内容语言、主机)在调用目标服务时,它工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM