Вот предварительный просмотр моего кода:
WebTarget target = client.target(url);
response = target.request().header("Authorization", token).header("X-RequestID", uuid).get();
if (response.getStatus() == 200) {
inputStream = response.readEntity(InputStream.class);
return IOUtils.readFully(inputStream, response.getLength());
}
Я получил следующее исключение:
org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body (expected: 15455297; received: 3667347
at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:178) ~[httpcore-4.4.5.jar!/:4.4.5]
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135) ~[httpclient-4.5.4.jar!/:4.5.4]
at java.io.FilterInputStream.read(FilterInputStream.java:133) ~[?:?]
at org.jboss.resteasy.specimpl.AbstractBuiltResponse$InputStreamWrapper.read(AbstractBuiltResponse.java:580) ~[resteasy-jaxrs-3.7.0.Final.jar!/:3.7.0.Final]
at org.apache.commons.io.IOUtils.read(IOUtils.java:3077) ~[commons-io-2.6.jar:2.6]
at org.apache.commons.io.IOUtils.readFully(IOUtils.java:3183) ~[commons-io-2.6.jar:2.6]
at org.apache.commons.io.IOUtils.readFully(IOUtils.java:3222) ~[commons-io-2.6.jar:2.6]
Я пытаюсь проверить, идет ли ошибка с конечной точки. Однако тот же вызов API, который выполняется в curl
и postman
, фактически загружает весь файл без ошибок.
Любые советы о том, как отладить это, будут оценены. Спасибо!