IBM Support

JR50191: When transferring an order to an external OMS system, a null pointer exception may occur.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • If invoking commands manually to compose Order Transfer messages
    (ex. when integrating with an external Order Management
    System), calls to these commands may fail in the event the
    storeId is not specified or is 0.  Such commands may include
    SOIProcessOrderSubmitEventCmd or ComposeTransferOrderCmd.
    
     The failure may occur only on orders that contain a promotion.
    This look up fails because the applicable storeId for the order
    cannot be found which causes a query against PX_CDPOOL for
    promotion data to fail.
    
     Example:
     [5/8/14 16:23:00:595 EDT] 000000f8 CommerceSrvr  E
    com.ibm.commerce.command.ECCommandTarget executeCommand
    CMN0420E: The following command exception has occurred during
    processing: "java.lang.NullPointerException".
    java.lang.NullPointerException
       at java.util.Hashtable.put(Hashtable.java:877)
       at
    com.ibm.commerce.marketing.commands.ResolvePromotionCodeCOTaskCm
    dImpl.checkPromotionCodeImplType(ResolvePromotionCodeCOTaskCmdIm
    pl.java:223)
       at
    com.ibm.commerce.marketing.commands.ResolvePromotionCodeCOTaskCm
    dImpl.performExecute(ResolvePromotionCodeCOTaskCmdImpl.java:340)
       at
    com.ibm.commerce.command.ECCommandTarget.executeCommand(ECComman
    dTarget.java:157)
       at
    com.ibm.ws.cache.command.CommandCache.executeCommand(CommandCach
    e.java:332)
       at
    com.ibm.websphere.command.CacheableCommandImpl.execute(Cacheable
    CommandImpl.java:166)
       at
    com.ibm.commerce.command.AbstractECTargetableCommand.execute(Abs
    tractECTargetableCommand.java:236)
       at
    com.ibm.commerce.marketing.promotion.code.MultipleCodesPromotion
    CodeResolver.resolveCode(MultipleCodesPromotionCodeResolver.java
    :247)
       at
    com.ibm.commerce.order.facade.server.commands.AbstractComposeOrd
    erCmdImpl.composePromotionCode(AbstractComposeOrderCmdImpl.java:
    4455)
       at
    com.ibm.commerce.order.facade.server.commands.AbstractComposeOrd
    erCmdImpl.composeOrder(AbstractComposeOrderCmdImpl.java:549)
       at
    com.ibm.commerce.order.facade.server.commands.ComposeOrderSummar
    yCmdImpl.composeOrderSummary(ComposeOrderSummaryCmdImpl.java:123
    )
       at
    com.ibm.commerce.order.facade.server.commands.ComposeOrderSummar
    yCmdImpl.execute(ComposeOrderSummaryCmdImpl.java:143)
       at
    com.ibm.commerce.order.facade.server.commands.ComposeOrderDetail
    sCmdImpl.composeOrderDetail(ComposeOrderDetailsCmdImpl.java:215)
       at
    com.ibm.commerce.order.facade.server.commands.ComposeTransferOrd
    erCmdImpl.composeOrderDetail(ComposeTransferOrderCmdImpl.java:21
    9)
       at
    com.mycompany.commerce.order.facade.server.commands.MyComposeTra
    nsferOrderCmdImpl.composeOrderDetail(MyComposeTransferOrderCmdIm
    pl.java:598)
       at
    com.ibm.commerce.order.facade.server.commands.ComposeOrderDetail
    sCmdImpl.execute(ComposeOrderDetailsCmdImpl.java:428)
       at
    com.mycompany.commerce.order.facade.server.commands.MyComposeTra
    nsferOrderCmdImpl.execute(MyComposeTransferOrderCmdImpl.java:141
    )
       at
    com.ibm.commerce.order.facade.server.commands.GetOrderCmdImpl.pe
    rformExpression(GetOrderCmdImpl.java:120)
       at
    com.ibm.commerce.foundation.server.command.bod.AbstractGetBusine
    ssObjectDocumentCmdImpl.performExecute(AbstractGetBusinessObject
    DocumentCmdImpl.java:155)
       at
    com.ibm.commerce.foundation.server.command.bod.BusinessObjectCom
    mandTargetImpl.executeCommand(BusinessObjectCommandTargetImpl.ja
    va:112)
       at
    com.ibm.ws.cache.command.CommandCache.executeCommand(CommandCach
    e.java:332)
       at
    com.ibm.websphere.command.CacheableCommandImpl.execute(Cacheable
    CommandImpl.java:166)
       at
    com.ibm.commerce.foundation.server.command.bod.BusinessObjectDoc
    umentProcessor.processBusinessObjectDocument(BusinessObjectDocum
    entProcessor.java:229)
       at
    com.ibm.commerce.order.facade.server.OrderFacadeImpl.getOrder(Or
    derFacadeImpl.java:67)
       at
    com.ibm.commerce.order.facade.server.EJSLocalStatelessOrder_a357
    eec5.getOrder(Unknown Source)
       at sun.reflect.GeneratedMethodAccessor742.invoke(Unknown
    Source)
       at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:37)
       at java.lang.reflect.Method.invoke(Method.java:611)
       at
    com.ibm.commerce.foundation.internal.client.services.invocation.
    impl.LocalEJBInvocationBindingImpl.invoke(LocalEJBInvocationBind
    ingImpl.java:199)
       at
    com.ibm.commerce.foundation.internal.client.services.invocation.
    InvocationService.invoke(InvocationService.java:113)
       at
    com.ibm.commerce.foundation.client.facade.bod.AbstractBusinessOb
    jectDocumentFacadeClient.sendBusinessObjectDocument(AbstractBusi
    nessObjectDocumentFacadeClient.java:485)
       at
    com.ibm.commerce.order.facade.client.AbstractOrderFacadeClient.g
    etOrder(AbstractOrderFacadeClient.java:140)
       at
    com.ibm.commerce.order.facade.client.AbstractOrderFacadeClient.g
    etOrder(AbstractOrderFacadeClient.java:386)
       at
    com.ibm.commerce.order.event.AbstractProcessOrderSubmitEventCmdI
    mpl.transferOrder(AbstractProcessOrderSubmitEventCmdImpl.java:25
    0)
    

Local fix

  • Set the storeId in the command context to the applicable storeId
     when calling SOIProcessOrderSubmitEventCmd
    

Problem summary

  • USERS AFFECTED:
     WebSphere Commerce users on v7.0 Fix Pack 7 and higher who are
    manually calling commands to compose transfer order e-mails.
    
     PROBLEM ABSTRACT:
    
     When transferring an order to an external OMS system, a null
    pointer exception may occur.
    
     BUSINESS IMPACT:
     Orders containing promotions may not be sent to the OMS.
    
     RECOMMENDATION:
    

Problem conclusion

  • If the store id returned back from the command context is 0, the
     store id will be retrieved from the order access bean instead.
    
     -------------------------------------------------------------
     The latest available maintenance information can be obtained
    from the Recommended Fixes for WebSphere Commerce technote:
     http://www.ibm.com/support/docview.wss?rs=3046&uid=swg21261296
    

Temporary fix

  • Set the storeId in the command context to the applicable storeId
     when calling SOIProcessOrderSubmitEventCmd
    

Comments

APAR Information

  • APAR number

    JR50191

  • Reported component name

    WC BUS EDITION

  • Reported component ID

    5724I3800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-05-09

  • Closed date

    2014-06-04

  • Last modified date

    2014-06-04

  • 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

    WC BUS EDITION

  • Fixed component ID

    5724I3800

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYSYL","label":"WebSphere Commerce Enterprise"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB31","label":"WCE Watson Marketing and Commerce"}}]

Document Information

Modified date:
11 December 2021