---
title: "SCCHのトラブルシューティング"
slug: "troubleshooting-scch"
abstract: "Sitecore CMPやSitecore DAMのSitecore Connectセクションで直面する問題をどう解決するかContent Hub。"
---
# SCCHのトラブルシューティング

このトピックでは、Content Hub(SCCH)コネクタのSitecore Connectで直面する可能性のある問題を解決する方法を含みます。

## 一般的なトラブルシューティングの助け

エラーや問題の解決策を見つけるために、以下のことができます:

-   Sitecore Content Hubのログで作成されたトリガーを確認してください。トリガーを発生させるイベントをトリガーし、その後ログを以下のように確認します。
    -   メニューのリボンで **「管理**」をクリックします。
    -   **アクション**をクリックします。
    -   **監査**タブをクリックしてください。
-   Azureサービスバスに投稿されたメッセージを確認してください。
-   Sitecoreのログファイルを確認し、CMPやDAM関連のエラーがないかスキャンしてください。

## NullReferenceExceptionはCDサーバーのGetLabelsメソッドで発生します

Content Delivery(CD)サーバー上でContent HubのためSitecore Connectを設定するために使われるウェブデータベースパッチには、削除しなければならないrole:requiredパラメータが含まれています。

この問題を解決するには、以下の設定変更を行います。

1.  Content Delivery(CD)インスタンスで \\App\_Config\\Modules\\Sitecore.Connector.ContentHub.DAM\\Sitecore.Connector.ContentHub.DAM.configファイル(デフォルトのファイルパス)を開きます。
    
2.  設定ファイル内で、次のノードを見つけてください:
    
    <database id="web"
     type="Sitecore.Data.DefaultDatabase, Sitecore.Kernel"
     role:require="!ContentDelivery">
    
3.  database idノードから以下のroleパラメータを削除します:
    
    role:require="!ContentDelivery"
    
4.  変更を保存してください。
    
5.  CDサーバーを再起動してください。
    

## Azureでは、Sitecore DAMリンクを閲覧すると404エラーが表示されます

画像フィールドSitecore DAMのリンクを閲覧すると、*404の「見つからない* 」エラーが表示されます。

この問題を解決するために:

1.  Sitecore Launchpadで**Desktop**をクリックし、データベースから*Core*データベース*Master*切り替えてください。
2.  コンテンツエディターで *sitecore/system/Field types/Simple types/Image*に移動します。
3.  **コンテンツ**タブの**データ**セクションで**コントロール**フィールドを消してください。アイテムを保存します。

## Sitecoreのリッチテキストエディタでは、XHTML関連の検証エラーが表示されます

コネクターは、Content HubのリッチテキストエディタフィールドからSitecoreリッチテキストエディタへの同期時に、データ値やフォーマットを変更しません。SitecoreリッチテキストエディタのXHTML検証でエラーが強調されることがあります:

![XHTML validation error about incorrect formatting attributes in the Sitecore rich text editor](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/connect-for-ch/52/connect-for-content-hub/images/image1.png)

この問題を解決するために:

1.  コンテンツエディターで以下の項目を探してください:
    
    -   */sitecore/system/Settings/Validation Rules/Field Types/Rich Text*
    -   */sitecore/system/Settings/Validation Rules/Global Rules*
2.  これら2つの項目のすべての検証ルールについては、「 **選択** リスト」で「 **Is Xhtml** 」をクリックして **「すべて** リスト」に移動します。
    
    ![Dialog for adding validation rules to items](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/connect-for-ch/52/connect-for-content-hub/images/image2.png)
    
3.  アイテムは保存してください。
    

## Azureのデプロイメントでエラーが出ます:ファイルやアセンブリを読み込めませんでした 'Microsoft.Extensions.Caching.Abstractions'エラー

Sitecore Azure ToolKit(SAT)には、設定変換を実行するために必要な依存関係に関する参照が欠けています。

SCCHパッケージをインスタンスに適用した後、bin\\scchフォルダに必要なアセンブリがすべて入ります。

問題を解決するために:

1.  Azure App Service EditorでWeb.configファイルを開いてください。
    
