1/129
This is a complete study-guide flashcard set for the MuleSoft Developer I Certificate. It is recommended to take the DEX401 and MAX150 courses.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
What MuleSoft API-led connectivity layer is intended to expose part of a backend database without business logic?
System
What statement is part of MuleSoft's description of an application network?
Creates reusable APIs and assets designed to be consumed by other business units
According to MuleSoft, what is the Center for Enablement's role in the new IT operating model?
Creates and manages discoverable assets to be consumed by line of business developers
What is a core characteristic of the Modern API?
API is designed first using an API specification for rapid feedback
What HTTP method in a RESTful web service is typically used to completely replace an existing resource?
PUT
Refer to the exhibit. The API specification supports searching for articles on the searchworld.org site.
What is the most idiomatic (used for its intended purpose) URL and method to retrieve articles about "einstein" in XML format?
A
What is the MuleSoft-hosted runtime environment called?
CloudHub
What is NOT one of the benefits of a layered API-led architecture?
Customized problem-solving
What MuleSoft product enables publishing, sharing, and searching of APIs?
Anypoint Exchange
What asset can NOT be created using Design Center?
API Portals
Which of the following is true about Mule applications?
A. Message routing is done in paths called streams that contain stages called phases
B. They are designed to consume inbound data in a variety of message formats
C. Deployment is possible to anywhere a Mule Runtime is hosted
D. They are created by integration developers to capture output from various subsystems
C. Deployment is possible to anywhere a Mule Runtime is hosted
An API has been created in Design Center. What is the next step to make the API
discoverable?
Publish the API to Anypoint Exchange
Refer to the exhibit. What is the correct URL to submit a GET request to /patients?
http://dev.acme.com/api/patients?year=2016
A RAML example fragment named BankAccountsExample.raml is placed in the examples folder in an API specification project.
What is the correct syntax to reference the fragment?
examples: !include examples/BankAccountsExample.raml
Refer to the exhibit. There is an error in the flight_id resource's GET method. What needs to be done to fix the problem?
Indent the get method under the {flight_id} resource
Refer to the exhibit. This RAML specification includes an XML example that matches the Records data type defined in another RAML file named recordsDataType.raml.
Using the Records type, how can this XML example be represented in RAML?
D
What is the purpose of the api:router element in APIkit?
Validates requests against RAML API specifications and routes them to API implementations
What is the minimum required configuration in a flow for a Mule application to compile?
An event processor
A Database connector is configured to select rows from a MySQL database.
What is the format of the array of results returned from the database query?
Java
What is NOT part of a Mule 4 event?
message
payload
inboundProperties
attributes
inboundProperties
How does APIkit determine the number of flows to generate from a RAML specification?
Creates a separate flow for each HTTP method instance
What is the purpose of API autodiscovery?
Allows a deployed Mule application to connect with API Manager to download policies and act as its own API proxy
How many Mule applications can run on a CloudHub worker?
At most one
What does an API proxy application NOT do?
Determine which response Mule event is allowed to pass through to the API backend service
What does the Mule runtime use to enforce policies and limit access to APIs?
The Mule runtime's embedded API Gateway
API Manager has been configured to enforce an SLA policy and the RAML spec has been updated with the required client_id and client_secret header requirements.
The new RAML spec has been published to Anypoint Exchange.
What is the next step to gain access to the API?
Request access to the API in Anypoint Exchange
In an application network, the implementation, not the interface, of a product API is being changed. Does anything need to change in the other APIs or the associated applications that consume the product API, and if so, what are these changes?
Nothing needs to be changed in the other APIs or their associated applications
According to MuleSoft, what is the first step to create a Modern API for use in an application network?
Create an API specification and get feedback from stakeholders
A development team was developing a mobile banking app. It took the team two months to create their own APIs to access transaction information from a central database. The development team later found out that another team had already built an API that accessed this transaction information. According to MuleSoft, what organization structure could have saved the development team two months of development time?
Center for Enablement
A RAML specification is defined to manage customers with a unique identifier for each customer record. What URI does MuleSoft recommend to uniquely access the customer identified with the unique ID 1234?
/customers/1234
A RAML example fragment named BankAccountsExample.raml is placed in the examples folder in an API specification project. What is the correct syntax to reference the fragment?
examples: !include examples/BankAccountsExample.raml
Refer to the exhibit. A shopping API contains a method to look up store details by department. According to this RAML specification, what is a valid URL for a web client to submit a GET request for details about the pharmacy department at the store with storeId 23?
/stores/23?store_id=23&department="pharmacy"
Refer to the exhibit. The RAML file defines a method to create users. What is the correct way to create a user in a web client? (Like in postman) There will be options to choose from different header options and request options. What will the create request look like?
Take note of the header values and the request URL.
Refer to the exhibit. 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?
'The year is #[payload.year]'
A web client sends a request to http://localhost:8081/books/0471767840. The value "0471767840" is captured by a Set Variable transformer to a variable named bookISBN. What is a valid DataWeave expression to access the bookISBN variable later in the flow?
vars.bookISBN
A client submits a GET request to a Mule 4 application to the endpoint /customers?id=48493. Where is the ID stored in the Mule event by the HTTP Listener?
Attributes
An HTTP Request operation sends an HTTP request with a non-empty JSON-formatted object payload to an external HTTP endpoint. The response from the external HTTP endpoint returns an XML-formatted body. The result is stored in a target named theResult. What is the format of the payload that is input to the next event processor after the HTTP Request?
application/json
Refer to the exhibits. A web client submits a request to http://localhost:8081/flights. What is the result at the end of the flow?
"String"
Refer to the exhibit. An HTTP Listener is being configured to accept requests from web clients on URLs like http://localhost:8081/accounts/10, where the number 10 can change to other numbers. In order to capture the number in a parameter named ID, to what must the path of the HTTP Listener component be set?
/accounts/{ID}
Refer to the exhibits. The main flow contains an HTTP Request in the middle of the flow. The HTTP Listeners and HTTP Request use default configurations. After a web client submits a request to http://localhost:8081/order?color=red, what values are accessible to the LOGGER at the end of the MAIN FLOW? (*Hint* Logger is at the end of the MAIN FLOW)
payload quantity var
Refer to the exhibits. The Mule application has multiple HTTP Listeners contained in various configuration XML files. Each HTTP Listener is configured with the same host and with the port number, path, and operation shown in its display name. What is the minimum number of global elements that must be defined to support all these HTTP Listeners?
2
Refer to the exhibits. The main flow contains an HTTP Request. The HTTP Listeners and HTTP Request use default configurations. A web client sends a GET request to the main flow's HTTP Listener that includes a modelName query parameter. What value(s) are accessible in the CHILD FLOW? (*Hint* No logger at the end of main flow)
The payload
Refer to the exhibit. The main flow contains a Flow Reference for the child flow. After a web client submits a request to http://localhost:8081/order?color=red, what values are accessible in the child flow? (*Hint* Flow Ref at the end of the main Flow)
payload quantity var color query param
Refer to the exhibits. This Mule application has an HTTP Request that is configured with hardcoded values. To change this, the Mule application is configured to use a properties file named config.yaml. To what valid expression can the HTTP Request host value be set so that the value is no longer hardcoded? (*Hint* HTTP Request Host Value isn’t a dataweave expression)
To avoid hard-coding values, a flow uses some property placeholders and the corresponding values are stored in a configuration file. Where does the configuration file's location need to be specified in the Mule application?
A global element
A Mule application contains two HTTP Listeners, each configured for different API endpoints: http://acme.com/apis/orders and http://acme.com/apis/customers. What base path value should be set in an HTTP Listener config element so that it can be used to configure both HTTP Listeners? (*Hint* Trick question… Notice BASE PATH)
/apis/
Refer to the exhibit. How many private flows does APIkit generate from the RAML specification? (*Hint* Number of TOTAL HTTP requests)
4
When using MuleSoft's API-led connectivity approach, what HTTP method in a RESTful web service is generally recommended to be used to completely replace an existing resource?
PUT
An API specification is defined using RAML. What is the next step to create a REST Connect connector from this API specification? (*Hint* Create!!! It’s already done so what do you do when you finish RAML?)
Publish the API specification to Anypoint Exchange
Refer to the exhibits. The /daily folder exists, is currently empty, and files can be read and written to this folder by Anypoint Studio. This Mule application is run in Anypoint Studio, and then a file named productUpdates.txt containing the text "START" is written to the /daily folder. What is in the /daily folder after the readUpdates flow completes for the first time?
A file named productUpdates.txt.bak containing the text "START"
What payload is returned by an Anypoint Connector for Database's Select operation that does not match any rows in the database?
An empty array
Refer to the exhibits. In the payload of a POST request to this Mule application, a web client sends a new order record { "oid": "100", "custId": "annie@acme.com", "status": "NEW ORDER" }. In this Mule application, what value must be used in the Input Parameters field of the Database Insert operation to properly pass the order record values to the SQL statement?
#[ { oid: payload.oid, custId: payload.custId, status: payload.status } ]
Refer to the exhibits. When the flow executes, the now() function in the Transform Message component returns "2021-08-26T13:32:10.64-07:00". What is written to the records.csv file when the flow executes?
{ "transaction_id": "SS-4848-44KK-4SYQ", "account_id": "KA-382-SKD44", "name": "Max Mule", "position": "sell", "write_date": "2021-08-26T13:32:10.64-07:00" }
Refer to the exhibits. The main flow of this Mule application uses an HTTP connector operation and two JMS connector operations. The Mule application is run and starts successfully, and then a local web client sends a request to http://localhost:8081/. What payload is then returned to the web client from the Mule application?
3
A flow contains a Database Select operation followed by an HTTP Request operation. The flow must combine and return data received from these two connector operations. What is a valid and idiomatic (used for its intended purpose) way to capture both payloads so the payload output from the second HTTP Request operation does not overwrite the payload output from the first Database Select operation?
Save the payload from the Database Select operation to a variable
Refer to the exhibits. In this Mule application files are written from inside a For Each scope. What is written to the file system when the flow executes, and what payload is returned in the response to the web client?
Two files are created, each containing a different array of one or two account objects
A batch job is defined by a Batch Job scope that contains three batch steps. The Batch Job scope and Batch Step scopes are configured with default acceptPolicy values. An event processor in the second Batch Step scope throws an error because the input data is incomplete. What is the default behavior of the batch job after the error is thrown?
The Batch Job scope stops processing all records
Refer to the exhibit. The input array of strings is passed to the batch job, which does NOT do any filtering or aggregating. What payload is logged by the Logger component?
Summary report of processed records
A database table contains a recordID column that increases as new records get added to the table. A Mule application is created to read from this database table. What is the key process to enable manual watermarking for requests to this database table using a Scheduler event source and a Database Select operation?
Save the max recordID from the set of recordIDs in an Object Store and reference this recordID in subsequent database requests
Refer to the exhibits. The Set Payload transformer in the For Each scope and the Set Payload transformer in the Batch Job scope's Batch Step scope each contain a DataWeave expression to sleep (pause processing) for the number of milliseconds in the current payload. The Batch Job scope's block size is set to 1. In what order are the payloads logged in the For Each scope and in the Batch Step scope?
For Each scope: 2000, 200, 1000, 100
Batch Step scope: 40, 300, 3000, 4000
Refer to the exhibit. What can be added to the flow to persist data across different flow executions?
Key-value pairs in the ObjectStore
A function named newProdCode needs to be defined that accepts two input parameters, an integer value for itemID and a string value for productCategory, and returns a new product code. What is the correct DataWeave code to define the newProdCode function?
fun newProdCode(itemID: Number, productCategory: String) = "PC-" ++ productCategory ++ (itemID as String)
A Utility.dwl file is located in a Mule project at src/main/resources/modules. The Utility.dwl file defines a function named pascalize that reformats strings to pascal case. What is valid DataWeave code to call the pascalize function in a Transform Message component?
%dw 2.0
output application/json
import modules::Utility
—
Utility::pascalize( "max mule" )
Refer to the exhibit. DataWeave code needs to be written to transform the input payload to the output payload. What is valid DataWeave code to perform this transformation?
%dw 2.0
output application/xml
---
employees :
employee @(
firstName: payload[0].employee1.firstName
,
lastName: payload[0].employee1.lastName
) : null
Refer to the exhibit. An event payload contains an unordered array of flight objects, where every object has a price key and a toAirport key. What is valid DataWeave code to return flights with a price under 500, grouped by toAirport in ascending order, with the lowest price first?
payload filter $.price < 500 orderBy $.price groupBy $.toAirport
What is the output type of the DataWeave map function?
Array
What is the correct way to format the decimal 20.3844 as a string to two decimal places?
20.3844 as String {format: ".0#"}
Refer to the exhibits. The expression for the Choice router needs to be written. What is a valid expression to route Mule events to the non-default flow?
#[ 'MuleSoft' == payload.'company' ]
A Scatter-Gather processes three separate HTTP requests. Each request returns a Mule event with a JSON payload. What is the final output of the Scatter-Gather?
An object containing three Mule event objects
Refer to the exhibits. The Mule application does NOT define any global error handler elements. What is the response to a web client request to http://localhost:8081 ?
Validation Error
Refer to the exhibits. The Mule application contains a Choice router. What is logged when the flow completes?
"US"
An event contains a payload that is an array of objects. How is the event routed in a Scatter-Gather?
The entire event is sent to each route and processed sequentially
A Mule application contains a global error handler configured to catch any errors. Where must the global error handler be specified so that it catches all errors from flows that do not have their own error handlers?
In a global element
Refer to the exhibits. The Mule application does NOT define any global error handlers. The Validation component in the private flow throws an error. What response message is returned to a client request to the main flow's HTTP Listener?
"Success - main flow"
Refer to the exhibits. A web client makes an HTTP GET request to the flow's HTTP Listener. The Validation component then throws an error with the message "Validate - Payload is an Integer". What response message is returned to the web client?
“Validate - Payload is an Integer"
Refer to the exhibits. The Mule application does NOT define any global error handlers. A web client sends an HTTP POST request to the HTTP Listener and the Validation component in the Try scope throws an error. What response message is returned to the web client?
"ERROR2"
Refer to the exhibits.The Mule application does NOT define any global error handlers. The main flow is configured with three error handlers. A web client submits a request to the HTTP Listener and the HTTP Request throws an HTTP:NOT_FOUND error. What response message is returned?
"APP: API RESOURCE NOT FOUND"
Refer to the exhibit. This error occurs when a Mule project is imported into and run in Anypoint Studio. The Mule project has a dependency that is not in a MuleSoft Maven repository, but the Mule project successfully ran on the original computer where the Mule project was developed. What is the next step to fix the error and get the project to run successfully?
Install the dependency to the computer's local Maven repository
Refer to the exhibits. The orders.csv file is read and then processed to look up the orders in a database. The Mule application is debugged in Anypoint Studio and stops at the breakpoint. What payload is shown in the debugger at this breakpoint?
100
Refer to the exhibits. A web client sends an HTTP GET request that includes a destination query parameter to the flow's HTTP Listener. The Web Service Consumer throws a WSC:BAD_REQUEST error. What should be set in the getFlights flow to fix this error?
A SOAP payload before the Consume operation that contains the destination query parameter
A Mule application has been deployed to CloudHub and now needs to be governed. IT will not allocate additional vCores for a new Mule application to act as an API proxy. What should be done to or with the Mule application to preserve the current vCore usage while still allowing the Mule application to be managed by API Manager?
Modify the Mule application to use autodiscovery to register with API Manager
A Mule project contains a MySQL Database dependency. The project is exported from Anypoint Studio so it can be deployed to CloudHub. What export options create the smallest deployable archive that will successfully deploy to CloudHub?
Include project modules and depencies
A Mule application uses the ${http.port} property placeholder for its HTTP Listener port when it is deployed to CloudHub. What benefit does this Mule application configuration enable?
CloudHub to automatically change the HTTP port to allow external clients to connect to the HTTP Listener
An SLA-based policy has been enabled in API Manager. What should now be changed in the RAML specification and/or the API proxy to enforce the SLA-based policy?
Add required headers to the RAML specification and redeploy the new API proxy
What happens to the attributes of a Mule event in a flow after an outbound HTTP Request is made?
New attributes may be added from the HTTP response, but previous attributes are passed through unchanged
A Set Variable component saves the current payload to a variable with the name images. What is the DataWeave expression to access the images variable?
#[vars.images]
A web service implements an API to handle requests to
http://acme.com/customers/{state}(opens in a new tab).
A web client makes a request to this API implementation at
http://acme.com/customers/CA(opens in a new tab).
What is the correct DataWeave expression to retrieve the value CA?
#[attributes.uriParams.state]
A flow contains an HTTP Listener as the event source. What is the DataWeave expression to log the Content-Type header using a Logger component?
#["Content-Type: " ++ attributes.headers.'content-type']
Refer to the exhibit. What is the correct DataWeave expression for accessing the city Cleveland from the JSON payload?
#[payload[1].city]
What is NOT part of a Mule 4 event?
message
payload
outboundProperties
variables
attributes
outboundProperties
A Mule application has two flows named parentFlow and childFlow. The childFlow begins with an HTTP Listener.
A variable is defined in parentFlow, then an HTTP Request is made to childFlow's HTTP Listener with some headers set.
What is the scope of the variable and attributes in the parentFlow after childFlow returns a response?
The variable is accessible. All the attributes passed to childFlow are removed or replaced.
A Mule application has a flow named parentFlow.
The parentFlow contains an HTTP Request operation at the end of the flow. The parentFlow also contains a Set Variable operation right before the HTTP Request operation.
What is the scope of the variable to the server receiving the HTTP Request from parentFlow?
The variable is NOT accessible in the server
A Mule application has two flows named parentFlow and childFlow. A variable is defined in parentFlow.
What is the scope of the variable when the parentFlow calls childFlow using a Flow Reference?
The variable is accessible in childFlow, can be changed, and changes are seen back in parentFlow
Refer to the exhibit. In the deployable archive's /classes folder, there are two properties files named dev.properties and prod.properties. The Mule application fails to deploy to CloudHub through Runtime Manager with the following error message.
What could be causing this error?
The env property is NOT set in the Runtime Manager in the Mule application's Properties tab
What reserved property can be defined and used in a Mule application to allow an HTTPS Listener to be accessed by external web clients after the Mule application is deployed to CloudHub?
${https.port}
Why must a Mule application's deployable archive package all its dependencies in order to be deployed to CloudHub?
CloudHub workers CANNOT download ALL possible project dependencies a project may contain
In what file does the Mule project keep track of all of its dependencies?
pom.xml
What can ONLY be done with VM connectors, and NOT with Flow References, in a single Mule application?
Allow a flow to pass events to another flow asynchronously
What file type is required to configure a Web Service Consumer to consume a SOAP web service?
WSDL
How are query parameters dynamically passed to an outbound REST request using an HTTP Request operation?
As query parameters in the HTTP Request operation