匿名の訪問者がSitecore Experience Commerceのパーソナライズ ルールを無視する


解説

匿名の訪問者がSitecore Experience Commerce(SXC)関連のパーソナライズ ルールが適用されているページにアクセスしようとすると、エラーが発生します。このエラーにより、条件が満たされていない場合でも、パーソナライズ ルールがtrueと見なされるという問題が発生します。以下の例外がログ ファイルに出力されます:

ERROR Evaluation of condition failed. 
Rule item ID: Unknown, condition item ID: {9D3B7B5B-48BA-4B54-A522-166FFDEAC33D}
Exception: System.InvalidOperationException
Message: userId
Source: Sitecore.Commerce.Engine.Connect
   at Sitecore.Commerce.Engine.Connect.Pipelines.Carts.GetCarts.Process(ServicePipelineArgs args)
   at (Object , Object )
   at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
   at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
   at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
   at Sitecore.Commerce.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
   at Sitecore.Commerce.Services.ServiceProvider.RunPipeline[TRequest,TResult](String pipelineName, TRequest request)
   at Sitecore.Commerce.Rules.Conditions.BaseCartMetricsCondition`1.Execute(T ruleContext)
   at Sitecore.Rules.Conditions.WhenCondition`1.Evaluate(T ruleContext, RuleStack stack)
   at Sitecore.Rules.RuleList`1.Run(T ruleContext, Boolean stopOnFirstMatching, Int32& executedRulesCount)

解決策

この問題を解決するには、以下のHotfixをダウンロードしてインストールしてください:

     Sitecore XC 9.1.0の場合:SC Hotfix-333939-1

このHotfixは特定のSitecore XCバージョン専用に作成されたものであり、他のSitecore XCバージョンにインストールしたり、(互換性が確認できるまでは)他のHotfixと組み合わせてインストールしたりしないでください。Sitecore XCインスタンスのどれかに他のHotfixがすでにインストールされている場合、互換性チェックのリクエストをSitecoreサポートに送信してください。

ZIPファイルを解凍し、インストールの手順書や関連ファイルを確認してください。HotfixはCMインスタンスにインストールしてから、貴社の標準の開発手法で他のインスタンスと同期する必要があります。