Environment | Ucommerce 8.0.0 - and onwards |
Question/Problem description | A lot of error messages in the log files with a nullreference spawning from ExhanceRateAPICurrencyExchangeRateService. The reason for this error is the service used to look up the exchange rates had its service changed so you now require an API key. The exchangerate api are only being used for converting between currencies for the dashboard in the backoffice to give an indication on turnover in case you are running multiple currencies on the webshop. So per say it is not mission critical. The conversion rate between different currencies already exists in the database so the error you experience is because the service tries to update those values in the database. This results in the error message shown below. |
Steps to reproduce | Every time the app starts and the Initialize pipeline runs. |
Error message | "System.NullReferenceException: Object reference not set to an instance of an object. at Ucommerce.ExchangeRateAPICurrencyConversion.ExchangeRateAPICurrencyExchangeRateService.GetRateBetween(String sourceCurrencyCode, String targetCurrencyCode) at SCHeerenveen.Ucommerce.Pipeline.GetRateForAllCurrencyExchangeRatesTask.Execute(IPipelineArgs`2 subject) at Ucommerce.Pipelines.Pipeline`1.Execute(T subject)" - "Exception occoured while processing pipeline 'Ucommerce.Pipelines.GenericPipeline`1[[Ucommerce.Pipelines.IPipelineArgs`2[[Ucommerce.Pipelines.UpdateCurrencyExchangeRates.UpdateCurrencyExchangeRatesRequest, Ucommerce, Version=9.4.1.21068, Culture=neutral, PublicKeyToken=null],[Ucommerce.Pipelines.UpdateCurrencyExchangeRates.UpdateCurrencyExchangeRatesResult, Ucommerce, Version=9.4.1.21068, Culture=neutral, PublicKeyToken=null]], Ucommerce, Version=9.4.1.21068, Culture=neutral, PublicKeyToken=null]]'. See inner exception for details." |
Resolution | none at this time |
Workaround | Add the following partial component in a configuration file under apps to remove it from the initialize pipeline. <partial-component id="Initialize"> <parameters> <tasks> <array> <value remove="${Initialize.ExecuteUpdateCurrencyExchangeRatesPipelineTask.Async}"/> </array> </tasks> </parameters> </partial-component> |
NullReference in ExchangeRateAPICurrencyExchangeRateService Print
Modified on: Thu, 2 Dec, 2021 at 9:48 AM
Did you find it helpful? Yes No
Send feedbackSorry we couldn't be helpful. Help us improve this article with your feedback.