Salesforce-MuleSoft-Developer-I Practice Test Questions

234 Questions


Refer to the exhibits. The Mule application does NOT define any global error handlers.
A web client sends a POST request to the Mule application with this input payload. The File Write operation throws a FILE: CONNECTIVITY error.
What response message is returned to the web client?


A. "FILE: CONNECTMTV


B. "OTHER ERROR"


C. "File written"


D. "ORDER: NOT CREATED"





D.
  "ORDER: NOT CREATED"

Explanation:

The File Write operation throws a FILE:CONNECTIVITY error.
The in the flow converts this to ORDER:NOT_CREATED.
Since the error is mapped and not propagated (no On Error Propagate), the flow continues, and the HTTP error response uses the mapped error (ORDER:NOT_CREATED) as the payload (Option D).

Why Other Options Are Wrong:

A (FILE:CONNECTIVITY): Incorrect—the error is mapped to ORDER:NOT_CREATED.
B (OTHER ERROR): Only triggers if an unmapped error occurs.
C (File written): The flow doesn’t reach this step due to the error.

In the execution of scatter gather, the "sleep 2 sec" Flow Reference takes about 2 sec to complete, and the "sleep 8 sec" Flow Reference takes about 8 sec to complete.
About how many sec does it take from the Scatter-Gather is called until the "Set Payload" transformer is called?


A. 8


B. 0


C. 2


D. 10





A.
  8

Explanation:

The Scatter-Gather router executes referenced flows in parallel and waits for all routes to complete before proceeding. Here:

sleep 2 sec finishes in 2 seconds.

sleep 8 sec finishes in 8 seconds.
The total time is determined by the slowest route (8 seconds) before Set Payload runs (Option A).

Why Other Options Are Wrong:

B (0): Incorrect—Scatter-Gather doesn’t bypass routes.
C (2): Only accounts for the faster route.
D (10): Incorrectly sums times (parallel, not sequential).

How are multiple conditions used in a Choice router to route events?


A. To route the same event to the matched route of EVERY true condition


B. To find the FIRST true condition, then distribute the event to the ONE matched route.


C. None of these


D. To find the FIRST true condition, then route the same event to the matched route and ALL FOLLOWING routes





B.
  To find the FIRST true condition, then distribute the event to the ONE matched route.

Explanation:

Choice router finds the FIRST true condition, then distribute the event to the ONE matched route. The Choice router dynamically routes messages through a flow according to a set of DataWeave expressions that evaluate message content. Each expression is associated with a different routing option. The effect is to add conditional processing to a flow, similar to an if/then/else code block in most programming languages.

Only one of the routes in the Choice router executes, meaning that the first expression that evaluates to true triggers that route’s execution and the others are not checked. If none of the expressions are true, then the default route executes.

A flow needs to combine and return data from two different data sources. It contains a Database SELECT operation followed by an HTTP Request operation.
What is the method to capture both payloads so the payload from the second request does not overwrite that from the first?


A. Put the Database SELECT operation inside a Cache scope


B. Put the Database SELECT operation inside a Message Enricher scope


C. Nothing, previous payloads are combined into the next payload


D. Save the payload from the Database SELECT operation to a variable





D.
  Save the payload from the Database SELECT operation to a variable

Explanation:

Correct answer is Save the payload from the Database SELECT operation to a variable Response from HTTP request will override the payload and hence response of database SELECT can be lost. Best way to preserve is to assign payload of first operation to variable using TransformMessage.

In MuleSoft, each operation in a flow replaces the current payload with its result. So:

If you perform a Database SELECT, the result becomes the new payload.
Then, if you perform an HTTP Request, that response overwrites the payload from the database.

Incorrect Options:

A. Cache scope – Used for caching, not for preserving payloads.
B. Message Enricher – Adds a value to the payload temporarily but isn't the simplest method for this case.
C. Nothing – Wrong. Mule replaces the payload at each step.

Refer to the exhibit.

What is the correct syntax to add a customer ID as a URI parameter in an HTTP Listener's path attribute?


A. (customerlD)


B. {customerlD}


C. #[customerlD]


D. ${ customerID}





B.
  {customerlD}

Explanation:

In MuleSoft, when you want to define a URI parameter in an HTTP Listener path, the correct syntax is to enclose the parameter in curly braces.

So for a customer ID:

/accounts/{customerID}

This allows Mule to match requests like:

/accounts/12345

And extract "12345" into a variable accessible via attributes.uriParams.customerID.

Incorrect Options:
A. (customerID) – Parentheses are not valid for URI template parameters.
C. #[customerID] – This is DataWeave expression syntax, not used in listener paths.
D. ${customerID} – This is property placeholder syntax, not URI parameter syntax.

Refer to the exhibits.

What DataWeave expression transforms the conductorIds array to the XML output?


A. 1. 1. trains:
2. 2. conductorIds map ((engId, index) ->
3. 3. train: {
4. 4. engineerId: engId
5. 5. }
6. 6. )


B. 1. 1. { trains:
2. 2.
3. 3. conductorIds map ((engId, index) ->
4. 4. train: {
5. 5. engineerId: engId
6. 6. }
7. 7. )
8. 8. }


C. 1. 1. trains:
2. 2. {(
3. 3. conductorIds map ((engId, index) ->
4. 4. train: {
5. 5. engineerId: engId
6. 6. }
7. 7. )
8. 8. )}


