IBM Support

IJ07114: INSERTING CUSTODIANS TO ASSET VIA OBJECT STRUCTURE BASED WEB SERVICE RECEIVING ERROR BMXAA4134E - PERSONID DID NOT VALIDAT

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • PROBLEM DESCRIPTION:
    Inserting Custodians to Asset via Objecrt Structure based Web
    Service not working properly. Receiving error in response:
    BMXAA4134E - PERSONID did not validate
    
    STEPS TO REPRODUCE:
    1. Go to Web Service Library application, click 'Create Web
    Service'->'Create Web Service from Object Structure'
    
    2. Select OOTB Object Structure 'MXASSET' from the list then
    click 'Create'.
    
    3. Click 'Deploy to Product Web Service Container' -> 'Deploy
    Web Service' and make sure the newly created WebService
    'MXASSET' having field 'Is Deployed' is ticked.
    
    4. Open REST API client, enter 'MAXAUTH' header info and
    POST below xml request to Web Service 'MXASSET'
    
    http:/[HostName]:7001/meaweb/os/MXASSET
    
    <?xml version="1.0" encoding="UTF-8"?>
    <max:SyncMXASSET xmlns:max="http://www.ibm.com/maximo">
    <max:MXASSETSet>
    <max:ASSET action="AddChange">
    <max:ASSETNUM>11223344</max:ASSETNUM>
    <max:SITEID>AAAA</max:SITEID>
    <max:ASSETUSERCUST action="Add">
    <max:ADDPERSON>true</max:ADDPERSON>
    <max:ISCUSTODIAN>true</max:ISCUSTODIAN>
    <max:ISPRIMARY>true</max:ISPRIMARY>
    <max:ISUSER>true</max:ISUSER>
    <max:MULTIID>10</max:MULTIID>
    <max:ORGID>AAA</max:ORGID>
    <max:PERSONID>AAAA_01</max:PERSONID>
    </max:ASSETUSERCUST>
    </max:ASSET>
    </max:MXASSETSet>
    </max:SyncMXASSET>
    
    RESULTS:
    Before POST above request, Asset: 11223344 not having any
    Custodian records added.
    The first time POST above request, no error indicated in
    RESPONSE returned via REST API client. But when check the
    'Associated Users and Custodians' window of Asset 11223344 via
    UI, no records being listed.
    Then POST the same request again, this time receiving below
    error message in RESPONSE:
    psdi.util.MXSystemException: BMXAA4134E - PERSONID did not
    validate. Gather the logs from the <HOME> directory and
    determine the problem by looking at the message that is
    appended to this message.
    null
    
    Also in SystemOut.log, same error with more detailed trace
    stack in the output in log file.
    If checking db side, record representing 'AAAA_01' was created
    in ASSETLOCUSERCUST table but NOT created in ASSETUSERCUST
    table as expected.
    
    If at this point, trying to add the same PERSON as associated
    custodian via UI, user would also receive some popup error like
    below:
    BMXAA4214E - An unknown error has occurred. Please contact your
    system administrator for assistance. Gather the logs from the
    <HOME> directory and determine where and why the error is
    thrown.
    
    EXPECTED RESULTS:
    Custodian info should be correctly added to Asset via either
    WebService API call or RestAPI call.
    
    PRODUCT VERSION:
    Tivoli's process automation engine 7.6.0.9-IFIX20180227-1319
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * MIF users                                                    *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Receiving error "BMXAA4134E - PERSONID did not validate"     *
    * inserting Custodians to Asset via Object Structure based Web *
    * Service.                                                     *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When accidentally trying to add the same ASSETLOCUSERCUST a
    second time receiving errors "BMXAA4134E - PERSONID did not
    validate"
    BMXAA4214E - An unknown error has occurred. Please contact your
    system administrator for assistance. Gather the logs from the
    <HOME> directory and determine where and why the error is
    thrown.
    The BMXAA4214E error is encountered due to a
    NullPointerException.
    
    The problem only occurs when importing the same ASSETLOCUSERCUST
    record that has ADDPERSON=1 and an invalid MULTIID. The
    following explains how to avoid this problem by supplying
    correct ASSETLOCUSERCUST data for import:
    
    The incorrect inbound data that led to this problem was:
    <?xml version="1.0" encoding="UTF-8"?>
    <max:SyncMXASSET xmlns:max="http://www.ibm.com/maximo">
    <max:MXASSETSet>
    <max:ASSET action="AddChange">
    <max:ASSETNUM>11223344</max:ASSETNUM>
    <max:SITEID>AAAA</max:SITEID>
    <max:ASSETUSERCUST action="Add">
    <max:ADDPERSON>true</max:ADDPERSON>
    <max:ISCUSTODIAN>true</max:ISCUSTODIAN>
    <max:ISPRIMARY>true</max:ISPRIMARY>
    <max:ISUSER>true</max:ISUSER>
    <max:MULTIID>10</max:MULTIID>
    <max:ORGID>AAA</max:ORGID>
    <max:PERSONID>AAAA_01</max:PERSONID>
    </max:ASSETUSERCUST>
    </max:ASSET>
    </max:MXASSETSet>
    </max:SyncMXASSET>
     
    Note that ADDPERSON is true. This means that the addition is
    being staged. After importing the above the ASSETLOCUSERCUST
    record is created with ASSETLOCUSERCUST.ADDPERSON=1. At this
    point, you will not see AAAA_01 in the 'Associated Users and
    Custodians' dialog. This is a planned addition that needs to be
    executed in the Move/Swap/Modify dialog of the Work Order
    Tracking application on the Users and Custodians tab.
    Without knowing this, you might try to import the same
    ASSETLOCUSERCUST again because you don't see it in the dialog.
    That is what happened in this case, resulting in the errors
    described.
    On the second execution, you get a null pointer exception
    manifested as the following:
    
    	psdi.util.MXSystemException: BMXAA4134E - PERSONID did not
    validate. Gather the logs from the <HOME> directory and
    determine the problem by looking at the message that is appended
    to this message.
    
    This is because there is not a MULTIASSETLOCCI record with
    MULTIID=10. The error you should see here (because the first
    transaction did succeed and add an ASSETLOCUSERCUST record) is:
         BMXAA5843E - AAAA_01 is being added on WORKORDER 1234 and
    cannot be added.
     
    '1234' would be whatever work order number is associated with
    the MULTIASSETLOCCI record identified by MULTIID 10.
      
    If you intend to have the transaction conclude with an
    associated user/custodian that is immediately viewable in the
    'Associated Users and Custodians' dialog, you should set
    ADDPERSON to false or remove it from the xml. This is only
    needed if you are creating a planned user/custodian association.
     
    If you do want to create the ASSETLOCUSERCUST as a planned
    user/custodian association, then you would use
    <max:ADDPERSON>true</max:ADDPERSON>. Additionally, if this is
    your intention, you would use ...
            <max:WILLBECUSTODIAN
    changed="false">true</max:WILLBECUSTODIAN>
            <max:WILLBEPRIMARY
    changed="true">false</max:WILLBEPRIMARY>
            <max:WILLBEUSER changed="true">false</max:WILLBEUSER>
    
    ... instead of ...
     
    		<max:ISCUSTODIAN>true</max:ISCUSTODIAN>
    		<max:ISPRIMARY>true</max:ISPRIMARY>
    		<max:ISUSER>true</max:ISUSER>
    

Problem conclusion

  • The code fix avoids the Null Pointer Exception. The above
    explains how to correctly import ASSETLOCUSERCUST records to
    correctly import ASSETLOCUSERCUST records. 
    
    The fix for this APAR is included in the following package:
                          | Release 7.6.1.2 of Base Services.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ07114

  • Reported component name

    MAXIMO SYSTEMS

  • Reported component ID

    5724R46AV

  • Reported release

    760

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-06-13

  • Closed date

    2019-05-24

  • Last modified date

    2019-05-24

  • 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

    MAXIMO SYSTEMS

  • Fixed component ID

    5724R46AV

Applicable component levels

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCHPP5","label":"System Related"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"760","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
24 May 2019