JSON Module のトラブルシューティング - Mule 4

JSON Module のトラブルシューティングを行うには、冗長ログの有効化と、スローされる一般的なメッセージの解釈に関する情報を理解しておきます。

冗長ログの有効化

アプリケーションと JSON Module のやりとりが失敗する理由の理解を深めるには、モジュールの冗長ログを一時的に有効にします。

Mule アプリケーションのパフォーマンスに影響するため、トラブルシューティングが完了したら、必ず拡張された冗長性を無効にしてください。

設定ファイルで冗長ログを有効にする手順は、次のとおりです。

  1. Anypoint Studio にアクセスし、​[Package Explorer]​ ビューに移動します。

  2. アプリケーションのプロジェクト名を開きます。

  3. src/main/resources​ パスフォルダーを開きます。

  4. フォルダー内の ​log4j2.xml​ ファイルを開きます。

  5. <Loggers>​ タグ内に ​<AsyncLogger>​ タグを追加します。

    <Loggers>
    	...
    	<AsyncLogger name="org.mule.module.json" level="DEBUG"/>
    	...
    </Loggers>
    xml
  6. アプリケーションの変更を保存します。

  7. Package Explorer​ でプロジェクト名をクリックし、​[Run (実行)]​ > ​[Run As (別のユーザーとして実行)]​ > ​[Mule Application (Mule アプリケーション)]​ をクリックします。

末尾の文字を含む無効な JSON ペイロードのトラブルシューティング

JSON Module の ​Validate schema​ 操作で、末尾の文字を含む無効な JSON ペイロードが正しく検出されるようになりました。

これは、コネクタで使用される Jackson ライブラリではデフォルトの動作ではないため、これを行うには、システムプロパティ ​-DjsonSchemaValidator.FailOnTrailingTokens=true​ を検証に追加する必要があります。

  1. Studio で ​[Run (実行)] > [Run configurations…​ (設定を実行…​)]​ に移動します。

  2. [Run Configurations (設定を実行)]​ 画面の最初の列で ​[Mule Applications (Mule アプリケーション)]​ を選択します。

  3. [(X)= Arguments ((X)= 引数)]​ タブをクリックします。

  4. [VM arguments (VM 引数)]​ ボックスで、システムプロパティ ​-DjsonSchemaValidator.FailOnTrailingTokens=true​ を追加します。

「VM arguments (VM 引数)」 ボックスに追加されたシステムプロパティ

一般的なスローを理解する

ここでは、一般的なスローメッセージとその解決方法を示します。

  • JSON:INVALID_INPUT_JSON

    入力ドキュメントが有効な JSON ではありません。
  • JSON:INVALID_SCHEMA

    指定されたスキーマが無効です。
  • JSON:SCHEMA_NOT_FOUND

    スキーマが見つかりませんでした。
  • JSON:SCHEMA_NOT_HONOURED

    入力 JSON ドキュメントがそのスキーマに準拠していません。
  • JSON:SCHEMA_INPUT_ERROR

    操作の実行時に [Schema (スキーマ)] と [SchemaContent] の両方の項目が同時に使用されたため、Validate schema 操作が失敗しました。スキーマ XSD コンテンツの検証には、これらのいずれかの項目のみを使用できます。