Важным моментом здесь является то, что вы должны выполнить процесс XSLT в памяти, где преобразование выполняется с помощью источника DOMSource на выходе из вашего веб-сервиса.
Типичным сценарием является размещение XSLT-файлов в вашем пути к классам и загрузка их через загрузчик классов (getResourceAsStream), который можно использовать в вашем StreamSource. Более эффективный подход заключается в создании объекта Templates (предварительно скомпилированного XSLT), который можно выполнить в начале вашей программы, заранее обнаружив любые синтаксические ошибки.