Getting started Community Training Tutorials Documentation APIs, AI & Tools
Project Name
To use Anypoint Code Builder to configure a connector or module, create a basic integration project in Anypoint Code Builder, add connectors and other components to your Mule application to process your business logic, and configure the attributes.
Before creating an integration project, you must:
Set up and access the Anypoint Code Builder web or desktop IDE
Have credentials to access the connector’s API
Ensure that the Visual Studio Code Extension Pack for Java is installed.
To use this connector, you must be familiar with:
The connector’s API
Anypoint Connectors
Mule runtime engine (Mule)
To create a new integration project:
In the activity bar of the IDE, click the
(Anypoint Code Builder) icon.
From Quick Actions, click Develop an Integration:

Complete the following in the Develop an Integration form:
| Attribute | Value |
|---|---|
Project Name |
Unique name for your project. This name is used as the title and name of the integration project file.
For example, if the project name is "Salesforce Integration," the project file name is |
Project Location |
Your home directory or another directory you create. Click Browse to select a different directory for the integration project. Don’t create the project within another project directory. |
Select the type of project to create by selecting either the Empty Project or Template or Example card.
Select the Mule runtime and Java Version for your app.
Click Create Project.
Anypoint Connectors provide operations for retrieving, modifying, and sending data to and from systems.
In addition to the built-in connectors that Anypoint Code Builder provides, you can download many other connectors from Anypoint Exchange.
To import a connector from Exchange and add it to your configuration:
In the Explorer view, open the configuration XML file for your project, such as my-project-name.xml.
Click the
(Show Mule graphical mode) icon in the activity bar to open the canvas UI if it doesn’t open automatically.
Add the connector the same way you added other components from the canvas UI:
In the canvas UI, click the
(Add component) icon.
In the Add Component panel, click Connectors.
Click the connector name and then click the operation to add, such as Publish:

If the connector is not available locally, click the
(Search in Exchange) toggle:

| 1 | Search locally |
| 2 | Search in Exchange |
Select the connector to add to your project.
Select the operation from the Add Component panel.
Adding a connector to an integration project does not make that connector available to other projects in your Anypoint Code Builder workspace.
A trigger (source) starts the flow when specified conditions are met. If a connector has its own associated sources, you can use a connector-specific trigger to initiate the flow. Each connector trigger has a unique configuration.
You can configure the following sources for this connector:
HTTP > Listener
Initiates a flow each time it receives a request on the configured host and port
Scheduler
Initiates a flow when a time-based condition is met
For example, to configure an HTTP Listener trigger, follow these steps:
Click the Listener component on the canvas UI.
(Optional) Click the edit icon to change the name of the Listener component.
(Optional) If you created a configuration file for the connector, select it.
In the General tab, in the Path field, enter the relative path for the path set in the HTTP configuration element. See Configure Paths.
Select the Advanced tab to configure the following attributes:
| Attribute | Description | Required |
|---|---|---|
Allowed methods |
To allow all HTTP methods (default), do not define this attribute. To restrict certain methods, specify all allowed HTTP methods, for example, |
No |
Response streaming mode |
Whether to use streaming when the response is sent. |
No |
Output MIME type |
MIME type of the payload that this component outputs. |
No |
Parameters |
Appends a key-value pair for a reader property to the value of the Output MIME attribute. Multiple key-value pairs are allowed. |
No |
Output encoding |
Encoding of the payload that this component outputs. |
No |
Streaming Strategy |
Configures the way data streams are consumed in Mule apps. |
No |
Primary node only |
Select this option to execute the Listener trigger on the primary node only when running in a cluster. |
No |
Redelivery policy |
Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow. |
No |
Reconnection strategy |
When an operation in a Mule application fails to connect to an external server, the default behavior is for the operation to fail immediately and return a connectivity error. You can modify the default behavior by configuring the reconnection strategy for the operation. |
No |
Response |
No |
|
Error Response |
HTTP error response returns a status code for the error. |
No |
Body |
Body of the error message. |
No |
Headers |
Headers to include in the error message. |
No |
Status code |
Status code of the error response, for example, |
No |
Reason phrase |
Reason for the error, for example, |
No |
Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Code Builder:
If you manually code a Mule runtime engine (Mule) app in XML from the Anypoint Code Builder XML editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven pom.xml file.
If you add the connector in Anypoint Code Builder, Studio automatically populates the XML code with the connector’s namespace and schema location and it also adds a dependency to the pom.xml file.
This example shows how the namespace statements are placed in the <mule> XML block:
<mule xmlns:{lc-connector-name}="http://www.mulesoft.org/schema/mule/{lc-connector-name}"
xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns:file="http://www.mulesoft.org/schema/mule/file"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/file
http://www.mulesoft.org/schema/mule/file/current/mule-file.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/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/{lc-connector-name}
http://www.mulesoft.org/schema/mule/{lc-connector-name}/current/mule-{lc-connector-name}.xsd">
The Apache Maven pom.xml file generated by Anypoint Code Builder contains dependencies for a Mule app. If you code a Mule app manually, include this XML snippet in your pom.xml file to enable access to this connector:
<dependency>
<groupId>{group-id-exchange}</groupId>
<artifactId>{artifact-id-exchange}</artifactId>
<version>x.x.x</version>
<classifier>mule-plugin</classifier>
</dependency>
Replace x.x.x with the version that corresponds to the connector you are using.
To obtain the most up-to-date pom.xml file information:
Go to Anypoint Exchange.
In Exchange, click Login and supply your Anypoint Platform username and password.
In Exchange, search for the connector.
Select the connector.
Click Dependency Snippets.
Add components to your integration project to build a flow:
In the Explorer view, open the XML file for your project, such as my-project-name.xml.
Select Build a Flow from the start card to create an empty flow:

