Unfortunately, the JAX-RS TCK expects that the MBW is not matched until 
after the WriterInterceptor is invoked.   We used to match prior to 
invoking the interceptor chain...

So, you have 2 options:

1. In your WriterInterceptor buffer the json marshalling, change the 
content header, flush the buffer.

2. Write a special MBW that delegates to the JSON writer and sets the 
content header before doing this.

Make sense?

On 6/7/2014 1:00 PM, Heiko W.Rupp wrote:
> Hey,
>
> I have a use case where the user is requesting jsonp encoding e.g. via custom 
> media type or a .jsonw ending.
>
> Anyway. I can intercept the call and surround with "jsonp();" successfully, 
> but the returned
> content-type needs to be changed to "application/javascript".
>
> I could accept that as incoming type, but then RE is complaining about no 
> matching MessageBodyWriter.
>
> So I am thinking of using ContainerWriteFilter to re-write this, but the 
> calls seem to be
>
> MessageHandler method (@GET foo() {} )  (1)
> ContainerWriteFilter   (2)
> <message body writer> (3)
> WriterInterceptor. (4)
> (5)
>
> So when I rewrite the content header in (2) a the mbw in (3) complains about 
> wrong type and
> in (4) I can not check if the desired content type is my custom one to 
> request the wrapping or not.
>
> So I would need to run a ContainerWriteFilter at (5) to rewrite the header 
> *after* the interceptor has run.
>
> In RHQ I solved that with a normal servlet filter, but it looks like this 
> does not work here because
> of Async processing (and rewriting the filter with an AsyncListener has its 
> own issues )
>
> Thanks
>     Heiko
>
>
> ------------------------------------------------------------------------------
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/NeoTech
> _______________________________________________
> Resteasy-users mailing list
> Resteasy-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/resteasy-users
>

-- 
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their 
applications. Written by three acclaimed leaders in the field, 
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Resteasy-users mailing list
Resteasy-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/resteasy-users

Reply via email to