Content Management and Capture

Content Management and Capture

Come for answers. Stay for best practices. All we’re missing is you.

 View Only
  • 1.  Choice List null pointer

    Posted Fri October 31, 2025 01:23 PM

    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
    ------------------------------


  • 2.  RE: Choice List null pointer

    Posted 30 days ago

    Hi Christopher ,

    are you using search template with multiple classes ?

    Thanks

    Ganesh J



    ------------------------------
    Ganesh Jamdade
    ------------------------------



  • 3.  RE: Choice List null pointer

    Posted 29 days ago

    Hi Ganesh, thank you for the response. The search template only includes one document class.



    ------------------------------
    Christopher Hegel
    ------------------------------



  • 4.  RE: Choice List null pointer

    Posted 26 days ago

    Hi,

    Are your you have set the displayName property in the implementation of your EDS? Can you also verify that the jsonChoice object is not null?

    You may want to enable the navigator debug mode to verify the content of the JSON payload that is returned by your EDS.



    ------------------------------
    Olivier Baltus
    NSI Luxembourg
    ------------------------------



  • 5.  RE: Choice List null pointer

    Posted 25 days ago

    I have added inserts that do put values in the displayname for all choice lists. I was able to get ahold of IBM support so I am hopeful that the will be able to provide some insight.



    ------------------------------
    Christopher Hegel
    ------------------------------