Good morning,
We are experiencing errors with EDSChoice.java from the EDSPlugin.jar. On line 34, it pulls the displayname for a passed in choiceList.
choice.displayName = jsonChoice.get("displayName").toString();
and for some reason this is throwing a null pointer. It's not showing any errors on the screen or stopping any processing, the system administrators just want it to stop showing up in the logs. It only throws the error for a single document class and it throws specifically whenever a person searches, edits, or saves a document. I'm completely lost about what's causing the issue. When debugging, I can clearly see all the choice lists populated in the JSON response.
Error code:
[10/31/25 12:01:42:576 CDT] 000000ae SystemErr R CIWEB Error: [chegel@0:0:0:0:0:0:0:1] com.ibm.ecm.util.PluginUtil.invokeFilter() Exception invoking response filters,
java.lang.NullPointerException
at com.ibm.ecm.extension.eds.model.EDSChoice.fromJSON(EDSChoice.java:34)
at com.ibm.ecm.extension.eds.model.EDSChoiceList.fromJSON(EDSChoiceList.java:42)
at com.ibm.ecm.extension.eds.model.EDSProperty.fromJSON(EDSProperty.java:104)
at com.ibm.ecm.extension.eds.EDSInvocation.invokeUpdateObjectType(EDSInvocation.java:160)
at com.ibm.ecm.extension.eds.filters.OpenItemFilter.filter(OpenItemFilter.java:52)
at com.ibm.ecm.util.PluginUtil$PluginFilterResponse.invokeFilter(PluginUtil.java:2044)
at com.ibm.ecm.util.PluginUtil$PluginFilterResponse.access$200(PluginUtil.java:2026)
at com.ibm.ecm.util.PluginUtil.lambda$invokeResponseFilters$11(PluginUtil.java:2021)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1395)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:591)
at com.ibm.ecm.util.PluginUtil.invokeResponseFilters(PluginUtil.java:2021)
at com.ibm.ecm.mediator.BaseMediator.writeJSONResponse(BaseMediator.java:690)
at com.ibm.ecm.struts.actions.BaseAction.writeJSONMediator(BaseAction.java:422)
at com.ibm.ecm.struts.actions.p8.P8GetItemAction.executeAction(P8GetItemAction.java:232)
at com.ibm.ecm.struts.actions.p8.P8BaseAction.executeBaseAction(P8BaseAction.java:173)
at com.ibm.ecm.struts.actions.BaseActionHandlerImpl.executeAction(BaseActionHandlerImpl.java:473)
at com.ibm.ecm.struts.actions.BaseAction.execute(BaseAction.java:75)
at com.ibm.ecm.jaxrs.Actions.doExecute(Actions.java:986)
at com.ibm.ecm.jaxrs.Actions.loadAndExecuteAction(Actions.java:950)
at com.ibm.ecm.jaxrs.Actions.handleAction(Actions.java:127)
at com.ibm.ecm.jaxrs.Actions.handlePostRepositoryActions(Actions.java:251)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:508)
at com.ibm.ws.jaxrs20.server.LibertyJaxRsServerFactoryBean.performInvocation(LibertyJaxRsServerFactoryBean.java:650)
at com.ibm.ws.jaxrs20.server.LibertyJaxRsInvoker.performInvocation(LibertyJaxRsInvoker.java:108)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
at com.ibm.ws.jaxrs20.server.LibertyJaxRsInvoker.invoke(LibertyJaxRsInvoker.java:176)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:191)
at com.ibm.ws.jaxrs20.server.LibertyJaxRsInvoker.invoke(LibertyJaxRsInvoker.java:364)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:101)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:73)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:111)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:309)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:136)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:280)
at com.ibm.ws.jaxrs20.endpoint.AbstractJaxRsWebEndpoint.invoke(AbstractJaxRsWebEndpoint.java:147)
at com.ibm.websphere.jaxrs.server.IBMRestServlet.handleRequest(IBMRestServlet.java:192)
at com.ibm.websphere.jaxrs.server.IBMRestServlet.doPost(IBMRestServlet.java:150)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at com.ibm.websphere.jaxrs.server.IBMRestServlet.service(IBMRestServlet.java:138)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1240)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:143)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:96)
at com.ibm.ecm.filters.CSPFilter.doFilter(CSPFilter.java:89)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
at com.ibm.ecm.filters.ESAPIWafFilter.doFilter(ESAPIWafFilter.java:265)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
at com.ibm.ecm.filters.CORSFilter.doFilter(CORSFilter.java:85)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
at com.ibm.ecm.jaxrs.ContextFilter.contextFilter(ContextFilter.java:75)
at com.ibm.ecm.jaxrs.ContextFilter.doFilter(ContextFilter.java:55)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:979)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1119)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:82)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:966)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:382)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:532)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:318)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
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:1909)
------------------------------
Christopher Hegel
------------------------------