D. 1. 1. {( trains:
2. 2.
3. 3. conductorIds map ((engId, index) ->
4. 4. train: {
5. 5. engineerId: engId
6. 6. }
7. 7. )
8. 8. )}





C.
  1. 1. trains:
2. 2. {(
3. 3. conductorIds map ((engId, index) ->
4. 4. train: {
5. 5. engineerId: engId
6. 6. }
7. 7. )
8. 8. )}

Explanation:
Points to remember:
* XML must have a root element.
* XML only allows one root element
* To avoid multiple root issues, you must create a root element for the XML output, whenever we transform output
* When mapping array elements (JSON or JAVA) to XML, wrap the map operations in {(..)} -{ } are defining the object
( ) are transforming each element in the array as a key/value pair
* The transformation to XML would fail if the above mentioned considerations were not taken into account.
* Thus the transformation script declares a root element as trains and wraps the data in “{( )}“.
Whenever you see such type of question, always look out for root element followed by {( )} wrapping map.
I call this a "Wrap The Map" scenario. Hope it would help you remember !

Refer to the exhibit.



The main flow contains a Flow Reference for the child flow.
What values are accessible in the child flow after a web client submits a request to http://localhost:8Q81/order? color=red?


A. payload


B. payload quantity var


C. payload color query param


D. payload quantity var color query param





D.
  payload quantity var color query param

Explanation:
Flow Reference Component
Flow Reference routes the Mule event to another flow or subflow, executes all processors in the referenced flow, and then routes the event back within the same Mule application. The following diagram shows the order of processing when one flow references another:



When the main flow is triggered, the Mule event travels through and executes the flow until the event reaches the Flow Reference. The event then travels through and executes the referenced flow from beginning to end, and then returns to the main flow.
This process enables you to treat the entire referenced flow like a single component in your current flow.

Refer to the exhibit.


A. Option A


B. Option B


C. Option C


D. Option D





B.
  Option B

Explanation:

DataWeave 2.x uses the as Number cast (not the :number shorthand) when converting XML text to numeric types. You can traverse the XML with the payload.order.*item selector, then map each node into an object, computing the line-item price by multiplying the price and quantity as Numbers:

%dw 2.0
output application/json
---
payload.order.*item map ((value, index) -> {
index: index,
orderId: value.@orderId,
itemName: value.item,
lineItemPrice: (value.price as Number) * (value.quantity as Number)
})

That produces:

[
{ "index": 0, "orderId": "592", "itemName": "T-shirt Navy", "lineItemPrice": 20 },
{ "index": 1, "orderId": "972", "itemName": "Cargo Shorts", "lineItemPrice": 60 }
]

Refer to the exhibits.



The Set Payload transformer's value is set to {'year': '2020'}.
What message value should be added to the Logger component to output the message 'The year is 2020', without hardcoding 2020?


A. '#[The year is $(pay load .year)]*


B. The year is #[payload.year]'


C. '#[The year is " + paytoad.year]'


D. #["The year is "++ payload.year].





D.
  #["The year is "++ payload.year].

Explanation:

To dynamically insert the value of payload.year (which is "2020") into a logger message without hardcoding it, you need to use a DataWeave expression with proper syntax.

The payload set is:

{ "year": "2020" }

The goal is to produce this log message:

The year is 2020

Why others are incorrect:

A: #[The year is $(payload.year)] → Incorrect syntax, $(...) is not valid in DataWeave
B: The year is #[payload.year] → Mixing literal and expression without proper quoting
C: #[The year is " + payload.year] → Incorrect, mixing string and expression inside a string literal

Which out of below is not an asset?


A. Template


B. Connector


C. Exchange


D. Example





C.
  Exchange

Explanation:

Anypoint Exchange is the central repository where you publish and discover assets. Templates, Connectors, and Examples are all types of assets you can upload and manage in Exchange—Exchange itself is the platform, not an asset.

A mule project contains MySQL database dependency . The project is exported from Anypoint Studio so that it can be deployed to Cloudhub. What export options needs to be selected to create the smallest deployable archive that will successfully deploy to Cloudhub?


A. Select both the options 1) Attach project sources 2) Include project module and dependencies


B. No need to select any of the below options 1) Attach project sources 2) Include project module and dependencies


C. Select only below option 2) Include project module and dependencies


D. Select only below option 1) Attach project sources





C.
  Select only below option 2) Include project module and dependencies

Explanation:
You can choose Attach Project Sources to include metadata that Studio requires to reimport the deployable file as an open Mule project into your workspace. You must keep the Attach Project Sources option selected to be able to import the packaged JAR file back into a Studio workspace. But requirement here is to create smallest deployable archive that will successfully deploy to Cloudhub. Hence we can ignore this option.
We need to select Include project module and dependencies As actual modules and external dependencies required to run the Mule application in a Mule runtime engine Hence correct answer is Select only below option 2) Include project module and dependencies

Refer to the exhibits.



A web client sends sale data in a POST request to the Mule application. The Transform Message component then enrich the payload by prepending a vendor name to the sale data. What is written to the sales.csv file when the flow executes?


A. The enriched payload in JSON format


B. The enriched payload in XML format


C. The enriched payload in CSV format


D. An error message





A.
  The enriched payload in JSON format

Explanation:

The Transform Message component uses output application/json and prepends the vendor name to the incoming sale data, producing a JSON object. The File Write then writes whatever the current payload is—so you end up with the enriched JSON content in the sales.csv file, despite its .csv extension.


Page 6 out of 20 Pages
Previous