On 26/02/13 15:18, Benson Margulies wrote:
So, I've absently-constructed the following problem.
I've got a JAX-RS service that does, essentially, all of its work in a
StreamingOutput object. It also has an error mapper that produces a
Json body to go with the 400 status code in the error response.
You can see where this goes: the code succeeds in writing *some* of
the output, encounters an exception, and then sets up the error
response. CXF dutifully serializes it, resulting in a mess consisting
of the beginning of the original output followed by the error output.
Is this a CXF problem? Does the standard offer any guidance?
CXF can help a bit, if you set an "org.apache.cxf.output.buffering"
contextual property, or "enableBuffering" directly on
BinaryDataProvider, then it will work as expected, but at the cost of
buffering the data and then flushing them at a later stage, so the
benefits of using StreamingOutput will be lost...
Cheers, Sergey