大量資產發佈期間,樹狀結構啟用因「未知的名稱空間前置詞」而失敗

當您使用 管理出版物快速發佈 大量發佈資產時,如果一個或多個資產包含使用未註冊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

若要解決樹狀結構啟動失敗的問題,請遵循下列步驟:

  1. 檢閱AEM錯誤記錄檔,並識別​ 未知的名稱空間前置詞 ​錯誤中報告的前置詞。

  2. 使用Groovy指令碼或JCR查詢來列出已註冊的名稱空間,並識別具有使用未註冊首碼的中繼資料屬性的資產。

  3. 新增repoinit設定,以使用正確的URI登入遺失的名稱空間前置詞。

  4. 使用下列repoinit語法:

    code language-none
    register namespace (ns11) http://your-namespace-uri
    
  5. 透過您的AEM as a Cloud Service專案部署repoinit設定,以在目標環境中註冊名稱空間。

  6. 請執行Groovy指令碼或檢查JCR名稱空間登入,以確認名稱空間已註冊。

  7. 針對受影響的資產或資料夾,再次執行 管理出版物快速發佈

  8. 確認資產先前因未註冊的名稱空間而失敗,現在已成功發佈。

其他附註

註冊名稱空間首碼時,請使用正確的URI。 對於使用自訂名稱空間的中繼資料屬性,AEM需要有效的首碼對URI對應。

相關閱讀

recommendation-more-help
experience-cloud-kcs-help-kbarticles