Adobe Campaign V8 での rtEvent#PushEvents エラー処理の変更
Adobe Campaign V8 では、「rtEvent#PushEvents
」フィールドに範囲外の値が指定されているなど、無効なペイロードを受け取ったときに wishedChannel
メソッドがエラーを返さなくなりました。 代わりに、RT データベースに間違ったデータが格納され、mcExec
のようなワークフローで同期エラーが発生します。 これを修正するには、送信前にペイロードを検証し、無効な RT レコードを修正し、同期中に障害イベントをスキップし、繰り返し発生する問題についてワークフローを監視します。
説明 description
環境
- Product:Adobe Campaign Classicがホスト
- バージョン : V8 (サーバービルド 8.6.2、コンソールビルド 8.6.2)
- インスタンス :ステージ
問題/症状
-
Adobe Campaign V7 では、ペイロードに無効なデータ(
rtEvent#PushEvents
フィールドの範囲外の値など)が含まれていた場合、wishedChannel
メソッドからエラーが返されました。 -
Adobe Campaign V8 では、この動作は次のように変更されました。
- SOAP呼び出しでエラーや成功の応答は返されません。
- システムが無効なデータを RT インスタンスデータベースに保存しています。
- 接続されたマーケティングインスタンスでの同期ワークフロー(
mcExec
など)が、無効なデータが原因で失敗します。
例:
-
wishedChannel="999"
のペイロードが 8 ビットの整数制限を超えています。 システムは、エラーを発生させずにラップアラウンド値(231
)を保存します。 -
これにより、次のような同期エラーが発生します。
BAS-010043 値'231'は、型'integer (8 ビット)'の数値の制限範囲内にありません(範囲は–128 ~ 127)。
解決策 resolution
適切なエラー処理を行わずに無効なペイロードが処理されたことに起因する問題を防ぐには、次のベストプラクティスに従います。
-
rtEvent#PushEvents
メソッドに送信されたデータが、想定されるタイプおよび値の範囲に一致していることを確認します。- 例えば、
wishedChannel
のようなフィールドは有効な制限内にあることを確認します(例えば、8 ビットの整数の場合は–128 ~ 127)。
- 例えば、
-
無効なデータが既に取り込まれている場合:
- 同期ワークフローを実行する前に、影響を受ける RT データベース内のレコードを手動で修正してください。
- または、無効なデータを含むイベントについては同期をスキップします。
-
無効なペイロードによって発生する繰り返しエラーに対する
mcExec
などの同期ワークフローを監視します。 -
この動作に対処する可能性のある今後のAdobe Campaign V8 の更新について情報を入手します。