2.  assemblyBindingノードに次のコードを追加します:
    
    <dependentAssembly>
     <assemblyIdentity name="Microsoft.Extensions.Caching.Abstractions" publicKeyToken="adb9793829ddae60" />
     <bindingRedirect oldVersion="0.0.0.0-3.1.14.0" newVersion="3.1.14.0" />
     <codeBase version="2.1.2.0" href="bin/Microsoft.Extensions.Caching.Abstractions.dll" />
     <codeBase version="3.1.5.0" href="bin/Microsoft.Extensions.Caching.Abstractions.dll" />
     <codeBase version="3.1.14.0" href="bin/scch/Microsoft.Extensions.Caching.Abstractions.dll" />
    </dependentAssembly>
    
3.  Azure App Service Editorを保存して更新してください。
    

## Sitecore XP 10.1では、CMP検索インデックスプロセッサがAzure Searchを使う際に正しく動作しません

ハイフン(-)を含むエンティティ識別子フィールド値を持つCMPアイテムを検索すると、CMPインデックスプロセッサはそのアイテムのクローンを作成します。その結果、CMPアイテムバケットには同じエンティティIDを持つ2つのCMPアイテムが存在します。

この問題を避けるために、SearchItemUnderItemBucket関数の検索クエリ$"{fieldValue}"をSitecore.Connector.CMP.Helpers.SitecoreHelperクラスから変更し、検索クエリラッパー($"\\"{fieldValue}\\"".)を実装する必要があります。

検索クエリを変更するには、メソッドオーバーライドと依存性注入オーバーライドのメカニズムを使ってSitecoreHelperクラスをパッチできます:

1.  SitecoreHelperExtendという新しいクラスを作成し、SitecoreHelperをオーバーライドし、クエリラッパーの変更で既存のSearchItemUnderItemBucket関数を上書きします。
    
    例えば:
    
    public override bool SearchItemUnderItemBucket(string fieldName, string fieldValue, Item itemBucket, out ID itemId)
       {
        Assert.IsNotNull(fieldValue, $"Could not get the {fieldName}.");
        using (var context = ContentSearchManager.GetIndex(new SitecoreIndexableItem(itemBucket)).CreateSearchContext())
            {
              SearchResultItem resultItem = context.GetQueryable<SearchResultItem>().FirstOrDefault(
                    searchResultItem => string.Equals(
                       searchResultItemfieldName,
                        $"\\"{fieldValue}\\"",
                        StringComparison.Ordinal)
                        && searchResultItem.Paths.Contains(itemBucket.ID));
                      if (resultItem == null)
                     {
                      itemId = ID.Null;
                         return false;
                     }
                      itemId = resultItem.ItemId;
                     return true;
              }
          }
    
2.  新しいServiceConfiguratorExtendクラスを作成SitecoreHelperExtend:
    
    public class ServicesConfiguratorExtend : IServicesConfigurator
       {
          public void Configure(IServiceCollection serviceCollection)
            {
      serviceCollection.AddSingleton<SitecoreHelper, SitecoreHelperExtend>();
            }
      }
    
3.  Sitecore.Connector.CMP.configファイルを開き、サービスコンフィギュレーターノードで新しい依存注入(DI)サービスコンフィギュレーターを追加します:
    
    <services>
     <configurator type= "Sitecore.Connector.CMP.DI.ServicesConfigurator, Sitecore.Connector.CMP"/>
     <configurator type= "Sitecore.Connector.CMP.DI.ServicesConfiguratorExtend, Sitecore.Connector.CMP.Extend"/>
     </services>
    

## オンプレミス展開スローメソッドには実装エラーがありません

SCCH 5.0のContent Hub SDKはバージョン3.1.14.0 Microsoft.Extensions.DependencyInjection必要です。Sitecore 10.1.x以前のバージョンを参照する展開では、以下のいずれかを行う必要があります:

-   カスタムアセンブリはバージョン3.1.14.0を参照するように更新・再構築してください。
-   web.configファイルにリダイレクトバインディングの設定を追加します。

## オンプレミス展開がMicrosoftでメソッド実装の欠落エラーを発生させます。拡張。依存注入またはDisposeAsyncメソッドエラー

10.2以前のSitecore展開では、カスタムアセンブリは最新のMicrosoft.Extensions.DependencyInjectionバージョン3.1.14.0を参照しなければなりません。なぜなら、SCCH 5.0はContent Hub SDKにバージョン3.1.14.0を必要とするからです。

このバージョンが使えない場合は、以下の方法でエラーを解決してください:

1.  Microsoft Visual Studio年に、Sitecore.Connector.DIという新しいライブラリプロジェクトを作成しましょう。
    
