Note that private flow has error scope defined as On Error Continue . So when error occurs in private
flow , it is handled by this On Error Continue scope which sends success response back to main flow
and does not throw back an error. So main continues normally and payload is set to Success - main
flow.
Hence correct answer is Success - main flow
1) HTTP listener received request
2) The Flow Reference calls the child flow
3) The Is Number validator creates an Error Object because the payload isn’t an integer. Child Flow
execution stops
#[error.description] = “payload is not a valid INTEGER value”
#[error.errorType] = VALIDATION:INVALID_NUMBER
4) The On Error Continue handles the errorThe payload is set to “Error – Sub Flow”
5) “Error – Sub Flow” is returned to the main flow as if the child flow was a success. The Set Payload
is executed. The payload is reset to “Success – Finished Main Flow”
6) “Success – Main Flow” is returned to the requestor in the body of the HTTP request. HTTP Status
Code: 200
As you can see, in the above example, because the error was caught by an On Error Continue scope
in the child flow (RED in, GREEN out) when the Mule Message returns to the parent flow, the parent
flow knows none-the-different that there was a failure because the on error continue returns a 200
success message. Note that because, to the mainFlow, the childFlow appeared to succeed, the
processing of mainFlow resumed after the flow reference.
https://kxbjsyuhceggsyvxdkof.supabase.co/storage/v1/object/public/file-images/MuleSoft_MCD-Level-1/page_42_img_1.jpg