MessageBodyReader не найден для типа носителя = application/pdf,JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 MessageBodyReader не найден для типа носителя = application/pdf,

Сообщение Anonymous »

Моя проблема в том, что когда я пытаюсь получить PDF-файл из веб-службы, он выдает мне эту ошибку "org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyReader не найден для типа носителя = application/pdf, type = class java.io.ByteArrayInputStream, genericType=class java.io.ByteArrayInputStream."

Код: Выделить всё

 @GET
@Path("/reporte/{id}/{fecha1}/{fecha2}")
@Produces("application/pdf")
public Response generarResumenAnualPlanilla(@PathParam("id") Long id, @PathParam("fecha1") String fecha1,@PathParam("fecha2") String fecha2) {
try {
ByteArrayOutputStream reporte = usuarioService.generateUserReport(id, fecha1, fecha2);

// Retornar el archivo generado en la respuesta
return Response.ok(new ByteArrayInputStream(reporte.toByteArray()))
.type("application/pdf")
.header("Content-Disposition", "attachment; filename=reporte1.pdf")
.build();
} catch (Exception ex) {
Logger.getLogger(UsuarioController.class.getName()).log(Level.SEVERE, null, ex);
return Response.status(CodigoRespuesta.ERROR_INTERNO.getValue()).entity("Error generando el reporte").build();
}
} ---------------------
------------------
public Respuesta reporte1(Long id, String fechaInicio, String fechaFinal) {
try {

Map parametros = new HashMap();
parametros.put("id", id);
parametros.put("fecha1", fechaInicio);
parametros.put("fecha2", fechaFinal);

Request request = new Request("UsuarioController/reporte", "/{id}/{fecha1}/{fecha2}", parametros);
request.get();

if (request.isError()) {
return new Respuesta(false, request.getError(), "");
}
ByteArrayInputStream reporteStream = (ByteArrayInputStream) request.readEntity(ByteArrayInputStream.class);
if (reporteStream == null) {
return new Respuesta(false, "Error obteniendo el archivo PDF.", "");
}

return new Respuesta(true, "", "", "ReportePDF", reporteStream);

} catch (Exception ex) {

Logger.getLogger(UsuarioService.class.getName()).log(Level.SEVERE, "Error con el reporte", ex);
return new Respuesta(false, "Error con el reporte1.", "reporte1 " + ex.getMessage());
}
}

}
это то, что я пытаюсь сделать

Подробнее здесь: https://stackoverflow.com/questions/791 ... cation-pdf
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»