Solved

java.lang.nullpointer exception in weblogic...

Posted on 2006-10-24
10
3,547 Views
Last Modified: 2013-12-10

Hi,

 We are using weblogic as our application server and we have deployed the struts application in the development env of weblogic. The application is working fine. But when we move the same application in the production env we are getting the following error
java.lang.NullPointerException
      at org.apache.struts.tiles.definition.ComponentDefinitionsFactoryWrapper.getDefinition(ComponentDefinitionsFactoryWrapper.java:84)
      at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:152)
      at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:302)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
      at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
      at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
      at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
      at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
      at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
      at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
>



So i dont have any clue y it is working in the development env and not in the production env....

Please help me out and it is quite urgent


Thanks
0
Comment
Question by:gocoool
10 Comments
 
LVL 5

Expert Comment

by:TheVeee
ID: 17798182
Your missing the jar file for struts it sounds like.  Is this the first time you have used them?  If not, then this application is not referencing it in the web.xml.
0
 

Author Comment

by:gocoool
ID: 17798689

The same code i am using in my development evn and it is working fine and when we move it to the production env we are getting this error
0
 

Author Comment

by:gocoool
ID: 17798693
this is my web.xml file


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE web-app PUBLIC
          "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
          "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
      
    <display-name>arm</display-name>
    <description>The Carrier Access Request Management application</description>


      <filter>
            <filter-name>filterAction</filter-name>
            <display-name>filterAction</display-name>
            <filter-class> com.carrier.arm.client.web.actions.common.filterAction</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>filterAction</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      
      
      <servlet>
            <servlet-name>controller</servlet-name>
            <servlet-class>com.carrier.arm.client.web.actions.ARMStartupActionServlet</servlet-class>
            <init-param>
                  <param-name>config</param-name>
                  <param-value>/WEB-INF/struts-config.xml</param-value>
            </init-param>
            <init-param>
                  <param-name>validating</param-name>
                  <param-value>true</param-value>
            </init-param>
            <init-param>
                  <param-name>debug</param-name>
                  <param-value>3</param-value>
            </init-param>
            <init-param>
                  <param-name>ARMLogConfigFile</param-name>
                  <param-value>/WEB-INF/log4j.xml</param-value>
            </init-param>             
            <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet>
            <servlet-name>file</servlet-name>
            <servlet-class>com.carrier.arm.client.web.actions.common.FileAction</servlet-class>
      </servlet>
      <servlet>
            <servlet-name>reportFile</servlet-name>
            <servlet-class>com.carrier.arm.client.web.actions.common.ExportReportAction</servlet-class>
      </servlet>
      <servlet>
            <servlet-name>exportAdminReportAction</servlet-name>
            <servlet-class>com.carrier.arm.client.web.actions.common.ARMAdminReportExportAction</servlet-class>
      </servlet>  
      <servlet>
             <servlet-name>exportUserReportAction</servlet-name>
             <servlet-class>com.carrier.arm.client.web.actions.common.ARMUserReportExportAction</servlet-class>
      </servlet>      
      <servlet>
            <servlet-name>exportRequestToRTF</servlet-name>
            <servlet-class>com.carrier.arm.client.web.actions.common.ExportRequest</servlet-class>
      </servlet>              
      <servlet-mapping>
            <servlet-name>controller</servlet-name>
            <url-pattern>*.do</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
            <servlet-name>file</servlet-name>
            <url-pattern>/fileAction.do</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
            <servlet-name>reportFile</servlet-name>
            <url-pattern>/reportFileAction.do</url-pattern>
      </servlet-mapping>      
      <servlet-mapping>
            <servlet-name>exportAdminReportAction</servlet-name>
            <url-pattern>/exportAdminReportAction.do</url-pattern>
      </servlet-mapping>      
      <servlet-mapping>
            <servlet-name>exportUserReportAction</servlet-name>
            <url-pattern>/exportUserReportAction.do</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
            <servlet-name>exportRequestToRTF</servlet-name>
            <url-pattern>/exportRequestToRTFAction.do</url-pattern>
      </servlet-mapping>               
         

    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>

    <welcome-file-list>
        <welcome-file>/jsp/login/Login.jsp</welcome-file>
    </welcome-file-list>
   
              
    <taglib>
        <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
        <taglib-location>/WEB-INF/tlds/struts-bean.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
        <taglib-location>/WEB-INF/tlds/struts-html.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
        <taglib-location>/WEB-INF/tlds/struts-logic.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
        <taglib-location>/WEB-INF/tlds/struts-nested.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
        <taglib-location>/WEB-INF/tlds/struts-template.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
        <taglib-location>/WEB-INF/tlds/struts-tiles.tld</taglib-location>
    </taglib>
   
</web-app>
0
 
LVL 16

Accepted Solution

by:
suprapto45 earned 168 total points
ID: 17801793
Check if the tld files are present or not in PROD. However, if you deploy the EAR file, it should be included already.

Another thing is that check your startWebLogic.cmd. Check whether you are referencing the same jar files or not (just in case).
0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 
LVL 11

Assisted Solution

by:sompol_kiatkamolchai
sompol_kiatkamolchai earned 166 total points
ID: 17803293
Hi,

If you are deploying the same .ear file to two environment, and only one of them is working fine. It might be something different in the server configuration. Please check.

For my guess,
1.Check whether the following jar file is in the lib of application or not ( in APP-INF/lib or WEB-INF/lib )
    - commons-beanutils.jar
    - commons-digester.jar
    - commons-collections.jar
    - commons-logging.jar
2.If no.1 doesn't help, take a look on the following link
    http://www.oracle.com/technology/oramag/oracle/04-may/o34dev_struts.html

Hope this help.
Sompol
0
 

Author Comment

by:gocoool
ID: 17805882


Hi guys,

  Thanks for your replies. It has been fixed. I dont know wht is the change but when we redeployed the code it worked fine.. Hope the same problem will not arise


Thanks a log guys
0
 

Author Comment

by:gocoool
ID: 17814261
Hi guys,


    Today morning we moved the same application to the cluster env and it started giving the same error. The browser error is
Error 500--Internal Server Error
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.5.1 500 Internal Server Error
The server encountered an unexpected condition which prevented it from fulfilling the request.

I have given the error log above. Please help me out it is quite urgent for me

Thanks
 
0
 
LVL 6

Assisted Solution

by:Ajar
Ajar earned 166 total points
ID: 17817644
Looks like there is soem difference between the Server classpath of dev and production servers
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Suggested Solutions

Verbose logging is used to diagnose garbage collector problems. By default, -verbose:gc output is written to either native_stderr.log or native_stdout.log.   It is also possible to redirect the logs to a user-specified file. This article will de…
There are numerous questions about how to setup an IBM HTTP Server to be administered from WebSphere Application Server administrative console. I do hope this article will wrap things up and become a reference for this task. You need three things…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now