Flex Gateway新着情報
Governance新着情報
Monitoring API Managerこの関数は、エラーハンドラーのように、エラーをその種別によって一致させます。
causedBy
は、上位の種別による一致だけでなく特定のサブ種別のロジックも必要な場合に役立ちます。また、異なる種別の子エラーを含む COMPOSITE_ROUTING エラーを処理する場合にも役立つ可能性があります。
次の XML の例では、Mule エラー処理コンポーネントの when
式から causedBy
をコールし、HTTP:UNAUTHORIZED エラーまたは HTTP:FORBIDDEN エラーのどちらが原因であるかに応じて SECURITY エラーを異なる方法で処理します。最初の式は error
(Error
型) を明示的に渡していますが、2 番目の式はパラメーターの値を指定せずに暗黙的に渡しています。
error
は、Mule メッセージオブジェクトに関連付けられたエラーに対して DataWeave が使用する変数です ( Mule Runtime の DataWeave 変数を参照)。
<error-handler name="securityHandler">
<on-error-continue type="SECURITY">
<!-- general error handling for all SECURITY errors -->
<choice>
<when expression="#[Mule::causedBy(error, 'HTTP:UNAUTHORIZED')]">
<!-- specific error handling only for HTTP:UNAUTHORIZED errors -->
</when>
<when expression="#[Mule::causedBy('HTTP:FORBIDDEN')]">
<!-- specific error handling only for HTTP:FORBIDDEN errors -->
</when>
</choice>
</on-error-continue>
</error-handler>