大量資產發佈期間,樹狀結構啟用因「未知的名稱空間前置詞」而失敗
當您使用 管理出版物 或 快速發佈 大量發佈資產時,如果一個或多個資產包含使用未註冊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)的中繼資料屬性時,就會發生此問題。
根本原因
發佈工作流程失敗,因為一或多個資產包含的中繼資料具有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設定,以在目標環境中註冊名稱空間。 -
請執行Groovy指令碼或檢查JCR名稱空間登入,以確認名稱空間已註冊。
-
針對受影響的資產或資料夾,再次執行 管理出版物 或快速發佈。
-
確認資產先前因未註冊的名稱空間而失敗,現在已成功發佈。
其他附註
註冊名稱空間首碼時,請使用正確的URI。 對於使用自訂名稱空間的中繼資料屬性,AEM需要有效的首碼對URI對應。