Change the name of the flow:
Click Flow.
Click the edit icon.

Enter the flow name, and click the checkmark.
In the canvas UI, click the
(Add component) icon.
In the Add Component panel, search for and select your component from the results. The following example shows the Listener component from the HTTP search results:

The configuration XML file now includes the XML for the HTTP Listener into the <flow/> element, for example:
<flow name="getFlights" >
<http:listener path="" config-ref="" doc:name="Listener" doc:id="ojzfry" />
</flow>
Add another component, this time using the XML configuration menu. For example, add the <http:listener-config/> component from a snippet.
For more information about snippets, see Configuring Components.
In the configuration XML, place your cursor before the <flow/> element and type http.
Ensure that the cursor is not inside the <flow/> element.
Type http, and select the http:listener-config snippet:

The snippet adds the following code:
<http:listener-config name="HTTP_Listener_config" >
<http:listener-connection host="0.0.0.0" port="8081" />
</http:listener-config>
The Anypoint Connector for HTTP (HTTP Connector) Request operation supports connecting a Mule client app to a service that requires any of the following types of authentication:
Basic Authentication
Digest Authentication
NTLM Authentication
OAuth2 Authorization Code Grant Type Authentication
Configure HTTP Connector authentication in the XML editor. These are the XML values for HTTP Connector authentication:
| Authentication Type | XML Value |
|---|---|
Basic Authentication |
|
NTLM Authentication |
|
Digest Authentication |
|
OAuth 2.0 |
|
After you add components to your integration project, configure the attributes in the component UI, or configure the attributes directly in the XML code editor.
Connector XML tags start with a namespace followed by an operation, following the syntax namespace:operation, such as <db:select/> for a Select operation in Anypoint Connector for Database (Database Connector).
You can use autocomplete from an expression (fx) field for a component to select DataWeave functions from the Core module and other values accepted in this field.
The Anypoint Connector for HTTP (HTTP Connector) Listener component enables you to set up an HTTP server and trigger flows when receiving HTTP requests.
To configure the HTTP Listener attributes in the UI, see Configuring the Trigger For the Flow.
The Basic security filter component authenticates received HTTP requests. Use this component after a Listener component in your integration flow.
Click the Basic security filter component on the canvas.
In the General tab, configure the following attributes:
| UI Field | Description | Required |
|---|---|---|
Realm |
Authentication realm. |
Yes |
Security Provider |
This attribute is not currently enabled in the configuration UI. Configure it in the XML editor. See Basic Security Filter. |
No |
Attributes |
HTTP Request attributes defined in the HTTP Listener source to check the |
No |
The Anypoint Connector for HTTP (HTTP Connector) Request operation enables you to consume an external HTTP service using the default GET method. Otherwise, you can choose which methods the operation accepts.
To configure the attributes for HTTP Request in the Anypoint Code Builder UI:
Click the Request component on the canvas.
In the General tab, configure the following attributes:
| UI Field | Description | Required |
|---|---|---|
Method |
To allow all HTTP methods (default), do not define this attribute. To restrict certain methods, specify all allowed HTTP methods, for example, |
No |
URI Settings URL |
URL to send the request to. |
No |
URI Settings Path |
Path for where to send the request. |
No |
Request Body |
Body of the request response message. |
No |
Request Headers |
Headers to include in the response message. |
No |
URI Parameters |
URI parameters used to create the request. |
No |
Query Parameters |
Query parameters to include in the request. |
No |
Correlations ID |
Defines whether to include an outbound correlation ID in the request. |
No |
Select the Advanced tab to configure the following attributes:
| UI Field | Description | Required |
|---|---|---|
Output MIME type |
MIME type of the payload this component outputs. |
No |
Parameters |
Appends a key-value pair for a reader property to the value of the Output MIME attribute. Multiple key-value pairs are allowed. |
No |
Output encoding |
Encoding of the payload this component outputs. |
No |
Streaming Strategy |
This attribute is not currently enabled in the configuration UI. Configure it in the XML editor. See Configuring the Streaming Strategy in XML. |
No |
Follow redirects |
Specifies whether or not to follow redirects. |
No |
Send body mode |
Specifies whether the request contains a body. Select Auto to specify that the behavior is determined by the defined allowed HTTP methods ( |
No |
Request streaming mode |
Defines whether the request is sent using streaming. |
No |
Response timeout |
Specifies the maximum time in milliseconds that the request element blocks the execution of the flow waiting for the HTTP response. |
No |
Response validator |
Configures default error handling for the request. This attribute is not currently enabled in the configuration UI. Configure it in the XML editor. See Success Status Code Validator and Failure Status Code Validator. |
No |
Target Variable |
Name of the variable on which the operation’s output is placed. |
No |
Target Value |
An expression that’s evaluated against the operation’s output. The outcome of that expression is stored in the target variable. |
No |
Error Mappings |
This attribute is not currently enabled. |
No |
Reconnection Strategy |
This attribute is not currently enabled in the configuration UI. Configure it in the XML editor. See Reconnect, Reconnect Forever, and Configuring the Reconnection Strategy in XML. |
No |
The static resource serves static content to use with HTTP. The request path is used to look up the resource.
To configure the attributes for HTTP Load static resource in the Anypoint Code Builder UI:
Click the Load static resource component on the canvas.
In the General tab, configure the following attributes:
| UI Field | Description | Required |
|---|---|---|
Resource base path |
The base path of the resource that serves up the content, for example, |
Yes |
Default file |
The default file to serve when a directory is specified. The default is |
No |
Attributes |
The HTTP request attributes defined in the HTTP Listener source to check the required resources. |
No |
Select the Advanced tab to configure the following attributes:
| UI Field | Description | Required |
|---|---|---|
Output MIME type |
MIME type of the payload this component outputs. |
No |
Parameters |
Appends a key-value pair for a reader property to the value of the Output MIME attribute. Multiple key-value pairs are allowed. |
No |
Output encoding |
Encoding of the payload this component outputs. |
No |
Target Variable |
Name of the variable that stores the operation’s output. |
No |
Target Value |
Expression that evaluates the operation’s output. The expression outcome is stored in the target variable. |
No |
Error Mappings |
This attribute is not currently enabled. |
No |
The following is an XML example of a standard reconnection strategy setting the count of reconnection attempts before failing to 5 and setting failsDeployment to true, which causes the application deployment to fail if the connection test fails. Because a frequency is not specified, the retry interval is the default of every 2000 ms:
<db:config name="Database_Config" doc:name="Database Config" doc:id="79ae8d0f-e0af-4901-961d-b80befbf3f86" >
<db:data-source-connection >
<reconnection failsDeployment="true" >
<reconnect count="5"/>
</reconnection>
</db:data-source-connection>
</db:config>
The following is an XML example of a reconnect forever strategy where the connector attempts to reconnect every 4000 ms for as long as the application runs:
<db:config name="Database_Config1" doc:name="Database Config" doc:id="c0aaf1dd-ab6e-49ee-9e4d-8b5799945cc9">
<db:data-source-connection>
<reconnection failsDeployment="true">
<reconnection>
<reconnect-forever frequency="4000"/>
</reconnection>
</reconnection>
</db:data-source-connection>
</db:config>
You can configure how Mule handles streams with streaming strategies.
The following is an XML example of reading a file that is configured with a 1 MB buffer:
<file:read path="bigFile.json">
<repeatable-file-store-stream
inMemorySize="1"
bufferUnit="MB"/>
</file:read>
If you consistently process a file that’s no larger than 10 KB, you can save memory by reducing the inMemorySize attribute:
<file:read path="smallFile.json">
<repeatable-file-store-stream
inMemorySize="10"
bufferUnit="KB"/>
</file:read>
The following XML example shows an in-memory repeatable stream with a 512 KB initial size, which grows at a rate of 256 KB and allows up to 2000 KB (2 MB) of content in memory:
<file:read path="exampleFile.json">
<repeatable-in-memory-stream
initialBufferSize="512"
bufferSizeIncrement="256"
maxInMemorySize="2000"
bufferUnit="KB"/>
</file:read>
To test an HTTP Listener connection, click Test Connection in the configuration XML:

The status bar shows the progress:
Verifying connection inbound-request indicates that the test is in progress.
Connection is valid indicates a successful connection.
Invalid Connection Got status code: 500 when trying to resolve a Mule Runtime operation indicates a connection error.
A common code 500 error is port 8081: Address already in use. For port conflicts, configure a different port, such as 8082, and retest the connection.
Before publishing, run your application in debug mode.
Anypoint Code Builder creates the initial Mule configuration XML file in src/main/mule
within the Mule project.
This file contains global configurations and flow structures.
You can create additional configuration files, for example, to store global configurations.
To create a new XML configuration file:
In the Explorer view, right-click the mule folder (src/main/mule) and select New File.
Alternatively, use the menu.
Select the mule folder, and then:
In the desktop IDE, select File > New Mule Configuration File.
In the cloud IDE, click the
(menu) icon, and select File > New File.
Enter a name for the new file with the .xml extension.
In the Editor view for the new file, press Ctrl+Space to display available options.
Select Empty mule configuration:

This command adds the following code to the file:
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
</mule>