Discussion:
Promotion Engine gets a NPE
(too old to reply)
VijayaR
2006-12-26 01:49:23 UTC
Permalink
My client has just upgraded their WC 5.6.1 toolkit environment to Fixpack 2.

With the fixpack level code, the promotion fails due to a Null pointer exception in the out-of-box logic. Before they installed the fixpack, with the same code base promotion engined worked fine!!. Below is the exception.

--------------------------------------------------------------

CMN0420E: The following command exception has occurred during processing: "java.lang.NullPointerException".java.lang.NullPointerException
at com.ibm.commerce.price.utils.UnitManager.convertForStore(UnitManager.java:156)
at com.ibm.commerce.price.utils.UnitManager.convert(UnitManager.java:198)
at com.ibm.commerce.price.utils.QuantityManager.convert(QuantityManager.java:102)
at com.ibm.commerce.price.commands.RetrievePricesCmdImpl.isValidOffer(RetrievePricesCmdImpl.java:520)
at com.ibm.commerce.price.commands.RetrievePricesCmdImpl.getValidOffers(RetrievePricesCmdImpl.java:1002)
at com.ibm.commerce.price.commands.RetrievePricesCmdImpl.retrieveOffers(RetrievePricesCmdImpl.java:982)
at com.ibm.commerce.price.commands.RetrievePricesCmdImpl.retrieveOffersForCatentries(RetrievePricesCmdImpl.java:838)
at com.ibm.commerce.price.commands.RetrievePricesCmdImpl.performExecute(RetrievePricesCmdImpl.java:586)
at com.ibm.commerce.command.ECCommandTarget.executeCommand(ECCommandTarget.java:133)
at com.ibm.ws.cache.command.CommandCache.executeCommand(CommandCache.java:333)
at com.ibm.websphere.command.CacheableCommandImpl.execute(CacheableCommandImpl.java:163)
at com.ibm.commerce.command.AbstractECTargetableCommand.execute(AbstractECTargetableCommand.java:180)
at com.ibm.commerce.price.commands.GetStandardOfferCmdImpl.retrieveOffers(GetStandardOfferCmdImpl.java:367)
at com.ibm.commerce.price.commands.GetStandardOfferCmdImpl.performExecute(GetStandardOfferCmdImpl.java:285)
at com.ibm.commerce.command.ECCommandTarget.executeCommand(ECCommandTarget.java:133)
at com.ibm.ws.cache.command.CommandCache.executeCommand(CommandCache.java:333)
at com.ibm.websphere.command.CacheableCommandImpl.execute(CacheableCommandImpl.java:163)
at com.ibm.commerce.command.AbstractECTargetableCommand.execute(AbstractECTargetableCommand.java:180)
at com.ibm.commerce.price.utils.PriceUtil.getStandardPrices(PriceUtil.java:190)
at com.ibm.commerce.price.utils.PriceUtil.getStandardPrice(PriceUtil.java:117)
at com.ibm.commerce.marketing.promotion.integration.dependency.WCSOrderItemFactory.populateOrderItemFromBean(WCSOrderItemFactory.java:323)
at com.ibm.commerce.marketing.promotion.integration.dependency.WCSOrderItemFactory.getOrderItem(WCSOrderItemFactory.java:87)
at com.ibm.commerce.marketing.promotion.integration.dependency.WCSOrderFactory.populateOrderFromBean(WCSOrderFactory.java:298)
at com.ibm.commerce.marketing.promotion.integration.dependency.WCSOrderFactory.getOrder(WCSOrderFactory.java:92)
at com.ibm.commerce.marketing.promotion.runtime.DefaultPromotionEngine.invoke(DefaultPromotionEngine.java:188)
at com.ibm.commerce.order.commands.PromotionEngineOrderCalculateCmdImpl.invokePromotionEngine(PromotionEngineOrderCalculateCmdImpl.java:488)
at com.ibm.commerce.order.commands.PromotionEngineOrderCalculateCmdImpl.getCatalogEntryQuantitiesToAdd(PromotionEngineOrderCalculateCmdImpl.java:279)
at com.ibm.commerce.order.commands.PromotionEngineOrderCalculateCmdImpl.performExecute(PromotionEngineOrderCalculateCmdImpl.java:201)

----------------------------------------------------------------

We haven't yet started debugging yet, but could verify that promotion engine fails for a very simple product level promotion.

