RestEasy Web サービスから Excel ファイルを作成/返したいのですが、うまく動作しません。以下のコード (疑似コード) を実行すると、次のエラーが発生します。
org.jboss.resteasy.core.NoMessageBodyWriterFoundFailure: タイプの応答オブジェクトの MessageBodyWriter が見つかりませんでした: メディア タイプの java.io.FileOutputStream: application/vnd.ms-excel
ここにいくつかのコードがあります
@POST
@Path("/exportMyData")
@Produces("application/vnd.ms-excel")
public Response getMyData(@FormParam("id") String id) {
HSSFWorkbook hwb = new HSSFWorkbook();
ResponseBuilder response = null;
try{
List<Alert> alertList= service.getAlerts(id);
HSSFSheet sheet = hwb.createSheet("new sheet");
HSSFRow rowhead= sheet.createRow((short)0);
rowhead.createCell((int) 0).setCellValue("ID");
rowhead.createCell((int) 1).setCellValue("Name");
rowhead.createCell((int) 2).setCellValue("Age");
for(Alert alert : alertList){
HSSFRow row= sheet.createRow((short)1);
row.createCell((int) 0).setCellValue(alert.getId());
row.createCell((int) 1).setCellValue(alert.getName());
row.createCell((int) 2).setCellValue(alert.getAge());
}
FileOutputStream fos = new FileOutputStream("mystream.xls");
hwb.write(fos);
response = Response.ok(fos);
response.header("Content-disposition","attachment; filename=export.xls");
}catch(Exception e){
}
return response.build();
}
何か案は?前もって感謝/エリック