У нас есть приложение Struts 2, в котором мы реализовали функцию загрузки / извлечения содержимого веб-страницы / JSP в PDF. Мы используем iText для того же.
Эта функциональность прекрасно работает, когда я запускаю приложение в моей локальной среде Dev и отлично работает на отдельном тестовом сервере, т.е.
приложение с использованием отдельных URL-адресов сервера. Недавно мы перенесли приложение в Test и у нас настроен URL домена. После перехода на URL домена,
Функция загрузки / извлечения PDF выдает ошибку. Ниже приведен код и трассировка стека из server.log.
(К вашему сведению ... Я запускаю приложение на сервере JBoss 5.)
Мне срочно нужно решить эту проблему, попросите кого-нибудь, пожалуйста, помогите мне в этом.
Код: эта функция вызывается внутри моего класса действий - DownloadPriceSheetAction.
private String generatePDF(HttpServletRequest request) throws Exception {
File tempFile = File.createTempFile(ApplicationConstants.PRICE_SHEET,
ApplicationConstants.PDF);
OutputStream os = new FileOutputStream(tempFile);
StringBuilder stringURLBuilder = new StringBuilder();
stringURLBuilder.append(request.getScheme());
stringURLBuilder.append(ApplicationConstants.PDF_COLLEN);
stringURLBuilder.append(ApplicationConstants.PDF_DOUBLE_SLASH);
stringURLBuilder.append(request.getServerName());
stringURLBuilder.append(ApplicationConstants.PDF_COLLEN);
stringURLBuilder.append(request.getServerPort());
stringURLBuilder.append(request.getContextPath());
stringURLBuilder.append(ApplicationConstants.PDF_SLASH);
stringURLBuilder.append(ApplicationConstants.PDF_ACTION);
stringURLBuilder.append(getGenerateURL());
logger.debug("\n URL = " + stringURLBuilder.toString() + "\n");
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(stringURLBuilder.toString());
renderer.layout();
renderer.createPDF(os);
os.close();
fileInputStream = new FileInputStream(tempFile);
return ApplicationConstants.PDF;
}