What response message is returned to a client request to the main flow’s HTTP Listener?

Refer to the exhibits.

The Validation component in the Try scope throws an error.

What response message is returned to a client request to the main flow’s HTTP Listener?
A . Success – main flow
B . Error – main flow
C . Error – Try scope
D . Validation Error

Answer: A

Explanation:

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 C Sub Flow”

5) “Error C 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 C Finished Main Flow”

6) “Success C 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.

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments