[ https://issues.apache.org/jira/browse/CXF-3719?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13082317#comment-13082317 ]
Sergey Beryozkin commented on CXF-3719: --------------------------------------- I reproduced the issue yesterday. At this stage I think TranformOutInterceptor can not work with Jettison-based JSON provider and the only 'fix' I can apply is to prevent NPE and throw a better exception. This is not to say JSON output can not be transformed, the problem is that Jettison needs OutputStream when creating its Mapped writer and using TransformFeature for out transformations creates TransformOutWriter too early - it should be created after Jettison writer has been created so that it can delegate to it. Thus, for all sort of out transformations please configure JSONProvider directly: http://cxf.apache.org/docs/jax-rs-data-bindings.html#JAX-RSDataBindings-CustomizingJAXBXMLandJSONinputandoutput This will result in TransformOutInterceptor created after Jettison writer has been created. Or use ignoreNamespaces property if you only need to drop prefixes. This restriction only applies to the output JSON transforms - input ones should work ok with TransformInInterceptor. I'll update the docs shortly > NullPointerException When using TransformOutInterceptor > ------------------------------------------------------- > > Key: CXF-3719 > URL: https://issues.apache.org/jira/browse/CXF-3719 > Project: CXF > Issue Type: Bug > Components: JAX-RS > Affects Versions: 2.4.1 > Environment: Linux 2.6.29, java 1.6.0_16 > Reporter: Christopher Marshall > > I have attempted to remove the namespace prefixes outbound JSON messages by > using the TransformOutInterceptor. At line 87 it explicitly does > message.removeContent(OutputStream.class); > and this eventually causes a NullPointerException in the constructor of > java.io.Writer. The MessageImpl class has an array called defaultContents > that would have otherwise had an entry containing > HTTPConduit$WrappedOutputStream that would have been passed through multiple > layer to the constructor of java.io.writer. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira