IBM Support

RS02372: DVS NULLPOINTEREXCEPTION WHEN XSD SCHEMA EXTENDS BUT DOES NOT ADD ATTRIBUTE

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • XSD Schema that has a definition as follows:
    <xsd:complexType name="TheNewType">
    <xsd:complexContent>
    <xsd:extension base="prod:TheOriginalType"/>
    </xsd:complexContent>
    </xsd:complexType>
    Which essentially extending the TheOriginalType but does not
    add any attributes to it. When using DVS and using that type,
    we get a null pointer exception (the one the client gets on the
    Server is provided below) when the report gets generated.
    We can also reproduce the error in Rule Designer although the
    exception is not as detailed.
    java.lang.NullPointerException
    at ilog.rules.dvs.rbtesting.IlrRBTTestReport.xmlObjectToString(
    IlrRBTTestReport.java:533)
    at ilog.rules.dvs.rbtesting.IlrRBTTestReport.xmlObjectToString(
    IlrRBTTestReport.java:543)
    at ilog.rules.dvs.rbtesting.IlrRBTTestReport.xmlObjectToString(
    IlrRBTTestReport.java:543)
    at ilog.rules.dvs.rbtesting.IlrRBTTestReport.
    serializeMessageParameters(IlrRBTTestReport.java:495)
    at ilog.rules.dvs.rbtesting.IlrRBTTestReport.<init>(
    IlrRBTTestReport.java:229)
    at ilog.rules.dvs.rbtesting.IlrRBTTestReport.<init>(
    IlrRBTTestReport.java:214)
    at ilog.rules.dvs.rbtesting.IlrRBTTestReport.createFailure(
    IlrRBTTestReport.java:420)
    at ilog.rules.dvs.rbtesting.IlrRBTScenarioReport.failOrSkip(
    IlrRBTScenarioReport.java:88)
    at ilog.rules.dvs.rbtesting.IlrRBTScenarioReport.
    addFailureForCollectionEqualsUnorderedTest(IlrRBTScenarioReport.
    java:162)
    at ilog.rules.engine.sequential.generated.C6d61696e5461736b5f30.
    rule_responseproductArrangementsListPH$_$1455118352553$_$7(
    Unknown Source)
    at ilog.rules.engine.sequential.generated.C6d61696e5461736b5f30.
    callRules(Unknown Source)
    at ilog.rules.engine.sequential.generated.C6d61696e5461736b5f30.
    matchObjects(Unknown Source)
    at ilog.rules.engine.sequential.IlrWorkingMemoryTupleIterator.
    iterate(IlrWorkingMemoryTupleIterator.java:121)
    at ilog.rules.engine.sequential.IlrSEQBaseExecTask.
    executeBodyOnWorkingMemory(IlrSEQBaseExecTask.java:161)
    at ilog.rules.engine.sequential.IlrSEQBaseExecTask.executeBody(
    IlrSEQBaseExecTask.java:123)
    at ilog.rules.engine.sequential.IlrSEQBaseExecTask.runBody(
    IlrSEQBaseExecTask.java:80)
    at ilog.rules.inset.IlrExecRuleTask.executeJITRules(
    IlrExecRuleTask.java:257)
    at ilog.rules.inset.IlrExecRuleTask.execute(IlrExecRuleTask.
    java:244)
    at ilog.rules.inset.IlrExecTask.run(IlrExecTask.java:108)
    at ilog.rules.engine.IlrTaskEngine.execute(IlrTaskEngine.java:
    629)
    at ilog.rules.inset.IlrExecTaskInstance.execute(
    IlrExecTaskInstance.java:110)
    at ilog.rules.engine.IlrTaskEngine.executeItem(IlrTaskEngine.
    java:461)
    at ilog.rules.engine.IlrTaskEngine.startMainFlow(IlrTaskEngine.
    java:297)
    at ilog.rules.engine.IlrTaskEngine.executeMainFlow(
    IlrTaskEngine.java:250)
    at ilog.rules.engine.IlrContext.execute(IlrContext.java:4022)
    at ilog.rules.engine.IlrContext.execute(IlrContext.java:2726)
    at com.ibm.rules.res.xu.engine.cre.internal.CREManager.
    performExecute(CREManager.java:146)
    at com.ibm.rules.res.xu.engine.internal.BaseEngineManager.
    execute(BaseEngineManager.java:733)
    at ilog.rules.res.xu.spi.IlrManagedXUConnection.engineExecute(
    IlrManagedXUConnection.java:802)
    at ilog.rules.res.xu.cci.IlrXUConnection.engineExecute(
    IlrXUConnection.java:366)
    at com.ibm.rules.res.xu.client.internal.jca.XUInteraction.
    engineExecute(XUInteraction.java:460)
    at com.ibm.rules.res.xu.client.internal.jca.XUInteraction.
    dispatchExecution(XUInteraction.java:74)
    at com.ibm.rules.res.xu.client.internal.jca.XUInteraction.
    execute(XUInteraction.java:258)
    at com.ibm.rules.res.xu.client.internal.XUSession.
    executeOperation(XUSession.java:174)
    at com.ibm.rules.res.xu.client.internal.XURuleEngineSession.
    execute(XURuleEngineSession.java:604)
    at ilog.rules.res.session.impl.IlrStatefulSessionBase.execute(
    IlrStatefulSessionBase.java:573)
    at ilog.rules.res.session.impl.IlrStatefulSessionBase.execute(
    IlrStatefulSessionBase.java:516)
    at ilog.rules.res.session.impl.IlrStatefulSessionBase.execute(
    IlrStatefulSessionBase.java:236)
    at ilog.rules.res.session.impl.IlrStatelessSessionBase.execute(
    IlrStatelessSessionBase.java:63)
    at ilog.rules.dvs.rbtesting.IlrRBTTraceTester.test(
    IlrRBTTraceTester.java:249)
    at ilog.rules.dvs.runner.impl.IlrRunnerImpl.run(IlrRunnerImpl.
    java:475)
    at ilog.rules.dvs.runner.impl.IlrRunnerImpl.run(IlrRunnerImpl.
    java:314)
    at ilog.rules.dvs.runner.impl.IlrRunnerImpl.run(IlrRunnerImpl.
    java:95)
    at ilog.rules.dvs.ssp.impl.IlrScenarioSuiteRunner$
    IlrDefaultScenarioSuiteWorker.run(IlrScenarioSuiteRunner.java:
    144)
    at ilog.rules.dvs.ssp.impl.
    IlrWorkManagerScenarioSuiteWorkerGroup$
    IlrScenarioSuiteWorkerWork.run(
    IlrWorkManagerScenarioSuiteWorkerGroup.java:140)
    at ilog.rules.dvs.ssp.impl.IlrAbstractScenarioSuiteWorkerGroup.
    start(IlrAbstractScenarioSuiteWorkerGroup.java:112)
    at ilog.rules.dvs.ssp.impl.IlrScenarioSuiteRunner.
    createAndStartWorkerGroup(IlrScenarioSuiteRunner.java:633)
    at ilog.rules.dvs.ssp.impl.IlrScenarioSuiteRunner.run(
    IlrScenarioSuiteRunner.java:493)
    at ilog.rules.dvs.ssp.impl.IlrScenarioSuiteRunner.run(
    IlrScenarioSuiteRunner.java:417)
    at ilog.rules.dvs.ssp.impl.IlrAbstractSSPAsyncOpsImpl$
    IlrSSPJobHandler.run(IlrAbstractSSPAsyncOpsImpl.java:109)
    at ilog.rules.dvs.ssp.impl.IlrWorkManagerSSPAsyncOpsImpl$
    IlrSSPWork.run(IlrWorkManagerSSPAsyncOpsImpl.java:54)
    at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.
    java:270)
    at java.security.AccessController.doPrivileged(AccessController.
    java:276)
    at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:796)
    at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(
    WorkWithExecutionContextImpl.java:222)
    at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl.
    java:206)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1865)
    

Local fix

  • The workaround is to simply add a dummy attribute which changes
    the description to:
    <xsd:complexType name="TheNewType">
    <xsd:complexContent>
    <xsd:extension base="prod:TheOriginalType">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="dummy" type="prdt:String"/>
    </xsd:sequence>
    </xsd:extension>
    </xsd:complexContent>
    </xsd:complexType>
    The simple fact that there is an attribute added to the
    definition of the type eliminates the null pointer exception.
    

Problem summary

  • When there is no attributes in a class the report generation
    does not work properly
    

Problem conclusion

  • The code is fixed
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS02372

  • Reported component name

    WDS FOR RULES

  • Reported component ID

    5725B6903

  • Reported release

    871

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-04-14

  • Closed date

    2016-04-29

  • Last modified date

    2016-04-29

  • 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

    WDS FOR RULES

  • Fixed component ID

    5725B6903

Applicable component levels

  • R871 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":"871","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
17 February 2022