Any one had seen the above symptom?
geo
2007-01-06 22:05:25 UTC
Permalink
Looks like something with pricing is wacked on a currency conversion,
possibly as a side effect of the fixpack via error or impact on code.
Post by VijayaR
My client has just upgraded their WC 5.6.1 toolkit environment to Fixpack 2.
With the fixpack level code, the promotion fails due to a Null pointer
exception in the out-of-box logic. Before they installed the fixpack, with
the same code base promotion engined worked fine!!. Below is the
exception.
--------------------------------------------------------------
"java.lang.NullPointerException".java.lang.NullPointerException
at
com.ibm.commerce.price.utils.UnitManager.convertForStore(UnitManager.java:156)
at com.ibm.commerce.price.utils.UnitManager.convert(UnitManager.java:198)
at
com.ibm.commerce.price.utils.QuantityManager.convert(QuantityManager.java:102)
at
com.ibm.commerce.price.commands.RetrievePricesCmdImpl.isValidOffer(RetrievePricesCmdImpl.java:520)
at
com.ibm.commerce.price.commands.RetrievePricesCmdImpl.getValidOffers(RetrievePricesCmdImpl.java:1002)
at
com.ibm.commerce.price.commands.RetrievePricesCmdImpl.retrieveOffers(RetrievePricesCmdImpl.java:982)
at
com.ibm.commerce.price.commands.RetrievePricesCmdImpl.retrieveOffersForCatentries(RetrievePricesCmdImpl.java:838)
at
com.ibm.commerce.price.commands.RetrievePricesCmdImpl.performExecute(RetrievePricesCmdImpl.java:586)
at
com.ibm.commerce.command.ECCommandTarget.executeCommand(ECCommandTarget.java:133)
at
com.ibm.ws.cache.command.CommandCache.executeCommand(CommandCache.java:333)
at
com.ibm.websphere.command.CacheableCommandImpl.execute(CacheableCommandImpl.java:163)
at
com.ibm.commerce.command.AbstractECTargetableCommand.execute(AbstractECTargetableCommand.java:180)
at
com.ibm.commerce.price.commands.GetStandardOfferCmdImpl.retrieveOffers(GetStandardOfferCmdImpl.java:367)
at
com.ibm.commerce.price.commands.GetStandardOfferCmdImpl.performExecute(GetStandardOfferCmdImpl.java:285)
at
com.ibm.commerce.command.ECCommandTarget.executeCommand(ECCommandTarget.java:133)
at
com.ibm.ws.cache.command.CommandCache.executeCommand(CommandCache.java:333)
at
com.ibm.websphere.command.CacheableCommandImpl.execute(CacheableCommandImpl.java:163)
at
com.ibm.commerce.command.AbstractECTargetableCommand.execute(AbstractECTargetableCommand.java:180)
at
com.ibm.commerce.price.utils.PriceUtil.getStandardPrices(PriceUtil.java:190)
at
com.ibm.commerce.price.utils.PriceUtil.getStandardPrice(PriceUtil.java:117)
at
com.ibm.commerce.marketing.promotion.integration.dependency.WCSOrderItemFactory.populateOrderItemFromBean(WCSOrderItemFactory.java:323)
at
com.ibm.commerce.marketing.promotion.integration.dependency.WCSOrderItemFactory.getOrderItem(WCSOrderItemFactory.java:87)
at
com.ibm.commerce.marketing.promotion.integration.dependency.WCSOrderFactory.populateOrderFromBean(WCSOrderFactory.java:298)
at
com.ibm.commerce.marketing.promotion.integration.dependency.WCSOrderFactory.getOrder(WCSOrderFactory.java:92)
at
com.ibm.commerce.marketing.promotion.runtime.DefaultPromotionEngine.invoke(DefaultPromotionEngine.java:188)
at
com.ibm.commerce.order.commands.PromotionEngineOrderCalculateCmdImpl.invokePromotionEngine(PromotionEngineOrderCalculateCmdImpl.java:488)
at
com.ibm.commerce.order.commands.PromotionEngineOrderCalculateCmdImpl.getCatalogEntryQuantitiesToAdd(PromotionEngineOrderCalculateCmdImpl.java:279)
at
com.ibm.commerce.order.commands.PromotionEngineOrderCalculateCmdImpl.performExecute(PromotionEngineOrderCalculateCmdImpl.java:201)
----------------------------------------------------------------
We haven't yet started debugging yet, but could verify that promotion
engine fails for a very simple product level promotion.
Any one had seen the above symptom?
Loading...