Nav
You are viewing an older version of this section. Click here to navigate to the latest version.

Build a Hello World Mule Application

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

The objective of this tutorial is get something built and running fast, so this document doesn’t spend much time explaining components. More detailed explanations and concepts exist in the Anypoint Fundamentals. This tutorial shows you how to create a simple application in Studio, deploy it to Studio’s embedded server, and then interact with the application through a Web browser.

Assumptions

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 Project Name field, enter the value My First Project, then click Finish.

    new

  3. Studio opens a new blank project. The following quick reference explains the different views you use to build a Mule project:

    blank+canvas

  4. Drag and drop an HTTP Connector from the palette onto the canvas. Studio wraps the connector with a flow.

    add+http

  5. Add a Set Payload Component to your flow by dragging it next to the HTTP connector.

    set+payload

  6. Use Message Flow and Configuration XML tabs below the canvas for alternating between visual and XML editing. Click the Configuration XML tab to see your application represented in XML.

    xml+code

  7. Click the Message Flow tab to return to the graphical editor.

  8. Click the Save icon to save your project. 

Configuring the Project

Now that you’ve modeled a basic application in Studio, you can follow the steps in this section to configure each individual element. The first element to configure is the HTTP Connector. The HTTP Connector allows your Mule application to connect to Web resources through the HTTP or HTTPS protocol. First, you set required HTTP Connector properties:

  • Path

  • Connector Configuration

  • Name

  • Host

  • Port

You also create a Global Element for the HTTP Connector to reference. The Global Element encapsulates some reusable configuration properties. Multiple connectors can reuse the Global Element.

To configure the project:

  1. Click the HTTP Connector on the canvas to open its properties editor.

  2. Path is already populated by the default value, slash /. For this example, accept the default values in Connector Configuration, or change Host to localhost.

  3. Click the green plus sign (+) next to Connector Configuration to create a new Global Element.

    add+global+element

  4. In Global Element Properties, accept the default values for all fields, and click OK to close the window.

    global+element+default

    The Connector Configuration field is now populated with a reference to the element you just created. The red warning marks disappear from the properties editor and the representation for the connector on the canvas.

  5. Click the Set Payload Component on the canvas to open its properties editor in the console.

    The Set Payload Component simply sets the message payload to a value you define.

  6. Set the Value field to Hello World! for example.

    set+payload+hello+world

  7. Once again, click the Configuration XML to view your changes in the XML configuration tab:

    
                
             
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    <?xml version="1.0" encoding="UTF-8"?>
    
    <mule xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns:json="http://www.mulesoft.org/schema/mule/json" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.6.2"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
    http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
    http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
    http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd
    http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd">
    
        <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
    
       <flow name="my_first_projectFlow">
            <http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
            <set-payload doc:name="Set Payload" value="Hello World!"/>
        </flow>
    </mule>
  8. Click the Save icon to save your changes.

Deploying the Project

Anypoint Studio embeds a server that you use 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.

    run+as

  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'

    console1

Interacting with the Project

  1. Open a Web browser. 

  2. Navigate to the URL of your application, the default set by HTTP Connector properties:

  3. The application accepts the request via its HTTP endpoint, then the set payload component sets the payload to "Hello World!", and finally the HTTP connector returns this payload to your browser.

    hello+world

  4. In Studio, stop the application from running using the Terminate icon in the console:

    console2

See Also