Я получаю SelfExpandingBufferedInputStream из ответа клиента и хочу преобразовать его в XSSFWorkbook poi. Но я получаю ошибку ниже,
java.lang.UnsupportedOperationException: RESTEASY003000: SelfExpandingBufferredInputStream всегда помечен индексом 0. at org.jboss.resteasy.client.jaxrs.engines.SelfExpandingBufferredInputStream.mark(SelfExpandingBufferredInputStream.java:39) в java.io.FilterInputStream.mark(FilterInputStream.java:201)
ниже приведен пример кода, используемый для подачи XSSFWorkbook,
final Response httpResponse = webTarget.path(REQUEST_PATH).resolveTemplate("docId", docId)
.request("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")// same error with and without this
.header(RequestInvokerConstants.ACCEPT_TYPE, MediaType.WILDCARD )
.header("context", context).get();
InputStream inputStream = httpResponse.readEntity(InputStream.class);
Workbook workbook = new XSSFWorkbook(inputStream); //getting error in this line
Ответом restClient.downloadDocument будет "ClientResponse$InputStreamWrapper", который будет назначен InputStream
poi-ooxml и версия poi 4.1.2
Заранее спасибо!!
Похоже, у вас
InputStream
, который не полностью соответствует спецификации. Попробуйте завернуть вBufferedInputStream
?@Gagravarr спасибо за ответ. Пробовал с этим и раньше, но получил такое же исключение