Campaign: AEMでテンプレートの場所を変更すると、AEM テンプレートの同期が失敗する

AEMampaign.link.json エンドポイントを使用してAEM メールテンプレートを同期しようとすると、テンプレートが存在し、基本的な同期が機能しているように見えても、JST-310000 JSON.parse エラーが発生して処理が失敗する可能性があります。 この問題は、カスタム AEM メールページコンポーネントが、Sling サーブレット解決で想定される相対リソースタイプではなく、絶対リポジトリパスを使用してメールコアコンポーネントページから継承する場合に発生する可能性があります。

説明 description

お客様から、古いAEM メールテンプレートは引き続き機能すると報告されましたが、メールページコンポーネントに基づく新しいテンプレートは、Campaignで開いたり同期したりすると失敗しました。

Campaignで表示される現象は、JSON.parseによって引き起こされるスクリプト 'nms:amcIntegration.js’のコンパイル中に JST-310000 エラーが発生しました。

お客様は、メールコアコンポーネント上に構築され、本質的に編集可能なAEMから新しいキャンペーンテンプレートページをプッシュしようとしていました。
使用されているリソースタイプは:/apps/aem-crm/components/email/pageで、superTypeは:/apps/core/email/components/page/v1/pageです。これは、古いmcm コンポーネントが非推奨になるため、Adobeで推奨されています。

AEMとCampaignの間の全体的な同期は機能しており、テンプレートは選択リストに表示されていましたが、メールコアコンポーネントの新しいテンプレートが選択されると、エラーが表示されました。

お客様は、Campaignのオプション AEMResourceTypeFilterに適切な値を追加しました。
mcm/campaign/components/newsletter,mcm/campaign/components/campaign_newsletterpage,mcm/neolane/components/newsletter,/apps/aem-crm/templates/campaign-newsletter-template-2025,/apps/aem-crm/components/email/page,/apps/core/email/components/page/v1/page

解決策 resolution

根本原因

AEMのLinkServlet (.campaign.link.json エンドポイントを処理し、Campaignが期待するJSONを返す)が問題のあるテンプレートに対して呼び出されないため、同期が失敗します。 代わりに、SlingのデフォルトのPOST ハンドラーが実行され、Campaignが解析に失敗する(JSON.parse エラー)HTML応答を返します。

これは、お客様のコンポーネント /apps/aem-crm/components/email/pageが、絶対パスを使用してsling:resourceSuperTypeを宣言しているために発生します。

sling:resourceSuperType = “/apps/core/email/components/page/v1/page”

LinkServletは、相対フォーム core/email/components/page/v1/page (/apps/を除く)に登録されます。 Slingは、これらを異なるキーとして扱うため、コンポーネント階層を歩いてサーブレットを見つけることはできません。

解決策

お客様のカスタムコンポーネント定義(/apps/aem-crm/components/email/page/.content.xmlのAEM プロジェクトソース)で、sling:resourceSuperTypeを絶対パスから相対フォームに変更します。

< ! – 前 – >
sling:resourceSuperType=“/apps/core/email/components/page/v1/page”

< ! – 後 – >
sling:resourceSuperType=“core/email/components/page/v1/page”

この変更後、コンポーネントパッケージを再デプロイします。 その後、SlingはsuperType チェーンを正しく実行してLinkServletを呼び出し、JSONをCampaignに返して同期エラーを解決します。

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