无法在AEM的输出服务OSGi API中解析片段

在Adobe Experience Manager Forms as a Cloud Service (AEMFaaCS)中,使用输出服务OSGi API时,XDP文件内的片段引用无法解析。 当由于内容根配置不正确或片段引用不正确而导致相对路径解释不正确时,会发生此问题。 要解决此问题,请配置内容根并使用正确的相对路径。

描述 description

环境

  • 产品: Adobe Experience Manager Forms as a Cloud Service (AEMFaaCS)
  • 实例: 开发

问题/症状

  • 日志中出现错误,如​ javax.jcr.PathNotFoundException ​和​ javax.jcr.RepositoryException
  • 嵌入到具有相对引用的XDP文件中的片段路径无法按预期解析。

解决方法 resolution

执行以下步骤以解决AEM Forms输出服务中的片段解析问题:

  1. contentRoot参数设置为包含主XDP和片段文件夹的顶级目录。 例如,如果您的主XDP文件夹是/content/dam/formsanddocuments/main-xdps,并且您的片段位于/content/dam/formsanddocuments/fragments下,请将内容根设置为/content/dam/formsanddocuments/。  请参阅使用片段生成PDF文档。
  2. 在主XDP文件中,根据步骤1中的内容根集提供片段的相对路径。 例如,如果条形码片段位于/content/dam/formsanddocuments/fragments/barcode.xdp,请使用./fragments/barcode.xdp作为主XDP中的引用路径。
  3. 请勿使用/content/dam/formsanddocuments/fragments/xdp/barcode.xdp等绝对路径。
  4. 避免引用从主XDP位置向上导航的路径(例如,../../barcode.xdp)。
  5. 调用outputService.generatePDFOutput(templateName, data, options)时,提供主XDP文件的完整路径(例如,crx:///content/dam/formsanddocuments/af-personal/main-xdps/CM201-0822.xdp)作为模板名称。
  6. 实施这些调整后,测试所有场景以确保不同XDP和片段的一致行为。

相关阅读

AEM用户指南中的输出服务

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f