2.  作成されたプロジェクトに対して以下のパッケージ参照を追加してください:
    
    <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.14" />
    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.14" />
    <PackageReference Include="Sitecore.Kernel" Version="13.0.0-r\*" />
    
3.  プロジェクト内でConfigurator.csという新しいクラスを追加します。次のコードを追加します。
    
    using Microsoft.Extensions.DependencyInjection;
    using Sitecore.DependencyInjection;
    namespace Sitecore.Connector.DI
    {
     public class Configurator:IServicesConfigurator
     {
     public void Configure(IServiceCollection serviceCollection){}
     }
    }
    
4.  プロジェクトをアセンブリにコンパイルします。Content Management (CM)インスタンスでアセンブリファイルをbinフォルダにコピーします
    
5.  CMインスタンスで \\App\_Config\\Modules\\Sitecore.Connector.CMPフォルダに行き、新しい設定ファイルを追加します。
    
6.  新しい設定ファイルに以下の構成を追加してください:
    
    <?xml version="1.0"?>
    <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
     <sitecore>
     <services>
     <configurator type="Sitecore.Connector.DI.Configurator, Sitecore.Connector.DI"/>
     </services>
     </sitecore>
    </configuration>
    
7.  ファイルを保存してください。
    

## アイテムエラーでSitecore属性またはContent Hubマッピングフィールドが空

DAMの公開リンク選択ウィンドウで「**選択**」をクリックすると、ログに「*Empty Sitecore Attribute」や「Content Hub Mapping Field on Item*」エラーが表示されることがあります。

公開リンクを選択すると、DAM属性マッピング設定項目を取得します。デフォルトでは、Sitecore属性マッピング設定項目の英語版フィールド値を使用します。英語以外の言語(例えば日本語)を使用する場合は、コンテンツエディターのMaster DB/System/Modules/DAM/Config/Mapping項目で日本語版の言語値を入力します。

## SXAフィールドはDAM機能では動作しません

DAM機能はSXAでは利用できませんが、DAMコネクタを取り付けると、Sitecore内のすべての画像タイプに **ブラウズSitecore DAM**が有効になります。DAM機能を活用できるSXA回避策を使えます。

以下の手順では、SXAファビコンフィールドを例として使いますが、同様の機能は他のSXAフィールドにもDAMてはまります。DAM画像リンクが機能しない主な理由は、ファビコンフィールドの値をSXAが取得する際にMediaManager.GetMediaUrl() メソッドが使われているからです。

この問題を解決するために:

1.  Sitecore.XA.Feature.SiteMetadata.Extensions.FieldExtensions.GetImageUrl()メソッドをパッチするか、以下の方法で新しい拡張クラスを作成することができます。
    
    public static class MediaExtension
         {
             public static string GetImageUrl(this Field field, Item item, ID fieldId, bool includeServerUrl = true)
             {
                 var imageUrl = string.Empty;
                 if (field != null)
                 {
                     var imageField = (ImageField)field;
                     if (imageField != null)
                    {
                         if (imageField.MediaItem == null)
                         {
                             XmlField imageDAMField = item?.FieldsfieldId;
                             string src = imageDAMField.GetAttribute("src");
                             return src;
                         }
                         else
                         {
                             var urlOptions = new MediaUrlBuilderOptions();
                             urlOptions.AlwaysIncludeServerUrl = includeServerUrl;
                             return MediaManager.GetMediaUrl(imageField.MediaItem, urlOptions);
                         }
                     }
                 }
                 return imageUrl;
             }
     }
    
2.  Sitecore.XA.Feature.SiteMetadata.Repositories.Favicon.FaviconRepository.GetFaviconHref()メソッドを以下のメソッド拡張にパッチを当ててください:
    
    public virtual string GetFaviconHref(Item contextItem)
             {
                 var faviconHref = string.Empty;
                 var settingsItem = GetSettingsItem(contextItem);
                 var faviconField = settingsItem.FieldsTemplates.\_Favicon.Fields.Favicon;
                 if (faviconField != null)
                 {
                     faviconHref = faviconField.GetImageUrl(settingsItem, faviconField.ID, false);
                 }
                 return faviconHref;
             }
    
