Contact Free trial Login

Build a Hello World Application

Mule Runtime Engine versions 3.5, 3.6, and 3.7 reached End of Life on or before January 25, 2020. For more information, contact your Customer Success Manager to determine how you can migrate to the latest Mule version.

It’s time to roll up your sleeves and build your first Anypoint Studio application!

As the objective of this quick tutorial is get something built and running fast, this document doesn’t spend much time explaining components.


This tutorial assumes that you have downloaded, installed, and launched Anypoint Studio, and that you’ve read through the Anypoint Studio Essentials.

Creating a New Project

  1. In Anypoint Studio, click File then select New > Mule Project.

  2. Studio opens the New Mule Project wizard. In the Name field, enter the value My First Project, then click Finish.

  3. Studio opens a blank canvas. Begin designing your project by dragging and dropping an HTTP Connector from the palette onto the canvas. Notice that Studio automatically wraps the connector with a flow, thus saving you the step of manually creating one.

  4. Add to your flow with an Echo Component, dragging it next to the HTTP connector on the canvas.

  5. Click the Configuration XML tab (at the base of the canvas) to see your application represented in XML. Studio’s two-way editing functionality ensures that anything you add or change in the graphical interface is reflected in the XML config. (Use the tabs below to see both the graphical and XML representations of the application.)

    STUDIO Visual Editor



    XML Editor

  6. Click the Message Flow tab to return to the graphical editor, then click the save icon to save your project.

Configuring the Project

Now that you’ve modeled a basic application in Studio, you can take the steps to configure each individual element.

  1. Click the HTTP Connector on the canvas to open its Properties Editor in the console (see image below).

  2. The HTTP Connector allows your Mule application to connect to Web resources through the HTTP or HTTPS protocol. In a more complex application, you would use this editor to configure values for the attributes so as to define the connection details for your application. For this project, keep the default values for all fields.

  3. Click the Echo Component on the canvas to open its Properties Editor in the console (see image below).

  4. The Echo Component simply returns the message payload in response to the HTTP request. For this project, keep the default values for all fields.

    echo unconfig
  5. Once again, you can click the Configuration XML to view your changes in the XML config (see code below). Click the save icon to save your changes.

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:http="" xmlns="" xmlns:doc=""

    <flow name="my_first_projectFlow1" doc:name="my_first_projectFlow1">
        <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP"/>
        <echo-component doc:name="Echo"/>


Deploying the Project

Anypoint Studio comes bundled with its own embedded server, ideal for testing deployments as you code. You can deploy your application on the embedded server to see it working and perform any debugging activities before deploying to a production environment, such as an on-premises server or CloudHub.

  1. In the Package Explorer, right click the project name, then select Run As > Mule Application.

  2. Studio launches the application on the embedded server, displaying its actions in the console. When complete, the console message reads Started app 'my_first_project'


Interacting with the Project

  1. Open a Web browser.

  2. Navigate to your application’s URL, appending it with a string that becomes the message payload. For example:


  3. The application accepts the request via its HTTP endpoint, then "echoes" the same payload as the response in your browser.

  4. In Studio, stop the application from running using the terminate icon in the console (see below).

    stopapp 1

See Also

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub