Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerXML Module のトラブルシューティングを行うには、冗長ログの有効化と、スローされる一般的なメッセージの解釈に関する情報を理解しておきます。
アプリケーションと XML Module のやりとりが失敗する理由の理解を深めるには、XML Module の冗長ログを一時的に有効にします。
Mule アプリケーションのパフォーマンスに影響するため、トラブルシューティングが完了したら、必ず拡張された冗長性を無効にしてください。
冗長ログを有効にする手順は、次のとおりです。
Anypoint Studio にアクセスし、[Package Explorer] ビューに移動します。
アプリケーションのプロジェクト名を開きます。
src/main/resources
パスフォルダーを開きます。
フォルダー内の log4j2.xml
ファイルを開きます。
<Loggers>
タグ内に <AsyncLogger>
タグを追加します。
<Loggers>
...
<AsyncLogger name="org.mule.module.xml" level="DEBUG"/>
...
</Loggers>
xml
アプリケーションの変更を保存します。
Package Explorer でプロジェクト名をクリックし、[Run (実行)] > [Run As (別のユーザーとして実行)] > [Mule Application (Mule アプリケーション)] をクリックします。
XML Module を使用して他のローカルスキーマファイルに対する参照があるスキーマに対して検証すると、検証がエラーで失敗する可能性があります。
The supplied schemas were not valid. schema_reference: Failed to read schema document schemadocumentname.xsd, because file access is not allowed due to restriction set by the accessExternalSchema property
Studio コンソールのエラーは次のように表示されます。
ERROR 2021-03-25 18:42:34,499 [[MuleRuntime].uber.03: [bug-xsd-schema-not-found-support].bug-xsd-schema-not-foundFlow.CPU_INTENSIVE @52ec9ec0] [processor: ; event: 026a10a0-8db3-11eb-80a6-3c22fb270222] org.mule.runtime.core.internal.exception.DefaultSystemExceptionStrategy:
********************************************************************************
Message : The supplied schemas were not valid. schema_reference: Failed to read schema document 'schemadocumentname.xsd', because 'file' access is not allowed due to restriction set by the accessExternalSchema property.
Element : bug-xsd-schema-not-foundFlow/processors/2 @ bug-xsd-schema-not-found-support:main.xml:16 (Validate schema)
Element DSL : <xml-module:validate-schema schemas="ref/despatchAdviceMessages/despatchAdviceMessage.xsd"></xml-module:validate-schema>
Error type : XML-MODULE:INVALID_SCHEMA
FlowStack : at bug-xsd-schema-not-foundFlow(bug-xsd-schema-not-foundFlow/processors/2 @ bug-xsd-schema-not-found-support:main.xml:16 (Validate schema))
(set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************
このエラーは、[Expand entities (エンティティを拡張)] 項目がデフォルト値の [NEVER] に設定されていて、XML Module グローバル要素設定でアクセスが制限されていたために発生します。この値により、XXE (XML 外部エンティティ) および DoS (サービス拒否) 攻撃を回避できます。
この問題を解決するには、[Expand entities (エンティティを拡張)] 項目を [INTERNAL (内部)] に設定します。
Studio で、プロジェクトを開き、Mule アプリケーションフローにアクセスします。
[Global Element (グローバル要素)] タブに移動します。
[XML Config (XML 設定)] 設定を選択して、[Edit (編集)] をクリックします。
[Global Element Properties (グローバル要素のプロパティ)] ウィンドウで、[Expand entities (エンティティを拡張)] 項目を [INTERNAL (内部)] に設定します。
[OK] をクリックします。
設定 XML エディターでは、<expandEntities>
設定は次のように記述されます。
<xml-module:config name="XML_Config" expandEntities="INTERNAL"/>
xml
ここでは、一般的なスローメッセージとその解決方法を示します。
XML-MODULE:INVALID_INPUT_XML
入力ドキュメントが有効な XML ではありません。
XML-MODULE:INVALID_SCHEMA
指定されたスキーマが無効です。
XML-MODULE:INVALID_XPATH_EXPRESSION
指定された Xpath 式が無効です。
XML-MODULE:NULL_CONTEXT_PROPERTY
null 値のコンテキストプロパティが指定されました。
XML-MODULE:SCHEMA_NOT_HONOURED
入力 XML ドキュメントがそのスキーマを順守していません。
XML-MODULE:SCHEMA_NOT_FOUND
スキーマが見つかりませんでした。
XML-MODULE:TRANSFORMATION
XML ドキュメントの変換中にエラーが発生しました。
XML-MODULE:SCHEMA_INPUT_ERROR
操作の実行中に [Schema (スキーマ)] 項目と [Schema Content (スキーマコンテンツ)] 項目が同時に使用されたため、Validate schema 操作が失敗しました。スキーマ XSD コンテンツの検証には、これらのいずれかの項目のみを使用できます。