Technical Blog Post
Abstract
Cannot duplicate application in Application Designer
Body
You are working with Application Designer in Maximo and duplicated the Assets application without a problem. Then you have tried duplicating the Locations Application and received the error.
The following error message is displayed :
BMXAA4214E - [An unknown error has occurred. Please contact your system administrator for assistance]
The following errors are found in the logs :
00000b23 SystemErr R java.lang.NullPointerException: null
00000b23 SystemErr R java.lang.NullPointerException
at psdi.app.appsetup.MaxApps.duplicate(MaxApps.java:649)
at psdi.webclient.system.beans.DataBean.duplicateMbo(DataBean.java:4344)
at psdi.webclient.beans.designer.DesignerAppBean.DUPLICATE(DesignerAppBean.java:751)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
at java.lang.reflect.Method.invoke(Method.java:620)
at psdi.webclient.system.session.WebClientSession.defaultHandler(WebClientSession.java:1502)
at psdi.webclient.system.session.WebClientSession.handleEvent(WebClientSession.java:1395)
at psdi.webclient.controls.Menus.click(Menus.java:1894)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
at java.lang.reflect.Method.invoke(Method.java:620)
at psdi.webclient.system.controller.BaseInstance.handleEvent(BaseInstance.java:426)
at psdi.webclient.system.controller.BaseInstance.handleEvent(BaseInstance.java:420)
at psdi.webclient.system.controller.ControlInstance.handleEvent(ControlInstance.java:990)
at psdi.webclient.system.session.WebClientSession.handleEvent(WebClientSession.java:1365)
at psdi.webclient.system.session.WebClientSession.processRequestEvent(WebClientSession.java:6075)
at psdi.webclient.system.session.WebClientSession.handleClientSideQueueRequest(WebClientSession.java:6031)
at psdi.webclient.system.session.WebClientSession.handleRequest(WebClientSession.java:884)
at psdi.webclient.system.session.AsyncRequestManager.handleRequest(AsyncRequestManager.java:555)
at psdi.webclient.system.session.AsyncRequestManager.manageRequest(AsyncRequestManager.java:253)
at psdi.webclient.system.controller.RequestManager.manageRequest(RequestManager.java:214)
at psdi.webclient.servlet.WebClientServlet.handleRequest(WebClientServlet.java:141)
at psdi.webclient.servlet.WebClientServlet.doPost(WebClientServlet.java:52)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1232)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:781)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:480)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97)
at psdi.webclient.system.filter.HttpCrossSiteScriptingSecurity.doFilter(HttpCrossSiteScriptingSecurity.java:66)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
at psdi.webclient.system.filter.MXCorrelationFilter.doFilter(MXCorrelationFilter.java:137)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
at psdi.webclient.system.filter.PerformanceMonitor.doFilter(PerformanceMonitor.java:126)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
at psdi.webclient.system.filter.HttpXFrameOptionsFilter.doFilter(HttpXFrameOptionsFilter.java:38)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
at psdi.webclient.system.filter.MTContextFilter.doFilter(MTContextFilter.java:53)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:940)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)
So, what to do now ?
The answer is : This could be related to some bad data in your Maximo database, or corrupted information.
Check MAXAPPS table and MAXMENU tables by running the following queries :
select * from MAXAPPS order by APP;
select * from MAXMENU order by MODULEAPP;
In some scenarios I have seen this error being caused by a missing information on some attribute. Check this example below :
The error was coming from a null KEYVALUE within the MAXMENU table:
MENUTYPE MODULEAPP POSITION ELEMENTTYPE KEYVALUE
-----------------------------------------------------------------------------------------------------------------------------
APPMENU LOCATION 8000 SEP (NULL)
In order to fix that, you need to run the following update statement to your database:
UPDATE MAXMENU set KEYVALUE = 'AM8000' where MENUTYPE = 'APPMENU' and
MODULEAPP = 'LOCATION' and and POSITION = '8000' and ELEMENTTYPE = 'SEP';
After that restart the Application Server and try and Duplicate the Locations app in Application Designer this time.
You should be able to duplicate it without issues.
Thanks
UID
ibm11112823