Skip to content

MCD-ASSOC Mcd - Assoc Practice Questions

Prepare for MCD-ASSOC with more than an answer.

230 questions in the full set20 sample questionsUpdated Aug 11, 2025
Exam fee
$200 USD
Level
Associate
Valid for
2 years
Domains covered on the exam 12
  1. Creating Application Networks7%
  2. Designing APIs8%
  3. Accessing and Modifying Mule Events10%
  4. Structuring Mule Applications10%
  5. Building API Implementation Interfaces7%
  6. Using Connectors10%
  7. Processing Records10%
  8. Transforming Data10%
  9. Routing Events8%
  10. Handling Errors8%
  11. Debugging and Troubleshooting Mule Applications5%
  12. Deploying and Managing APIs and Integrations7%
  1. 1

    Case Study: A retail company, Global Imports, is modernizing its order processing system. They have a Mule application that receives orders via an HTTP POST request. The application needs to perform three actions for each order:

    1. Insert the order into an Oracle database.
    2. Send a confirmation email to the customer via an SMTP server.
    3. Post the order details to a partner's REST API for fulfillment.

    The business requires that the initial HTTP POST request receives a confirmation response as quickly as possible. The database insertion is critical and must be completed before the response is sent. The email and partner API calls are less critical and can tolerate some delay; however, a failure in these two steps must be logged and retried without affecting the initial customer confirmation.

    Which flow design best meets all these requirements?

    Show answer details

    Correct answer: D

    This design meets all requirements. The synchronous part of the main flow handles the critical database insert and then hands off the message to a persistent VM queue, ensuring reliability. It can then return a fast response to the client. A separate, asynchronous flow processes messages from the queue, handling the less critical, potentially long-running tasks. Using a persistent queue ensures that even if the application restarts, the email and API calls will not be lost and can be retried.

  2. 2

    A Mule application has a flow that processes a large file and is configured with a default streaming strategy. The flow contains a Logger component that logs the payload, followed by a For Each scope that processes the records. What happens if another Logger component is placed after the For Each scope to log the payload again?

    Show answer details

    Correct answer: B

    By default, many streams in Mule 4 are non-repeatable. The For Each scope consumes the stream as it iterates through the records. Once consumed, the stream cannot be read again. The first Logger would successfully display the stream's contents (or a reference to it), but the second Logger, attempting to read the already-consumed stream after the For Each scope, would cause a 'Stream has been consumed' error.

  3. 3

    A developer needs to create a reusable block of logic that formats an address object. This logic will be used in multiple DataWeave transformations across the application. What is the best way to define this reusable logic in DataWeave 2.0?

    Show answer details

    Correct answer: C

    DataWeave promotes reusability through modules. The standard practice is to create a separate .dwl file (e.g., modules/Formatting.dwl), define the logic within a public function (e.g., fun formatAddress(address) = ...), and then use the import directive (e.g., import * from modules::Formatting) in any other DataWeave script that needs to use that function.

  4. 4

    Which of the following are valid ways to define properties in a Mule application that can be used across different environments (e.g., dev, test, prod)? (Select TWO)

    Show answer details

    Correct answer: A, B

    This is the standard method for externalizing configurations. You create files like config-dev.yaml, config-prod.yaml and use a property (e.g., mule.env) to specify which file to load at runtime.

    Runtime Manager provides a 'Properties' tab where you can define key-value pairs. These properties override any values defined within the application's packaged files, making it an ideal way to manage environment-specific settings like credentials without hardcoding them.

  5. 5

    A Mule flow contains a 'Try' scope with a transactional action, such as a JMS 'Publish'. An error occurs during this action. The error handler for the 'Try' scope is an 'On Error Continue' scope. What is the state of the transaction and the Mule event after the 'On Error Continue' scope completes its execution?

    flowchart TD A[Start] --> B{Try Scope} subgraph B C[Transactional Action] end B -->|Success| E[End] B -->|Error| D[On Error Continue] D --> F[Continue Flow] F --> E
    Show answer details

    Correct answer: B

    The 'On Error Continue' scope catches the error, swallows it, and allows the parent flow to proceed as if no error occurred. However, the transaction manager is still aware that an error happened within the transaction's boundary. Therefore, it marks the transaction for rollback. The event proceeds successfully, but the transactional action is undone.

  6. 6

    An integration architect is designing a solution to synchronize customer data between Salesforce and an on-premises legacy database. The legacy database is only accessible via a JDBC connection from within the company's private network. The Mule application will be deployed to CloudHub. Which Anypoint Platform component is required to establish a secure and reliable connection between the CloudHub-deployed application and the on-premises database?

    Show answer details

    Correct answer: C

    To connect a Mule application running in the public CloudHub to a private, on-premises resource like a database, a secure network extension is required. Anypoint VPN provides a secure IPsec tunnel between the Anypoint VPC and the private network. VPC Peering is an alternative for connecting to resources in another AWS VPC. Anypoint MQ is for messaging, and Object Store is for key-value storage; neither provides network connectivity.

  7. 7

    A Mule application processes incoming JSON orders. The application contains a Batch Job to process each order line item. Inside a batch step, a flow variable named transactionId is set for each record. In the On Complete phase of the Batch Job, a Logger component attempts to log the value of vars.transactionId. What is the result of this logging attempt?

    Show answer details

    Correct answer: C

    Variables created or modified within a batch step are local to that specific record's processing thread and are discarded once the record moves to the next step or finishes processing. They are not accessible in the On Complete phase. The On Complete phase only has access to the original payload that initiated the batch job and the final summary object.

  8. 8

    A flow is designed to handle API requests. If any processing error occurs, the flow must return an HTTP 500 status code with a generic JSON error message { "error": "An internal error occurred" }. However, the original error must also be logged for troubleshooting purposes without stopping the error handling process. Which error handling configuration achieves this?

    Show answer details

    Correct answer: B

    The On Error Continue scope is designed to handle an error and then allow the flow to continue as if it were successful. By placing a Logger inside this scope, the original error (error object) can be logged. Following the Logger, a Set Payload component can create the generic JSON error message. The flow then concludes successfully from the perspective of the HTTP Listener, which returns a 200 OK status by default. To return a 500, a Set Variable component should be used to set an 'httpStatus' variable to 500 within the error scope, which the HTTP Listener will then use.

  9. 9

    A RAML 1.0 specification defines a resource /users/{userId}. The userId is expected to be a positive integer. Which RAML snippet correctly defines this URI parameter with the specified data type constraint?

    Show answer details

    Correct answer: C

    In RAML, URI parameters are defined at the resource level where they appear. The correct syntax is to define the resource /users/{userId} and then, at the same indentation level, use the uriParameters facet. Inside this facet, you define the parameter userId and apply constraints like type: integer and minimum: 1.

  10. 10

    A developer needs to store a session token received from an OAuth 2.0 provider and use it for subsequent calls to a secured API within the same flow. The token must not be exposed in logs if the entire Mule event is logged, and it should not overwrite the main payload. What is the most appropriate way to store this token?

    Show answer details

    Correct answer: C

    Flow variables are the standard mechanism for storing transient data within a flow. They are part of the Mule event but separate from the payload, allowing the main data to be processed independently. Unlike attributes, they are user-defined and mutable. Outbound properties are a deprecated concept from Mule 3.

Create an account to continue.