[ 
https://issues.apache.org/jira/browse/MEECROWAVE-49?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Romain Manni-Bucau updated MEECROWAVE-49:
-----------------------------------------
    Description: 
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}

  was:
Currently Meecrowave tries to serve ALL 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}


> 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