IBM Support

RS01774: NULLPOINTEREXCEPTION WHEN PUBLISHING TO RULEDOCS (RSO) DECISION TABLE WITHOUT RULE DEFINED IN ONE OF THE COLUMN HEADER

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • NullPointerException when publishing rules to RuleDocs where
    one decision table column header has no action defined (see the
    below exceptions).
    Similar root cause exception when trying to edit the rule doc
    directly from the explorer.
    ---------- Publish to Rules to RuleDocs ----------
    Unexpected error
    Decision Center has encountered an unexpected error. The
    internal error message is:
    java.lang.NullPointerException
    Contact your administrator for further details.
    Hide Stack <<
    java.lang.NullPointerException
       at ilog.rules.dataaccess.rso.openxml.WorksheetHandler.addRow(
    WorksheetHandler.java:493)
       at ilog.rules.dataaccess.rso.openxml.WorksheetHandler.
    writeWorksheetDoc(WorksheetHandler.java:164)
       at ilog.rules.dataaccess.rso.openxml.WorksheetHandler.save(
    WorksheetHandler.java:100)
       at ilog.rules.dataaccess.rso.openxml.RSOExcelDataStore.save(
    RSOExcelDataStore.java:511)
       at ilog.rules.dataaccess.rso.openxml.OfficeDocumentStore.
    save(OfficeDocumentStore.java:158)
       at ilog.rules.dataaccess.rso.RSODataProvider.
    commitTransaction(RSODataProvider.java:102)
       at ilog.rules.model.dataaccess.RuleModelDataAccess.saveData(
    RuleModelDataAccess.java:349)
       at ilog.rules.synchronization.operations.PublishOperation.
    run(PublishOperation.java:260)
       at ilog.rules.teamserver.web.synchronization.rso.
    RTSRSOSubscriber.publishArtifacts(RTSRSOSubscriber.java:380)
       at ilog.rules.teamserver.web.gwt.rsosync.services.
    PublishOperationHandler.run(PublishOperationHandler.java:278)
       at ilog.rules.teamserver.web.gwt.rsosync.services.
    RSOServiceImpl.doSyncOperation(RSOServiceImpl.java:415)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(
    NativeMethodAccessorImpl.java:76)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:607)
       at com.google.gwt.user.server.rpc.RPC.
    invokeAndEncodeResponse(RPC.java:562)
       at com.google.gwt.user.server.rpc.RemoteServiceServlet.
    processCall(RemoteServiceServlet.java:188)
       at com.google.gwt.user.server.rpc.RemoteServiceServlet.
    processPost(RemoteServiceServlet.java:224)
       at com.google.gwt.user.server.rpc.
    AbstractRemoteServiceServlet.doPost(
    AbstractRemoteServiceServlet.java:62)
       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:1225)
       at com.ibm.ws.webcontainer.servlet.ServletWrapper.
    handleRequest(ServletWrapper.java:775)
       at com.ibm.ws.webcontainer.servlet.ServletWrapper.
    handleRequest(ServletWrapper.java:457)
       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 ilog.rules.teamserver.web.security.
    SecurityCheckPointFilter.doFilter(SecurityCheckPointFilter.java:
    112)
       at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.
    doFilter(FilterInstanceWrapper.java:195)
       at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(
    WebAppFilterChain.java:91)
       at ilog.rules.teamserver.web.servlets.filter.
    IlrRemoteSessionFilter.doFilterInternal(IlrRemoteSessionFilter.
    java:88)
       at ilog.rules.teamserver.web.servlets.filter.
    IlrRemoteSessionFilter.doFilter(IlrRemoteSessionFilter.java:66)
       at ilog.rules.teamserver.web.servlets.filter.
    IlrSessionFilter.access$001(IlrSessionFilter.java:31)
       at ilog.rules.teamserver.web.servlets.filter.
    IlrSessionFilter$1.doFilter(IlrSessionFilter.java:61)
       at org.springframework.web.filter.RequestContextFilter.
    doFilterInternal(RequestContextFilter.java:99)
       at org.springframework.web.filter.OncePerRequestFilter.
    doFilter(OncePerRequestFilter.java:107)
       at ilog.rules.teamserver.web.servlets.filter.
    IlrSessionFilter.doFilter(IlrSessionFilter.java:59)
       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:928)
       at com.ibm.ws.webcontainer.filter.WebAppFilterManager.
    invokeFilters(WebAppFilterManager.java:1025)
       at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.
    handleRequest(CacheServletWrapper.java:87)
       at com.ibm.ws.webcontainer.WebContainer.handleRequest(
    WebContainer.java:908)
       at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(
    WSWebContainer.java:1662)
       at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(
    WCChannelLink.java:195)
       at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.
    handleDiscrimination(HttpInboundLink.java:459)
       at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.
    handleNewRequest(HttpInboundLink.java:526)
       at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.
    processRequest(HttpInboundLink.java:312)
       at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.
    complete(HttpICLReadCallback.java:87)
       at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.
    futureCompleted(AioReadCompletionListener.java:165)
       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:
    1815)
    ----------------------------------------
    ---------- Edit in Explorer ----------
    Decision Center has encountered an unexpected error. The
    internal error message is:
    Could not retrieve value of component with path : {Component-
    Path : [Class: javax.faces.component.UIViewRoot,ViewId:
    /explore/details.jsp][Class: javax.faces.component.html.
    HtmlForm,Id: paneForm][Class: javax.faces.component.html.
    HtmlPanelGroup,Id: _idJsp305][Class: javax.faces.component.html.
    HtmlOutputLink,Id: editInRSO_id]}
    Contact your administrator for further details.
    Hide Stack <<
    javax.faces.FacesException: Could not retrieve value of
    component with path : {Component-Path : [Class: javax.faces.
    component.UIViewRoot,ViewId: /explore/details.jsp][Class: javax.
    faces.component.html.HtmlForm,Id: paneForm][Class: javax.faces.
    component.html.HtmlPanelGroup,Id: _idJsp305][Class: javax.faces.
    component.html.HtmlOutputLink,Id: editInRSO_id]}
       at org.apache.myfaces.shared_impl.renderkit.RendererUtils.
    getStringValue(RendererUtils.java:227)
       at org.apache.myfaces.shared_impl.renderkit.html.
    HtmlLinkRendererBase.renderOutputLinkStart(HtmlLinkRendererBase.
    java:394)
       at org.apache.myfaces.shared_impl.renderkit.html.
    HtmlLinkRendererBase.encodeBegin(HtmlLinkRendererBase.java:94)
       at javax.faces.component.UIComponentBase.encodeBegin(
    UIComponentBase.java:515)
       at org.apache.myfaces.shared_impl.renderkit.RendererUtils.
    renderChild(RendererUtils.java:412)
       at org.apache.myfaces.shared_impl.renderkit.RendererUtils.
    renderChildren(RendererUtils.java:400)
       at org.apache.myfaces.shared_impl.renderkit.html.
    HtmlGroupRendererBase.encodeEnd(HtmlGroupRendererBase.java:78)
       at javax.faces.component.UIComponentBase.encodeEnd(
    UIComponentBase.java:539)
       at javax.faces.webapp.UIComponentTag.encodeEnd(
    UIComponentTag.java:498)
       at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.
    java:366)
       at org.apache.myfaces.shared_impl.taglib.
    UIComponentBodyTagBase.doEndTag(UIComponentBodyTagBase.java:57)
       at com.ibm._jsp._details._jspx_meth_h_panelGroup_47(_details.
    java:16440)
       at com.ibm._jsp._details._jspService(_details.java:924)
       at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.
    java:99)
    [....]
    Caused by: java.lang.NullPointerException
       at ilog.rules.dataaccess.rso.openxml.WorksheetHandler.addRow(
    WorksheetHandler.java:493)
       at ilog.rules.dataaccess.rso.openxml.WorksheetHandler.
    writeWorksheetDoc(WorksheetHandler.java:164)
       at ilog.rules.dataaccess.rso.openxml.WorksheetHandler.save(
    WorksheetHandler.java:100)
       at ilog.rules.dataaccess.rso.openxml.RSOExcelDataStore.save(
    RSOExcelDataStore.java:511)
       at ilog.rules.dataaccess.rso.openxml.OfficeDocumentStore.
    save(OfficeDocumentStore.java:158)
       at ilog.rules.dataaccess.rso.RSODataProvider.
    commitTransaction(RSODataProvider.java:102)
       at ilog.rules.teamserver.web.rso.standalone.
    RSODocumentWriter.generateDocument(RSODocumentWriter.java:168)
       at ilog.rules.teamserver.web.rso.standalone.
    RSOEditingUtilities.generateRuleDocContent(RSOEditingUtilities.
    java:84)
       at ilog.rules.teamserver.web.rso.standalone.
    RSOEditingUtilities.getRuleDocURL(RSOEditingUtilities.java:56)
       at ilog.rules.teamserver.web.rso.standalone.
    RSOEditingUtilities.getRuleDocURL(RSOEditingUtilities.java:45)
       at ilog.rules.teamserver.web.beans.RSOEditingBean.
    getRuleDocURL(RSOEditingBean.java:86)
       ... 91 more
    ----------------------------------------
    

Local fix

  • Define any actionin the column header
    

Problem summary

  • The code transforming the decision table into a worksheet for
    RSO does not handle properly an column with not condition and
    an exception is thrown.
    

Problem conclusion

  • The code is fixed
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS01774

  • Reported component name

    WS DECISION CTR

  • Reported component ID

    5725B6900

  • Reported release

    851

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-10-09

  • Closed date

    2014-10-10

  • Last modified date

    2014-10-10

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Modules/Macros

  • 999
    

Fix information

  • Fixed component name

    WS DECISION CTR

  • Fixed component ID

    5725B6900

Applicable component levels

  • R851 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSQP76","label":"IBM Operational Decision Manager"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.5.1","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
08 January 2022