[ 
https://issues.apache.org/jira/browse/MEECROWAVE-49?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16071776#comment-16071776
 ] 

Mark Struberg commented on MEECROWAVE-49:
-----------------------------------------

Well, I already reported a bug in the spec. Everything */xxx is kind of a 
wildcard for EVERYTHING. 
*/*+json is like */* really :(
You might remember the discussion on the CXF list?

Anyway, the question now is: do we add Byte arrays ("[B") to the list of 
ignored types? Or do we want to ignore every application/octet-stream content 
via isWriteable in JsonbJaxRsProvider?

For now I'm gonna add a workaround to Meecrowave, but I will also create a 
Johnzon ticket for handling it.

> 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)

Reply via email to