This content has been marked as final.
Show 2 replies
-
1. Re: RESTeasy returning file as response
idyoshin Nov 26, 2009 4:41 PM (in response to idyoshin)I've created some additional Producer for JAX-RS:
@Name("fileContentWriterRESTEasy") @Scope(ScopeType.APPLICATION) @Provider @Produces("application/x-file-download") public class FileContentWriter implements MessageBodyWriter<byte[]>, Serializable { @Override public long getSize(byte[] file, Class<?> arg1, Type arg2, Annotation[] arg3, MediaType arg4) { return file.length; } @Override public boolean isWriteable(Class<?> arg0, Type arg1, Annotation[] arg2, MediaType arg3) { return true; } @Override public void writeTo(byte[] file, Class<?> arg1, Type arg2, Annotation[] arg3, MediaType arg4, MultivaluedMap<String, Object> arg5, OutputStream os) throws IOException, WebApplicationException { os.write(file); } }
And use it like:
@Name("synchroAccounting") @Path("/synchro") @Scope(ScopeType.APPLICATION) public class SynchroAccounting { @Logger Log log; @In(create=true) EntityManager entityManager; @GET @Path("/spr_fiz_lic") public byte[] sprFizLic() { try { String fname = UUID.randomUUID().toString(); DBF dbf = new DBF(fname, true); CharField id = new CharField("id",36); CharField fio = new CharField("fio",200); DateField denRojd = new DateField("denRojd"); dbf.addField(id); dbf.addField(fio); dbf.addField(denRojd); List<SprFizLic> res = entityManager.createQuery("SELECT o FROM SprFizLic o ").setMaxResults(100).getResultList(); for (SprFizLic sprFizLic : res) { id.put(sprFizLic.getId()); fio.put(sprFizLic.getDescription()); denRojd.put(sprFizLic.getDenRojd()); dbf.write(); } dbf.close(); return dbf.buffer.array(); } catch (IOException ex ) { log.trace(ex); } catch (xBaseJException e) { log.trace(e); } return null; } }
The system runs the query - and then it dies. and returns 403 reponse. Any Idea??
-
2. Re: RESTeasy returning file as response
csherstan Apr 12, 2010 10:18 PM (in response to idyoshin)Did you ever get this figured out? I'm seeing the 403 response whenever I return a JSON response or when I return a collection with XML.