您已经在Stratos Live上部署了网络应用程序我可以在那里运行网络应用程序。但是当我去一个与外部图书馆(Stanforsparser.jar,PdfBox.jar)有依赖关系的特定网页时,它给了我一个空白页面。我在服务器上发现了这个错误日志。我可以在我的本地Stratoes应用程序服务器上运行此webapp而没有任何问题
服务器日志
[WSO2 Stratos Application Server] [2012-03-28 23:40:48,627] @ karsha.opensource.lk [11051] [WSO2 Stratos Application Server]错误 {org.apache.catalina.core.ContainerBase。[Tomcat的]。[defaulthost]。[/吨/ karsha.opensource.lk / web应用/ KarshaMarkUp]。[JSP]} - servlet jsp的Servlet.service()抛出异常{org.apache.catalina.core.ContainerBase。[Tomcat]。[defaulthost]。[/ t / karsha.opensource.lk / webapps / KarshaMarkUp]。[jsp]
导致此错误的原因是什么?
我现在在StratoesLive App服务器上运行我的网络应用程序时在网页上收到此错误,但我没有在本地App服务器上收到此错误。一个bug?虽然我在我的本地机器上调试过,但我找不到错误。
输入例外报告
消息
description服务器遇到内部错误(),导致无法完成此请求。
例外
java.lang.NullPointerException
controler.ControlerServelet.pdfDocToSentence(ControlerServelet.java:755) // I have mentioned thses two lines
controler.ControlerServelet.doPost(ControlerServelet.java:585) // in
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
sun.reflect.GeneratedMethodAccessor1724.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:273)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:270)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:305)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
注意Apache Tomcat / 7.0.14日志中提供了根本原因的完整堆栈跟踪。
答案 0 :(得分:0)
这是因为Stratos安全管理器不允许编写临时文件。提到的外部库在执行时写入临时文件。强制使用内存缓冲区而不是临时文件可以解决错误。