ブランディングされたメールの問題

可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。

API コントラクトが承認または失効すると、Anypoint API コミュニティマネージャーから通知メールが送信されます。デフォルトでは、これらのメールで Anypoint Platform のアドレスおよびブランディングが使用されます。

ブランディングされたメールのトラブルシューティングの現象と対策について以下に説明します。

データキャプチャプロセスが失敗する

変更データキャプチャが有効化されている場合、Salesforce は ACM コミュニティブリッジに対して契約の更新についてポーリングを開始します。データキャプチャプロセスが失敗すると、Salesforce はポーリングを停止します。

データキャプチャプロセスの状況を調べて、変更データキャプチャが失敗したことを確認します。

状況を調べるには、開発者コンソールで次の SOQL を実行します。

SELECT Id, Name, SubmittedAt, StartedAt, FinishedAt, ProcessAfter, Status, Error
FROM BackgroundOperation WHERE Name = 'acm_pkg__AnypointContracts__x' ORDER by SubmittedAt DESC LIMIT 15

このエラーを解決するには、システム管理者がデータキャプチャプロセスを再開する必要があります。

メールを受信しない

API コントラクトが承認または失効すると、API コミュニティマネージャーから通知メールが送信されます。変更データキャプチャをセットアップしたユーザーが組織のシステム管理者ではない場合には、よくある問題が発生します。ユーザーが組織で利用できるすべてのアプリケーションと契約を閲覧するには、マスター組織の組織のシステム管理者である必要があります。契約の更新は返されなくても、ジョブステップが正常に完了しているために SOQL がエラーを返さない場合があります。

変更データキャプチャジョブの最初のステップは、更新されているすべての利用可能な契約を取得することです。契約の更新がない場合には、ブランディングされたメール設定で定義されているトリガーが実行されます。変更データキャプチャと同じユーザーによってトリガーが実行されない場合は、「Automated Process (自動化プロセス)」という名前のユーザーが使用されます。このユーザーは、ユーザーが最初に ACM コミュニティブリッジを実行しようとしたときに、Anypoint Platform で作成されます。その結果、メール通知が受信されなくなります。

この問題を解決するには、次の手順を実行します。

  1. Apex トリガーが実行中であるかどうかを確認するため、次のコードを使用して、開発者コンソールから Apex トリガーへのログインを追加します。

    trigger AnypointEmailNotificationsTrigger on acm_pkg__AnypointContracts__ChangeEvent (after insert) {
        System.debug('AnypointEmailNotificationsTrigger is running :)');
        List<acm_pkg__AnypointContracts__ChangeEvent> events = Trigger.new;
        acm_pkg__.AnypointEmailNotifications.notifyOnContractUpdates(events);
    }
  2. Anypoint で、変更データキャプチャのセットアップに使用したユーザーに組織のシステム管理者ロールを追加します。

  3. テストアプリケーションを作成して、Exchange で利用可能な任意の API に対して API アクセスを要求します。

  4. [Access Management]​ で​「Automated Process (自動化プロセス)」​ユーザーを探し、​マスター組織​での​組織のシステム管理者​ロールを付与します。

  5. [API Manager]​ で、変更データキャプチャプロセスに変更を加えるために作成してあるテスト契約書を失効させます。

  6. 次の変更データキャプチャが発生するまで待ちます。

ブランディングされたメールをセットアップする手順は、​「必要に応じてブランディングされたメールの設定」​のトピックを参照してください。

変更データキャプチャプロセスでエラーが表示される

ACM コミュニティブリッジで契約書を取得する際に、想定外のエラーが発生します。たとえば、内部 Anypoint サービスが停止しているために利用できない、などです。

Problem querying for changes. An error occurred while connecting to the external system. Please try again, or contact your administrator.

このエラーを解決する手順は、次のとおりです。

  1. [Setup (設定)] > [Integrations (インテグレーション)] > [Change Data Capture (変更データキャプチャ)]​ で ​AnypointContracts​ エンティティを削除して、変更データキャプチャプロセスを再起動します。

  2. [Save (保存)]​ をクリックします。

  3. [Setup (設定)] > [Integrations (インテグレーション)] > [Change Data Capture (変更データキャプチャ)]​ で ​AnypointContracts​ エンティティを再び追加します。

  4. [Save (保存)]​ をクリックします。

タイムアウトエラーが長すぎる、または OData クエリ結果が大きすぎる

次のいずれかのエラーが返される場合は、組織のクライアントアプリケーション数または契約数が多すぎる可能性があります。アプリケーション数または契約数が 2000 件を超えると、タイムアウトの原因となります。ACM コミュニティブリッジがこの情報を取得するのにかかる時間が、Salesforce の 2 分未満というタイムアウトより長くなるためです。

Error is too long

Problem querying for changes. The OData query result was too large, so the external data didn't load. If the error persists, contact Salesforce Customer Support.

Problem querying for changes. The remote operation timed out. Try again later. If the error persists, contact Salesforce Customer Support.

これらのエラーを解決する手順は、次のとおりです。

  1. マスター組織の組織のシステム管理者から提供されたトークンを使用して次の curl コマンドを実行し、組織のアプリケーション数を確認します。

    curl --location --request GET "https://anypoint.mulesoft.com/apiplatform/repository/v2/organizations/${MASTER_ORGANIZATION_ID}/applications?targetAdminSite=true" --header "Authorization: bearer ${TOKEN}"
  2. MASTER_ORGANIZATION_ID​ を組織 ID に置き換えます。

  3. アプリケーション数が 2000 件を超えている場合は、不要なアプリケーションをすべて削除します。