WebSphere web.xml / bindings issue
Solution 1
The problem was caused by having two different servlets with the same name. Once I took out the items provided below I was able to start the application successfully again.
<servlet-mapping>
<servlet-name>
default
</servlet-name>
<url-pattern>
/css/*.css
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>
default
</servlet-name>
<url-pattern>
/js/*.js
</url-pattern>
</servlet-mapping>
I hope this helps others out.
Solution 2
Check if you are going to install the same ear (with different name) which already installed in WAS.
I was getting a similar exception for the above issue
![jwmajors81](https://i.stack.imgur.com/gnEl6.jpg?s=256&g=1)
jwmajors81
Updated on December 18, 2020Comments
-
jwmajors81 over 3 years
I just recently started having issues while deploying EARS within websphere. The error I get after I install the apps is provided below.
------Start of DE processing------ = [7/18/10 10:51:19:309 CDT] , key = javax.management.MBeanException com.ibm.ws.management.AdminServiceImpl.invoke 679 Exception = javax.management.MBeanException Source = com.ibm.ws.management.AdminServiceImpl.invoke probeid = 679 Stack Dump = javax.management.MBeanException: Exception thrown in RequiredModelMBean while trying to invoke operation startApplication at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1119) at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:973) ... ... at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497) Caused by: com.ibm.ws.exception.RuntimeError: java.lang.RuntimeException: java.lang.NullPointerException at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:955) at com.ibm.ws.runtime.component.ApplicationMgrImpl$1.run(ApplicationMgrImpl.java:1437) at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:4191) at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:4289) at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:245) at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1442) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ... ... at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:271) at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1092) ... 64 more Caused by: java.lang.RuntimeException: java.lang.NullPointerException at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:884) at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:921) ... 79 more Caused by: java.lang.NullPointerException at com.ibm.ws.wswebcontainer.webapp.WebAppConfigurationHelper.constructServletMappings(WebAppConfigurationHelper.java:406) at com.ibm.ws.wswebcontainer.webapp.WebAppConfigurationHelper.createConfiguration(WebAppConfigurationHelper.java:148) at com.ibm.ws.webcontainer.metadata.WebMetaDataFactory.createMetaData(WebMetaDataFactory.java:180) at com.ibm.ws.runtime.component.MetaDataMgrImpl.createMetaDataFromFactories(MetaDataMgrImpl.java:172) at com.ibm.ws.runtime.component.MetaDataMgrImpl.createMetaData(MetaDataMgrImpl.java:306) at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:581) at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:834) ... 80 more Dump of callerThis = Object type = com.ibm.ws.management.AdminServiceImpl$1 com.ibm.ws.management.AdminServiceImpl$1@60726072 parm[0] = WebSphere:name=ApplicationManager,process=server1,platform=proxy,node=cc503216Node02,version=6.1.0.29,type=ApplicationManager,mbeanIdentifier=ApplicationManager,cell=cc503216Node02Cell,spec=1.0 ==> Performing default dump from com.ibm.ws.management.dm.JmxDM = Sun Jul 18 10:51:19 CDT 2010 Dump of callerThis = Object type = com.ibm.ws.management.AdminServiceImpl$1 val$origName = oldSerialVersionUID = -5467795090068647408 newSerialVersionUID = 1081892073854801359 oldSerialPersistentFields = [Ljava.io.ObjectStreamField;@7b127b12 newSerialPersistentFields = {} serialVersionUID = 1081892073854801359 serialPersistentFields = this.val$origName.newSerialPersistentFields compat = false _Empty_property_array = {} _EmptyPropertyList = java.util.Hashtable@7e287e28 _canonicalName = WebSphere:cell=cc503216Node02Cell,mbeanIdentifier=ApplicationManager,name=ApplicationManager,node=cc503216Node02,platform=proxy,process=server1,spec=1.0,type=ApplicationManager,version=6.1.0.29 _kp_array = [Ljavax.management.ObjectName$Property;@57a257a2 _ca_array = [Ljavax.management.ObjectName$Property;@57be57be _domain_length = 9 _propertyList = java.util.Hashtable@60846084 _domain_pattern = false _property_pattern = false val$operationName = startApplication val$params = [0] = CommercialWSIntegration val$signature = [0] = java.lang.String this$0 = com.ibm.ws.management.AdminServiceImpl@9bc09bc +Data for directive [defaultjmx] obtained. = ==> Dump complete for com.ibm.ws.management.dm.JmxDM = Sun Jul 18 10:51:19 CDT 2010
I believe this has something to do with the resource bindings within the web.xml, but I'm not sure. I have not created the ibm proprietary binding files and included those in the EAR, but rather am expecting that to be done as part of the deployment process. In order to accomplish that I have tried telling it to generate new bindings while overwriting the existing ones, and other combination of bindings settings, but I always seem to get the error above. I have provided my web.xml below. Can you identify anything that looks wrong? I have tried removing the id attribute for the resource-ref elements, but that didn't seem to help.
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name> CommercialWSIntegrationWARProject </display-name> <context-param> <param-name> log4jConfigLocation </param-name> <param-value> /WEB-INF/log4j.xml </param-value> </context-param> <!-- Reads request input using UTF-8 encoding --> <filter> <filter-name> characterEncodingFilter </filter-name> <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class> <init-param> <param-name> encoding </param-name> <param-value> UTF-8 </param-value> </init-param> <init-param> <param-name> forceEncoding </param-name> <param-value> true </param-value> </init-param> </filter> <filter-mapping> <filter-name> characterEncodingFilter </filter-name> <url-pattern> /* </url-pattern> </filter-mapping> <listener> <listener-class> org.springframework.web.util.Log4jConfigListener </listener-class> </listener> <servlet> <description> </description> <display-name> CommercialPDInitServlett </display-name> <servlet-name> CommercialPDInitServlett </servlet-name> <servlet-class> com.inscompany.cqp.integration.CommercialPDInitServlett </servlet-class> <load-on-startup> -1 </load-on-startup> </servlet> <servlet> <servlet-name> Spring MVC Dispatcher Servlet </servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <init-param> <param-name> contextConfigLocation </param-name> <param-value> /WEB-INF/spring/app-config.xml </param-value> </init-param> <load-on-startup> 1 </load-on-startup> </servlet> <servlet-mapping> <servlet-name> default </servlet-name> <url-pattern> /css/*.css </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> default </servlet-name> <url-pattern> /js/*.js </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> CommercialPDInitServlett </servlet-name> <url-pattern> /Initialize </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> Spring MVC Dispatcher Servlet </servlet-name> <url-pattern> /rest/* </url-pattern> </servlet-mapping> <resource-ref id="ResourceRef_1191955667160"> <description> </description> <res-ref-name> url/pdProps </res-ref-name> <res-type> java.net.URL </res-type> <res-auth> Container </res-auth> <res-sharing-scope> Shareable </res-sharing-scope> <mapped-name>url/pdProps</mapped-name> </resource-ref> <resource-ref id="ResourceRef_1191957500691"> <description> </description> <res-ref-name> jdbc/CCDB2 </res-ref-name> <res-type> javax.sql.DataSource </res-type> <res-auth> Container </res-auth> <res-sharing-scope> Shareable </res-sharing-scope> <mapped-name>jdbc/CCDB2</mapped-name> </resource-ref> <resource-ref id="ResourceRef_1271699412761"> <description> </description> <res-ref-name> jms/QMGR </res-ref-name> <res-type> javax.jms.ConnectionFactory </res-type> <res-auth> Container </res-auth> <res-sharing-scope> Shareable </res-sharing-scope> <mapped-name>jms/QMGR</mapped-name> </resource-ref> <resource-ref id="ResourceRef_1271699443228"> <description> </description> <res-ref-name> jms/SVC.MDB.APP </res-ref-name> <res-type> javax.jms.Queue </res-type> <res-auth> Container </res-auth> <res-sharing-scope> Shareable </res-sharing-scope> <mapped-name>jms/SVC.MDB.APP</mapped-name> </resource-ref> </web-app>
Thank you very much for your assistance. Jeremy