Webhooks - 一般的なエラーのデバッグ
このガイドでは、Webhooksコネクターの使用時に発生する一般的なエラーと、それらのエラーの解決方法について説明します。
応答のschema生成エラー
このエラーは、webhookヘッダーで検出されたContent-Typeと実際のpayloadデータ型が一致しない場合に発生します。
たとえば、webhookヘッダーがJSON payloadを示している一方で、実際のpayloadがXML(<id>1</id>など)の場合、Workatoがデータを解析しようとするとエラーが発生します。
原因
この問題は、標準的なHTTPプラクティスに準拠していないレガシーアプリケーションやカスタムアプリケーションでよく発生します。特に、Content-Typeヘッダーがpayload形式と一致しない場合に発生します。
解決策
- アプリケーションの所有者に確認し、webhook APIが正しい形式でデータを送信していることを確認します。
- webhook形式を変更できない場合は、Skip guided setupをクリックし、payload schemaを手動で設定します。
400 Bad Requestエラーを受信するwebhookイベント
400 Bad Requestエラーは、想定されるpayloadタイプと実際のpayloadタイプが一致しない場合、またはpayloadの文字エンコードに互換性がない場合に発生します。
原因
- Workatoは、Webhook type設定で定義されているJSONベースのwebhookを検証します。 payloadが有効なJSONでない場合、Workatoは
400 Bad Requestエラーを返します。 - Workatoは、JSON、Form、およびXMLベースのwebhookがUTF-8互換であることも確認します。 payloadにUTF-8互換性がない場合、Workatoは
400 Bad Requestエラーを返します。
解決策
- 受信webhookのpayloadが、定義されているWebhook typeと一致することを確認します。
- payloadに非UTF-8文字が含まれている場合は、Webhook Typeの下にあるRaw Binary Dataオプションを使用します。
Webhookトリガーエラー
Webhookトリガーエラーは、Workatoがwebhookイベントの受け入れまたは処理に失敗した場合に発生します。 これらのエラーは2つのカテゴリに分類されます:
- Webhook gateway errors: これらは、レート制限、検証失敗、または無効なリクエストが原因でゲートウェイレベルで発生します。 これらのエラーにより、webhookイベントは処理されません。
- Webhook processing errors: これらは、イベントがゲートウェイに受け入れられた後に発生し、データ解析の問題、処理ロジックの失敗、またはダウンストリームサービスのエラーが原因で発生する場合があります。
エラーログ記録
すべてのwebhookエラーは、Workato Logging Serviceによって自動的にログに記録されます。 次の例は、webhookエラーのログデータを示しています:
Webhookエラー
原因
Webhookトリガーエラーは、次の理由で発生する可能性があります:
- 無効なリクエスト形式
- 正しくないwebhook URL
- サーバーの問題
- Workatoと外部システム間のデータ形式の不一致
たとえば、WorkatoがQuickbaseからwebhookイベントを受信し、Quickbaseの日付フィールドの表現がWorkatoと異なる場合、schemaの不一致が発生する可能性があります。 Workatoのwebhook schemaがDate形式を想定しているもののStringを受信した場合、イベントは受信されても処理されず、サイレント障害につながる可能性があります。
トリガーエラーの表示
トリガーエラーが発生すると、ジョブは生成されません。 そのため、ジョブIDもジョブ履歴テーブルのエントリもありません。 これらのエラーは、ログサービスページでのみ表示されます。 ジョブが作成されていないため、データ関連のエラーではプロンプトや通知は生成されません。
Workatoのデータ型の詳細をご覧ください。
解決策
- Workatoのwebhook schema内のデータ型が、外部アプリケーションの想定形式と一致していることを確認します。
- Workato Logging Serviceを使用してエラーログを分析し、webhookトリガーエラーの原因を特定します。
- ログサービスページでwebhookトリガーエラーをフィルターし、特定の問題を特定してトラブルシューティングします。
エラーのフィルター
Last updated: