Description
When XMLStreamDataReader is used to instantiate a stream reader from the original input stream held in the message, closing the reader does not close the original input stream.
As the input stream object is removed from the message during this process, the input stream object cannot be closed by another component (e.g., AbstractHTTPDestination).
The symptom of this problem will appear when large messages are processed, as temp files generated by CachedOutputStream are not deleted because of the missing close() call.