Я не могу отобразить преобразованный xml (преобразованный xsls) при запуске файла WAR на развернутом сервере Tomcat 6, предоставленном мне, тогда как при запуске его на Tomcat, который находится на моей машине, он работает нормально.
Код:
StringReader xmlInput = new StringReader(xmlString);
InputStream xslInput = new URL(path).openStream();
Source xmlSource = new StreamSource(xmlInput);
Source xslSource = new StreamSource(xslInput);
// XML result will be written to HTTP response.
Result xmlResult = new StreamResult(response.getOutputStream());
try {
Transformer transformer = TransformerFactory.newInstance()
.newTransformer(xslSource);
transformer.transform(xmlSource, xmlResult);
} catch (Exception e) {
Log.err("xml xslt transform error");
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
return ("return couldn't load file");
}
где путь - это URL-адрес файла xsl на развернутом сервере Tomcat, который доступен через запрос GET.
Почему это не работает на развернутой машине?
Я не совсем уверен, как именно файл WAR запускается на сервере, все, что я знаю, это то, что он запускается на сервере Tomcat 6.0, и я не могу увидеть выходные данные сервера, так как мой профессор не хочет делиться ни эта информация.
Итак, я спрашиваю, что вообще может быть причиной этого?
EDIT
Мне удалось получить больше информации о проблеме. во-первых, нет выдаваемой ошибки, сервлет возвращает статус 200. Во-вторых, в ответ ничего не записано, это означает, что функция преобразования не выполняла какую-то часть своей работы - ни преобразование, ни запись в ответ.