Email Experience Manager(EXM)のManager RootのアイテムがSitecore.configファイルの<sites>セクションで定義されたWebサイトのルート アイテムの外に配置されている場合、EXMメッセージを送信する際に、以下のエラーがログに出力される場合があります。
ERROR [UpdateListSubscriptionHandler] Failed to process list operation for 'xDB.Tracker PII removed' Exception: System.ArgumentNullException Message: Value cannot be null. Parameter name: targetSite Source: Sitecore.Kernel at Sitecore.Diagnostics.Assert.ArgumentNotNull(Object argument, String argumentName) at Sitecore.Links.UrlBuilders.BaseUrlBuilder`1.ResolveServer(SiteInfo targetSite) at Sitecore.Links.UrlBuilders.ItemUrlBuilder.AddServer(UrlBuildModel model, ItemUrlBuilderOptions options) at Sitecore.Links.UrlBuilders.BaseUrlBuilder`1.BuildUrl(Item item, TOptions options) at Sitecore.Modules.EmailCampaign.Core.HostnameMapping.HostnameMappingService.GetServerUrl(Item item) at Sitecore.Modules.EmailCampaign.Core.Pipelines.GenerateLink.SetServerUrl.Process(GenerateLinkPipelineArgs args) ...
本問題を解決するには、\App_Config\Include\zzzフォルダ内に<site>の定義を含む設定のパッチ ファイルを作成し、EXMマネージャー ルートの<site>定義を追加します。 <site>の定義は、以下に従って設定する必要があります:
例:
<site name="example" inherits="website" rootPath="/sitecore/content" startItem="/Email" targetHostName="<site host name>" />
※:複数のマネージャ ルートがある場合、それぞれに<site>の定義を明確に追加する必要があります。