[英]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.