Salesforce 認定 MuleSoft デベロッパー 無料問題 3 / 10 ・ 分野3: Mule イベントにアクセスして処理を行う
HTTP Listener で始まるフローの途中に Logger を置き、そこを流れる Mule イベントの中身を調べている。Mule イベントには含まれるが、Mule メッセージには含まれないものはどれか。
- フローの前のほうの Set Variable で作った変数
- HTTP Listener が受けた要求のクエリパラメーター
- 直前の Transform Message が出力した本文
- 直前の HTTP Request 操作が受けた応答のステータスコード
正解と解説を見る
正解: A
正解の理由
Mule イベントは2つのオブジェクトで構成される。1つは Mule メッセージで、メッセージのペイロード(本文)とそれに関連する属性(メタデータ)を持つ。もう1つは変数で、フローで使う Mule イベントのメタデータである。Set Variable で作った変数はイベントに入るが、メッセージの外にある。HTTP の要求の本文はペイロード、ヘッダーやクエリパラメーターは属性としてメッセージに入る。
違う選択肢
「HTTP Listener が受けた要求のクエリパラメーター」… クエリパラメーターや HTTP ヘッダーは、ペイロードに関連するメタデータとしてメッセージの属性に入る。Mule メッセージの一部である。
「直前の Transform Message が出力した本文」… Transform Message が出力した本文はメッセージのペイロードで、Mule メッセージの一部である。HTTP の本文、ファイルの中身、データベースのレコードなどもペイロードになる。
「直前の HTTP Request 操作が受けた応答のステータスコード」… 応答のステータスコードは、ペイロードに関連するメタデータとしてメッセージの属性に入る。属性はペイロードと並ぶ Mule メッセージの一部である。
押さえどころ
Mule イベントは不変で、イベントのインスタンスを変更するたびに新しいインスタンスが作られる。イベントソース(以前はメッセージソースと呼ばれていた)がイベントを生成してフローに送り、イベントはフローのコンポーネントを順に通る。