3.  Sitecore.XA.Feature.SiteMetadata.configファイル内にFaviconRepositoryリポジトリ(またはカスタムリポジトリ)を実装に追加します。例えば:
    
    <register serviceType="Sitecore.XA.Feature.SiteMetadata.Repositories.Favicon.IFaviconRepository, Sitecore.XA.Feature.SiteMetadata" implementationType="<customFaviconRepository>, <customAssembly>" lifetime="Singleton" />
    

## DAMコネクタの既知の問題点

以下の表は、SCCHのDAM機能を使用する際に直面する可能性のある問題と、それらの解決方法を説明します。

問題が発生する地域

概要

回避策

コンテンツタイプ

Content Hub DAMでアセットのコンテンツタイプが変更された場合、その変更はSitecoreには反映されません。したがって、Sitecoreでのレンダリングは表示されません。

該当なし

画像特性

コンテンツエディターでは、画像を右クリックすると「**画像マップエディター** 」と **「プロパティ」**の2つのオプションが表示されます。どちらか一方を選択して **画像マネージャー** のアイコンをクリックすると、開くメディアライブラリはSitecore DAMライブラリではなく *sitecore/media* ライブラリとなります。メディアライブラリを変更するオプションはありません。

該当なし

画像を変える

コンテンツエディター:Sitecore DAM画像を挿入すると、サイト*コア/メディア*ライブラリから画像を選択し、「**ブラウズ**」をクリックして画像を挿入すると、画像フィールドが正しくクリアされません。

クリアリンクを使ってフィールドをクリアし、アイテムを保存してから新しい画像を選択してください。

画像フィールドをクリアしてください

エクスペリエンスエディター:画像を **保存せずに削除** をクリックして画像を消すと、その画像がエクスペリエンスエディターに表示されていなくてもフィールドは消されません。

問題を解決するには **「保存** 」をクリックしてください。

DAMからメディアライブラリイメージへの変更

エクスペリエンスエディター:Sitecore DAMから画像を挿入し、「 **画像を選択し** 」をクリックして *sitecore/media* ライブラリから新しい画像を挿入してSitecore DAM画像を置き換えると、フィールドが正しくクリアされません。

画像 **削除** をクリックし、 **保存**をクリックし、 *サイトコアやメディア* ライブラリから画像を挿入します。

SXA

このバージョンではSXAはサポートされていません。

[この回避策を参照してください](https://doc.sitecore.com/xp/ja/developers/connect-for-ch/52/connect-for-content-hub/troubleshooting-scch.html#UUID-7bbbff55-08d9-52cf-eeb5-1549d877e8c8_section-idm253408954077130)

SXA

SXAがインストールされていてIFrameが開かれている場合、「 *MAssetコマンドが実装されていない* 」というエラーが返され、IFrameが開かなくなります。

この問題はApp\_Config\\Modules\\SXA\\Feature\\フォルダ内のSXA設定ファイルを更新Sitecore.XA.Feature. ContentTokens.configで解決します。Command Scriptタグの前に、以下のSXAキー属性を付けます:  
  
<script key = “SXA” src=”/sitecore/shel l/Controls/Rich Text Edit/ Insert Content Token Command.js” language=“Javascript”/>

ビハビアリッチテキストエディタ

デザインモードでリッチテキストエディターに動画を挿入すると、動画は移動や削除はできません。再生のみ可能です。  
  
しかし、コンソールエラーが2つ発生します。

HTMLモードに切り替え、必要に応じて動画要素を調整してください。

ビハビアリッチテキストエディタ

動画のみを含むアイテムを保存してデザインモードで再開すると、そのアイテムは凍結され編集できません。

HTMLモードに切り替えて必要に応じて要素を追加してください。これでアイテムのフリーズが解除されます。

ログイン手順

ログインの手順の一環として、ウィンドウが更新され、コンテンツ/エクスペリエンスエディターは警告メッセージなしで閉じます。

ログインを続ける前にすべての変更を保存してください。ログインするとウィンドウは再度更新されません。

Sitecore DAM Chromeでシークレットモードでログインしてください

コンテンツエディター Sitecore、シークレットモードでChromeを使うと、「**ブラウズSitecore DAM**」をクリックしてサインインを試みると、サインインダイアログボックスが再び開き、認証情報を求められます。

Chromeブラウザでは、クッキーオプションを *「すべてのクッキーを許可*」に設定してください。詳細は [ブラウザのドキュメント](https://support.google.com/accounts/answer/61416?hl=en&co=GENIE.Platform%3DDesktop) を参照してください。