[ https://issues.apache.org/jira/browse/MEECROWAVE-49?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16071763#comment-16071763 ]
Mark Struberg edited comment on MEECROWAVE-49 at 7/2/17 7:40 PM: ----------------------------------------------------------------- Managed to reproduce the problem. Setting a String to the response does work, but a byte[] makes it blow up: Works: {code} return Response.ok("byte array forever").build(); {code} Fails with the Exception as above: {code} return Response.ok("byte array forever".getBytes()).build(); {code} was (Author: struberg): Managed to reproduce the problem. Setting a String to the response does work, but a byte[] makes it blow up: Works: {source:java} return Response.ok("byte array forever").build(); {source} Fails with the Exception as above: {source:java} return Response.ok("byte array forever".getBytes()).build(); {source} > Returning a binary leads to nullpointers > ---------------------------------------- > > Key: MEECROWAVE-49 > URL: https://issues.apache.org/jira/browse/MEECROWAVE-49 > Project: Meecrowave > Issue Type: Bug > Affects Versions: 0.3.1 > Reporter: Mark Struberg > Assignee: Mark Struberg > Fix For: 0.4.0 > > > Currently Meecrowave tries to serve too much mime types via Johnzon. This > leads to ugly NullPointerExceptions. > Given the following REST endpoints: > {code:java} > @GET > @Path("test4") > @Produces(MediaType.APPLICATION_OCTET_STREAM) > public Response testOctetStream() { ...} > {code} > or > {code:java} > @GET > @Path("test5") > @Produces(MediaType.APPLICATION_OCTET_STREAM) > public byte[] testOctetStream() { ...} > {code} > We currently blow up with a NPE: > {noformat} > Caused by: java.lang.ClassCastException: [B cannot be cast to > [Ljava.lang.Object; > at org.apache.johnzon.jsonb.JohnsonJsonb.toJson(JohnsonJsonb.java:313) > ~[johnzon-jsonb-1.1.1.jar:1.1.1] > at > org.apache.johnzon.jaxrs.jsonb.jaxrs.JsonbJaxrsProvider.writeTo(JsonbJaxrsProvider.java:152) > ~[johnzon-jsonb-1.1.1.jar:1.1.1] > at > org.apache.cxf.jaxrs.utils.JAXRSUtils.writeMessageBody(JAXRSUtils.java:1386) > ~[cxf-rt-frontend-jaxrs-3.1.11.jar:3.1.11] > at > org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:244) > ~[cxf-rt-frontend-jaxrs-3.1.11.jar:3.1.11] > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)