0

So my situation is a bit odd because I am looking at a server with no access to the source code. Everything regarding the servlets has worked fine up until now, but there is this sudden, spontaneous error that has come up regarding one of the Java servlets having a null pointer exception.

Here is the error log:

INFO: Added header: Cache-Control: no transform
8-Apr-2014 10:57:16 AM org.apache.catalina.core.ApplicationContext log
INFO: Added header: Cache-Control: no cache
8-Apr-2014 10:57:16 AM org.apache.catalina.core.ApplicationContext log
INFO: Attempted context: null
8-Apr-2014 10:57:16 AM org.apache.catalina.core.ApplicationContext log
INFO: Request URI: /public_stage//def.jsp
8-Apr-2014 10:57:16 AM org.apache.catalina.core.ApplicationContext log
INFO: Real path:  /opt/apps/tomjet/webapps/public_stage/def.jsp
8-Apr-2014 10:57:16 AM org.apache.catalina.core.ApplicationContext log
INFO: servlet context: null
8-Apr-2014 1:35:02 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet PushServletMAG threw exception
java.lang.NullPointerException
        at com.openwave.wappush.Pusher.netSendRequest(Pusher.java:312)
        at com.openwave.wappush.Pusher.send(Pusher.java:230)
        at ca.test.servlet.ExtendedPush.pushServiceIndication(ExtendedPush.java:105)
        at ca.test.servlet.CDMAPushServlet.doPost(CDMAPushServlet.java:180)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:419)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:619)

However going over to the catalina file I notice that it states that in a few locations, it is trying to validate .jar files, and that there are servlet.jar files not being loaded in the WEB-INF/lib directory.

Here is an example of a line with a certain location:

8-Apr-2014 2:02:00 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/opt/apps/tomjet/webapps/wapMIG/WEB-INF/lib/servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

Overall I am quite baffled by this problem as in terms of user interaction with the source code there was absolutely none as no one has access to it. It was just so sudden and spontaneous.

Any ideas/sources that could possibly help me with this problem? Much appreciated.

user3075099
  • 89
  • 1
  • 10

1 Answers1

0

The error is the jar servlet-api.jar in your WEB-INF/folder, the container provide the servlet-api.jar and it cause the problem in deployment, you need to remove this jar from your lib folder. You could need this jar to compile your project, so you must configure the project to use this jar in your IDE, in eclipse you can add it in the Java Build Path as an external jar, but I recommend you to enable the Web Dynamic Project Facet and configuring tomcat as your runtime enviroment. (Project -> Properties -> Project Facets)

Cesar Loachamin
  • 2,740
  • 4
  • 25
  • 33