org.xhtmlrenderer.util.XRRuntimeException Не удается загрузить ресурс XML iText PDF - PullRequest
1 голос
/ 04 сентября 2011

У нас есть приложение 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...