IBM Support

IJ08049: MAXIMO 7609 INVOKECHANNEL THROWS A NULL POINTER EXCEPTION.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • After the upgrade from 7603 to 7609, the environment is no
    longer able to send a null for metadata when calling an
    invocation channel as per maximo documentation.
    Changes in  code between versions:
     Maximo 7.6.0.3
    1. Here it is working fine without any issue. The function in
    XMLFileHandler.java is
    public byte[] invoke(Map<String, ?> metaData, byte[] data)
    throws MXException
    {
    data = super.invoke(metaData, data);
    if (isPrettyPrintXML())
    {
    Document doc = XMLUtils.convertBytesToDocument(data);
    data = XMLUtils.convertDocumentToBytes(doc);
    }
    writeFile(getFileName(metaData), data);
    return null;
    }
    Note: The Property PRETTYPRINT = 1
     Maximo 7.6.0.9
    1. Here same code is not working. The function in
    XMLFileHandler.java is
    public byte[] invoke(Map metaData, byte data[])
    throws MXException
    {
    data = super.invoke(metaData, data);
    Object mimeType = metaData.get("mimetype"); // We are sending
    null for metaData when we invoke. Because Maximo Java Docs says
    this is optional and can be sent null.
    if(mimeType != null &&
    ((String)mimeType).equals("application/json"))
    MIMETYPE = "application/json";
    if(isPrettyPrintXML())
    if(MIMETYPE.equals("application/json"))
    {
    MIMETYPE = "application/json";
    JSONArtifact ja = OslcUtils.bytesToJSON(data);
    if(ja instanceof JSONObject)
    data = OslcUtils.jsonToBytes((JSONObject)ja, true);
    else
    if(ja instanceof JSONArray)
    data = OslcUtils.jsonarrayToBytes((JSONArray)ja, true);
    } else
    {
    org.jdom.Document doc = XMLUtils.convertBytesToDocument(data);
    data = XMLUtils.convertDocumentToBytes(doc);
    }
    writeFile(getFileName(metaData), data);
    return null;
    }
    Steps to reproduce:
    Created an invocation channel TEST with the end point as
    MXXMLFILE and object structure Test(copy of the
    workorder)
    Created an object level automation script.
    Navigate to Work Order Tracking (T&D) Application and
    modified a work orders description. Click the    save
    button.
    Results:
    Got the below error BMXAA7837E : null pointer exception.
    SystemOut.log
    [6/13/18 5:19:45:393 CDT] 000000dd SystemOut     O 13 Jun 2018
    05:19:45:392 [ERROR] [MAXIMO] [CID-CRON-91136] Failed to
    execute action  on escalation: {ZXQAPPRWO} reference point:
    {2,468}  for object {WORKORDER} with id {323023}
    psdi.util.MXApplicationException: BMXAA7837E - An error occured
    that prevented the TEST script for the TEST launch point from
    running.
     sun.org.mozilla.javascript.internal.WrappedException:
    Wrapped java.lang.NullPointerException (<Unknown Source>#13) in
    <Unknown Source> at line number 13
     at
    com.ibm.tivoli.maximo.script.JSR223ScriptDriver.evalScript(JSR22
    3ScriptDriver.java:291)
     at
    com.ibm.tivoli.maximo.script.AbstractScriptDriver.runScript(Abst
    ractScriptDriver.java:155)
     at
    com.ibm.tivoli.maximo.script.ScriptMboEventListener.preSaveEvent
    Action(ScriptMboEventListener.java:339)
     at
    psdi.server.event.EventTopic$Subscription.preSaveEventAction(Eve
    ntTopic.java:731)
     at
    psdi.server.event.EventTopic.preSaveEventAction(EventTopic.java:
    342)
     at
    psdi.server.event.EventTopicTree.preSaveEventAction(EventTopicTr
    ee.java:770)
     at psdi.mbo.Mbo.fireEvent(Mbo.java:6289)
     at psdi.mbo.StatefulMbo.fireEvent(StatefulMbo.java:799)
     at psdi.app.workorder.WO.fireEvent(WO.java:23057)
     at psdi.mbo.MboSet.fireEventsBeforeDB(MboSet.java:7949)
     at
    psdi.txn.MXTransactionImpl.fireEventsBeforeDB(MXTransactionImpl.
    java:406)
     at
    psdi.txn.MXTransactionImpl.saveTransaction(MXTransactionImpl.jav
    a:210)
     at
    psdi.txn.MXTransactionImpl.save(MXTransactionImpl.java:156)
     at psdi.mbo.MboSet.save(MboSet.java:7521)
     at psdi.mbo.MboSet.save(MboSet.java:7445)
     at psdi.app.workorder.WOSet.save(WOSet.java:1484)
     at
    psdi.app.escalation.engine.EscalationTask.executeAction(Escalati
    onTask.java:1483)
     at
    psdi.app.escalation.engine.EscalationTask.executeActions(Escalat
    ionTask.java:1397)
     at
    psdi.app.escalation.engine.EscalationTask.executeReferencePoint(
    EscalationTask.java:658)
     at
    psdi.app.escalation.engine.EscalationTask.processReferencePoint(
    EscalationTask.java:524)
     at
    psdi.app.escalation.engine.EscalationTask.performTask(Escalation
    Task.java:179)
     at
    psdi.app.escalation.engine.EscalationCronTask.cronAction(Escalat
    ionCronTask.java:54)
     at
    psdi.server.CronTaskManager.callCronMethod(CronTaskManager.java:
    2471)
     at
    psdi.server.CronTaskManager.access$1100(CronTaskManager.java:104
    )
     at
    Expected result : transaction completed and data sent to
    destination .
    Customer's system information:
    App Server IBM WebSphere Application Server 8.5.5.10
    Version
    Tivoli's process automation engine 7.6.0.9-IFIX20180522-0831
    Build 20171127-0100 DB Build V7609-45 HFDB Build HF7609-04
    IBM TPAE Integration Framework 7.6.0.9 Build 20171126-2330 DB
    Build V7609-32
    TPAE OSLC Object Structure 7.6.0.0 Build 20170130_184059-0600
    DB Build V7600-03
    IBM Maximo Asset Management Scheduler 7.6.7.0 Build
    20171127-0100 DB Build V7670-56 HFDB Build HF7670-17
    IBM Maximo Spatial Asset Management 7.6.0.3-20180517-1433 Build
    20171130-1339 DB Build V7603-10 HFDB Build HF7603-00
    IBM Maximo Anywhere 7.6.0.0 Build 20160112_031213-0600 DB Build
    V7600-03
    IBM Maximo for Utilities 7.6.0.2 Build 20180418-1337 DB Build
    V7602-68 HFDB Build HF7602-01
    IBM Maximo Asset Management Work Centers 7.6.0.3 Build
    20171121-0723 DB Build V7603-175
    IBM Maximo Asset Management 7.6.0.9 Build 20171127-0100 DB
    Build V7604-01
    Server OS Windows Server 2012 R2 6.3
    Server DB Oracle 12.2 (Oracle Database 12c Enterprise Edition
    Release 12.2.0.1.0 - 64bit Production)
    (c) Copyright IBM Corp. 2017
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All users.                                                   *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * When calling an invocation channel with a null value for     *
    * metadata, Maximo throws a null pointer exception.            *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • The fix for this APAR is included in the following package:
                             | Release 7.6.1.0 of Base Services.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ08049

  • Reported component name

    INTEGRATION

  • Reported component ID

    5724R46I1

  • Reported release

    760

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-07-27

  • Closed date

    2018-07-31

  • Last modified date

    2024-10-29

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

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

Fix information

  • Fixed component name

    INTEGRATION

  • Fixed component ID

    5724R46I1

Applicable component levels

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSLKT6","label":"Maximo Asset Management"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"760","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
30 October 2024