Проблема чтения URL-адреса Java - PullRequest
1 голос
/ 14 марта 2011

Я использую Летающая тарелка для чтения содержимого файла JSP из сервлета и создания PDF. Домен такой же. Он работает на локальном хосте, но не работает на сервере, даже если веб-приложение имеет все привилегии. Я проверил, читая из другого домена (работает), чтение в универсальном файле URL без PDF (не на сервере).

Так что я не уверен, является ли это сервлетом или конфигурацией Tomcat, позволяющей сервлету получать содержимое URL в том же домене?

Вот ошибка тайм-аута:

org.xhtmlrenderer.util.XRRuntimeException: Can't load the XML resource (using TRaX transformer). java.io.IOException: Stream closed
    org.xhtmlrenderer.resource.XMLResource$XMLResourceBuilder.createXMLResource(XMLResource.java:191)
    org.xhtmlrenderer.resource.XMLResource.load(XMLResource.java:71)
    org.xhtmlrenderer.swing.NaiveUserAgent.getXMLResource(NaiveUserAgent.java:211)
    org.xhtmlrenderer.pdf.ITextRenderer.loadDocument(ITextRenderer.java:134)
    org.xhtmlrenderer.pdf.ITextRenderer.setDocument(ITextRenderer.java:138)
    com.cusa.sms.reportprinter.ReportPrinter.doGet(Unknown Source)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:585)
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
    java.security.AccessController.doPrivileged(Native Method)
    javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)

Ответы [ 2 ]

1 голос
/ 14 марта 2011

Чувствую себя массивным идиотом на данный момент, но это исправлено.Имена серверов также разрешаются внутренне, и это не гарантирует, что все хосты делают это автоматически для вас.То, что я мог видеть страницу из моего соединения, не означает, что приложение могло видеть страницу из внутреннего соединения.Поэтому добавление необходимых записей хоста в / etc / hosts решило все проблемы.

0 голосов
/ 14 марта 2011

у вас есть банки, которые вы используете в веб-контенте. простого включения их в проект будет недостаточно, вам действительно нужно перетащить банки в веб-контент, чтобы сервлеты могли иметь к нему доступ.

...