Salesforce同期タスクのトラブルシューティング
次に示す状況に対する解決方法は、Salesforce同期タスクのトラブルシューティングで役に立つことがあります。
- 同期タスクが失敗します。
- フラットファイルからSalesforceオブジェクトにデータを書き込むタスクを実行しようとしましたが、フラットファイルの外部IDフィールドの1つが関連するSalesforceオブジェクト内で見つかりませんでした。この場合、タスクは次のエラーで失敗します。
[Salesforce object name] : Error received from salesforce.com. Fields []. Status code [INVALID_FIELD].
Message [Foreign key external ID: not found for field <field name> in entity <source object>].
これを解決するには、Salesforceにその外部ID値が存在することを確認します。
- アウトバウンドメッセージを受信するとリアルタイムで実行するように設定されている同期タスクが失敗し、次のメッセージが表示されます。
The buffer [] returned from outbound message queue [] is corrupt.
この問題が発生し得る状況と可能なアクションを次の表に示します。
ケース | 推奨アクション |
---|
アウトバウンドメッセージによって送信されたフィールドが、タスクで使用されているソースフィールドと一致しません。 | アウトバウンドメッセージによって送信されたフィールドが、タスクで使用されているソースフィールドと一致するように、アウトバウンドメッセージを更新するかまたはタスクを更新します。 |
タスクを設定した後に、フィールドの精度やデータ型などのソースメタデータが変更されています。 | タスクを更新します。タスク内のソースメタデータを更新するには、フィールドマッピングページで、[フィールドの更新]をクリックします。 |
エラーが解決しない場合は、ランタイム環境に対して次のカスタム設定プロパティを指定することでこの問題を解決できます。
- - Type: Tomcat, Name: InfaAgent.MaxTotalBytesQueued, Value: <大きな数値(MB単位)>
- - Type: Tomcat JRE, Name: INFA_MEMORY, Value: -Xmx<大きな数値>
- - Type: Tomcat, Name: InfaAgent.OutboundMessageIdDuplicateTimePeriod, Value: <大きな数値(ミリ秒)>
例:
- - Type: Tomcat, Name: InfaAgent.MaxTotalBytesQueued, Value:256
- - Type: Tomcat JRE, Name: INFA_MEMORY, Value: -Xmx1g
- - Type: Tomcat, Name: InfaAgent.OutboundMessageIdDuplicateTimePeriod, Value: 60000
アウトバウンドメッセージを受信したときに開始するタスクの設定の詳細については、
Salesforce送信メッセージによるタスクの開始を参照してください。