Salesforceランタイムエラーのトラブルシューティング
WorkatoでSalesforceコネクターを使用する際にランタイムで発生するエラーのトラブルシューティングには、このガイドを使用します。
Salesforceトリガーの失敗: 414 URI Too Long
Salesforceトリガーに選択済みフィールドが過度に多く含まれている場合、414 URI Too Longエラーが発生します。 その結果、レシピはジョブの処理を停止します。
関連付けられているフィールドの数を減らすことで、この問題を解決できます。 トリガー設定の関連オブジェクトおよびフィールドドロップダウンメニューを使用して、必要なフィールドのみを選択します。
Salesforceは約500~800個のフィールドをサポートしています。 正確な数はフィールド設定によって異なります。
Monitorトリガーの再起動がDUPLICATE_DEVELOPER_NAMEで失敗する
DUPLICATE_DEVELOPER_NAMEエラーは、変更の監視トリガーが1回実行された後、レシピを再起動すると失敗する場合に発生します。
例:
[{"message":"A PlatformEventChannel record with full name CustomChannel21555712__chn already exists. Try using another full name for the channel.","errorCode":"DUPLICATE_DEVELOPER_NAME","fields":[]}]通常、Salesforceオブジェクトの更新とキャッシュされたメタデータによって、このエラーがトリガーされます。
エラーを解決するには、次の手順を完了します:
ページを更新し、レシピを複製します。
同じトリガーを使用して新しいレシピを作成します。 レシピを複製したり、トリガーやアクションをコピーしたりしないでください。 この新しいレシピを使用してトリガーをテストします。
失敗しているレシピ用に別のSalesforceコネクションを作成します。
上記の手順でエラーが解決しなかった場合は、Salesforce Developer Consoleで次の手順を実行します:
クエリエディタータブをクリックし、Tooling APIを選択します。
次のクエリを実行して、すべてのPlatform Event Channelを取得します:
````
```bash
SELECT Id, DeveloperName, ChannelType, MasterLabel FROM PlatformEventChannel
```
````
エラーメッセージに一致するCustomChannel{id}を特定します。
CustomChannel{id}を選択し、行を削除をクリックして削除します。
これにより、トリガーと競合している既存のイベントチャネルが削除され、レシピをエラーなしで再起動できるようになります。
Get Reportアクションが行を返さない
レポート取得アクションが行を返さない場合は、Salesforceでレポートを開き、データのないグループ化がないか確認します。 この問題を解決するには、それらのグループ化を削除します。
スキーマエラー
アクションとトリガーはデフォルトで、Salesforceからすべてのオブジェクトフィールド(標準フィールドとカスタムフィールド)をリクエストします。これらのフィールドがレシピで使用されていない場合でも同様です。
Salesforce管理者がSalesforceオブジェクトスキーマを変更した場合、たとえばオブジェクト内のフィールドを削除した場合、レシピはそのオブジェクトについてSalesforceにAPIリクエストを行う際にエラーをスローします。 これは、レシピが削除済みフィールドをSalesforceにリクエストし続けるためであり、無効なリクエストとなります。 Salesforceオブジェクトにフィールドが追加された場合、レシピはエラーをスローせず、Workatoはこれらの追加フィールドをリクエストしません。
スキーマ更新により、SalesforceとWorkato間のスキーマ差異を解決できます。 スキーマが頻繁に変更されることが予想される場合は、取得するフィールド入力フィールドを使用して、レシピがSalesforceに要求するフィールドを制御します。 これにより、レシピに関連しないスキーマ変更によってレシピが中断したり、エラーが発生したりしないようにできます。
未設定の取得するフィールドセレクター。 WorkatoはデフォルトですべてのAccountフィールドを返します。
選択したオブジェクトのすべてのSalesforceフィールドは、Fields to retrieveリストで使用できます。
フィールドセレクターには、選択したオブジェクトで使用可能なすべてのデータフィールドがデフォルトで表示されます
取得するフィールドを選択すると、Workatoは出力データツリーからその他すべてのフィールドを省略します。
フィールドセレクターの設定: フィールドが選択されるとデータツリーが再生成されます
基本オブジェクトと関連する結合オブジェクトのデータフィールドを含むフィールドセレクターの設定: フィールドが選択されるとデータツリーが再生成されます
使用する予定のパラメーターに出力を制限することで、Salesforceスキーマ変更がレシピに与える影響を軽減できます。 Related objects(関連オブジェクト)フィールドを使用して、出力パラメーターを設定することもできます。
Last updated: