causedBy

DataWeave 2.2 は Mule 4.2 と互換性があり、Mule 4.2 にバンドルされています。 このバージョンの Mule は、拡張サポートが終了する 2023 年 5 月 2 日にその すべてのサポート​が終了しました。

このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。

標準サポートが適用されている最新バージョンの Mule 4 にアップグレード​することをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。

causedBy(Error, String): Boolean

この関数は、エラーハンドラーのように、エラーをその種別によって一致させます。

causedBy​ は、上位の種別による一致だけでなく特定のサブ種別のロジックも必要な場合に役立ちます。また、異なる種別の子エラーを含む ​COMPOSITE_ROUTING​ エラーを処理する場合にも役立つ可能性があります。

パラメーター

名前 説明

error

省略可能。​Error​ (エラー) 型

errorType

HTTP:UNAUTHORIZED などのエラーを識別する文字列。

次の 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>