アセットの一括公開中に、「不明な名前空間のプレフィックス」が発生すると、ツリーのアクティブ化が失敗する
公開を管理または クイック公開でアセットを一括公開すると、1つ以上のアセットに未登録のJCR名前空間プレフィックスを使用するメタデータプロパティが含まれている場合、AEMで不明な名前空間プレフィックス エラーが発生する可能性があります。 repoinitを使用して、見つからない名前空間を正しいURIに登録してから、公開アクションを再度実行してください。
説明 description
環境
Adobe Experience Manager(AEM)as a Cloud Service
問題/症状
公開を管理 (ツリーのアクティブ化)または クイック公開を使用してDAM フォルダーからアセットを一括公開すると、未登録の名前空間の接頭辞に関連するエラーが発生して公開ワークフローが失敗します。
症状は次のとおりです。
- 公開の管理は、公開ワークフロー中に失敗または停止します。
- クイック公開は、個々のアセットまたは小さな選択範囲に対して成功しますが、大きな一括公開アクション中に失敗します。
- 一部のアセットは正常に公開されますが、全体的な公開ジョブは失敗します。
- エラーログには、次のようなメッセージが含まれます。
javax.jcr.NamespaceException: Unknown namespace prefix: ns11
ReplicationException: One or more agents failed to replicate.
DistributionException: Failed to create content package
... failed to resolve namespace prefix
この問題は、選択したアセットに、未登録のJCR名前空間プレフィックス(ns11など)を使用するメタデータプロパティが含まれている場合に発生します。
根本原因
1つ以上のアセットに、リポジトリに登録されていないJCR名前空間プレフィックスを持つメタデータが含まれているため、公開ワークフローが失敗します。 コンテンツのパッケージ化およびレプリケーション中に、AEMはそのプレフィックスを解決できないため、一括公開操作が失敗します。
解決策 resolution
ツリーのアクティブ化エラーの問題を解決するには、次の手順に従います。
-
AEM エラーログを確認し、不明な名前空間のプレフィックス エラーで報告されたプレフィックスを特定します。
-
Groovy スクリプトまたはJCR クエリを使用して、登録済みの名前空間を一覧表示し、未登録の接頭辞を使用するメタデータプロパティを使用してアセットを識別します。
-
repoinit設定を追加して、見つからない名前空間のプレフィックスを正しいURIに登録します。 -
次の
repoinit構文を使用します。code language-none register namespace (ns11) http://your-namespace-uri -
AEM as a Cloud Service プロジェクトを通じて
repoinit設定をデプロイし、ネームスペースをTarget環境に登録します。 -
Groovy スクリプトを実行するか、JCR名前空間レジストリを確認して、名前空間が登録されていることを確認します。
-
影響を受けるアセットまたはフォルダーに対して、公開の管理または クイック公開を再度実行します。
-
未登録の名前空間が原因で以前に失敗したアセットが正常に公開されたことを確認します。
追加メモ
名前空間のプレフィックスを登録する際には、正しいURIを使用します。 AEMでは、カスタム名前空間を使用するメタデータプロパティに有効な接頭辞とURIのマッピングが必要です。