Isn't this a bit inefficient? I often have to return very large results, and the fact that the WebServiceMessage implementation (SaajSoapMessage) stores the results first in a DOM tree before rendering it to the OutputStream means that my service systematically runs out of memory.
Isn't there a way to directly serialize back to the client? I can do that with XFire.
