BMC Remedy Connector | MuleSoft Documentation
# BMC Remedy Connector
BMC Remedy Connector v3.0
Anypoint Connector for BMC Remedy (BMC Connector) is built with the BMC Remedy AR System Java API v8.1 and is compatible with BMC Remedy AR System 7.x and later. The connector exposes methods for performing CRUD operations on BMC Remedy AR System.
The BMC Remedy Connector functions within a Mule application as a secure entrance for access and updates to your organization’s information in the BMC Remedy AR System.
Your application can perform several operations that BMC Remedy AR System exposes via RPC, When building an application that connects with BMC Remedy AR System.
Release Notes: BMC Remedy Connector Release Notes Exchange: BMC Remedy AR System Connector
## Before You Begin
To use this information, you should be familiar with BMC Remedy API, Mule, Anypoint Connectors, Anypoint Studio, Mule concepts, elements in a Mule flow, and Global Elements.
To use the BMC Remedy connector, you need:
  * BMC Remedy AR System - A BMC Remedy AR server instance v7.x or later. The connector has been tested against a BMC Remedy AR server v9.1 instance. See the BMC installation instructions link in the See Also section of this document.
  * BMC Remedy AR System Java API v8.1 - You can download it using the link in the See Also section of this document.


## POM File Information
```
<dependency>
 <groupId>org.mule.connectors</groupId>
 <artifactId>mule-remedy-connector</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, access the connector in Anypoint Exchange and click **Dependency Snippets**.
## Add the Connector to a Studio Project
Anypoint Studio provides two ways to add the connector to your Studio project: from the Exchange button in the Studio taskbar or from the Mule Palette view.
### Add the Connector Using Exchange
  1. In Studio, create a Mule project.
  2. Click the Exchange icon **(X)** in the upper-left of the Studio task bar.
  3. In Exchange, click **Login** and supply your Anypoint Platform username and password.
  4. In Exchange, search for "bmc".
  5. Select the connector and click **Add to project**.
  6. Follow the prompts to install the connector.


### Add the Connector in Studio
  1. In Studio, create a Mule project.
  2. In the Mule Palette view, click **(X) Search in Exchange**.
  3. In **Add Modules to Project** , type "bmc" in the search field.
  4. Click this connector’s name in **Available modules**.
  5. Click **Add**.
  6. Click **Finish**.


### Configure in Studio
  1. Click the Global Elements tab at the base of the canvas.
  2. In the Global Mule Configuration Elements screen, click Create.
  3. In the Choose Global Type wizard, expand Connector Configuration and select Remedy Configuration and click OK.
  4. Configure the parameters according to instructions below.
Parameter | Description  
---|---  
Enter a name for the configuration to reference it.  
Username | Enter the user name.  
Password | Enter the password.  
Enter the IP address of the AR server responsible for handling login requests.  
Server Port | Enter the port number at which the AR server is configured to handle the requests.  
Authentication | Enter the authentication string alias. The Authentication String Alias can be used to identify the correct authentication domain for the user.  
Enter the locale.  
The placeholder values refer to a configuration file `mule-artifact.properties` placed in the `src/main/resources` folder of your project. You can either enter your credentials into the global configuration properties, or reference a configuration file that contains these values. For simpler maintenance and better re-usability of your project, Mule recommends that you use a configuration file. Keeping these values in a separate file is useful if you need to deploy to different environments, such as production, development, and QA, where your access credentials differ.
  5. Keep the Advanced tab which has Reconnection strategy with their default entries.
  6. Click Test Connection to confirm that the parameters of your global configuration are accurate, and that Mule is able to successfully connect to your instance of BMC Remedy AR System.
  7. Click OK to save the global connector configurations.
  8. Your configuration should look like this:


## XML and Maven Support
When you add the connector to your project in Studio, the namespace, schema location, and POM file information automatically are created for you. If you want to create a Mule app without using Studio, use this information:
Namespace: `http://www.mulesoft.org/schema/mule/remedy` Schema Location: `http://www.mulesoft.org/schema/mule/remedy/current/mule-remedy.xsd`
POM file information:
```
<dependency>
 <groupId>com.mulesoft.connectors</groupId>
 <artifactId>mule-bmc-remedy-connector</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, access the connector in Anypoint Exchange and click **Dependency Snippets**.
## Use Case: Create a User
This Mule flow creates a user in the BMC Remedy AR System using the Create operation.
  1. Create a new Mule Project in Anypoint Studio.
  2. Add the following properties to the `mule-artifact.properties` file to hold your Remedy credentials and place it in the project’s `src/main/resources` directory.
```
config.username=<Username>
config.password=<Password>
config.server=<Server>
config.serverPort=<Server Port>
```

  3. Drag an HTTP Listener component onto the canvas and configure the following parameters:
Parameter | Value  
---|---  
Display Name  
Extension Configuration | If no HTTP Listener configuration has been created yet, click the plus sign to add a new HTTP Listener Configuration. Specify the Host as localhost and the Port with the 8081 value.  
/createUser  
  4. Drag Transform Message component next to the HTTP Listener and specify the necessary data.
The data mapping should be like this:
  5. Drag the Remedy Connector Create operation next to the Transform Message component from the Mule Palette.
  6. Configure the Remedy connector by adding a new Remedy Global Element. Click the plus sign next to the Connector Configuration field.
  7. Configure the global element according to the table below:
Parameter | Description | Value  
---|---|---  
Enter a name for the configuration to reference it. | `<Configuration_Name>`  
Username | Enter the Username | `${config.username}`  
Password | Enter the Password | `${config.password}`  
Enter the IP of the AR server responsible for handling login requests. | `${config.server}`  
Server Port | Enter the port number on which the AR server is configured to handle the requests. | `${config.serverPort}`  
Your configuration should look like this:
The corresponding XML configuration should be as follows:
```
<remedy:config name="Remedy_Configuration" doc:name="Remedy Configuration">
	<remedy:basic-connection
	username="${config.username}"
	password="${config.password}"
	server="${config.server}"
	serverPort="${config.serverPort}" />
</remedy:config>
```

  8. Click Test Connection to confirm that Mule can connect with the BMC Remedy AR system instance. If the connection is successful, click OK to save the configuration. Otherwise, review or correct any incorrect parameters, then test again.
  9. In the properties editor of the Remedy Create operation, configure the remaining parameters:
Parameter | Value  
---|---  
Display Name | Create (or any other name you prefer).  
Extension Configuration | Remedy_Configuration - the reference name to the global element you have created.  
Remedy Form Type | User - the form type that you want to create.  
`#[payload]`  
  10. Add a Logger component after the Create operation to print the ID that is being generated from the Create operation in the Mule Console. Configure the Logger according to the table below.
Parameter | Value  
---|---  
Display Name | Logger (or any other name you prefer)  
`#[payload]`  
  11. Save and Run the project as a Mule Application. Right-click the project in Package Explorer and click Run As > Mule Application.
  12. Open a browser and check the response after entering the URL `http://localhost:8081/createUser`. You should see the generated ID in the browser and in the Mule console.
8. Click Test Connection to confirm that Mule can connect with the BMC Remedy AR system instance. If the connection is successful, click OK to save the configuration. Otherwise, review or correct any incorrect parameters, then test again.
  9. In the properties editor of the Remedy Create operation, configure the remaining parameters:
Parameter | Value  
---|---  
Display Name | Create (or any other name you prefer).  
Extension Configuration | Remedy_Configuration - the reference name to the global element you have created.  
Remedy Form Type | User - the form type that you want to create.  
`#[payload]`  
  10. Add a Logger component after the Create operation to print the ID that is being generated from the Create operation in the Mule Console. Configure the Logger according to the table below.
Parameter | Value  
---|---  
Display Name | Logger (or any other name you prefer)  
`#[payload]`  
  11. Save and Run the project as a Mule Application. Right-click the project in Package Explorer and click Run As > Mule Application.
  12. Open a browser and check the response after entering the URL `http://localhost:8081/createUser`. You should see the generated ID in the browser and in the Mule console.


## Use Case XML - Creating a User
```
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:remedy="http://www.mulesoft.org/schema/mule/remedy"
	xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
	xmlns:dw="http://www.mulesoft.org/schema/mule/ee/dw"
	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:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/ee/dw
http://www.mulesoft.org/schema/mule/ee/dw/current/dw.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/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
http://www.mulesoft.org/schema/mule/remedy
http://www.mulesoft.org/schema/mule/remedy/current/mule-remedy.xsd">
<configuration-properties file="mule-artifact.properties"/>
	<http:listener-config name="HTTP_Listener_config"
	doc:name="HTTP Listener config">
		<http:listener-connection host="localhost" port="8081" />
	</http:listener-config>
<remedy:config name="Remedy_Configuration" doc:name="Remedy Configuration">
  <remedy:basic-connection
  username="${config.username}"
  password="${config.password}"
  server="${config.server}"
  serverPort="${config.serverPort}" />
</remedy:config>
	<flow name="create-user-flow">
    <http:listener config-ref="HTTP_Listener_config"
    path="/createUser" doc:name="HTTP"/>
		<ee:transform doc:name="Transform Message">
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
[{
	"2": "Submitter1",
	"7": "Current",
	"8": "Short description1",
	"Login Name": "Mule_soft"
}]]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<remedy:create config-ref="Remedy_Configuration" type="User" doc:name="Create">
    </remedy:create>
    <logger message="#[payload]" level="INFO" doc:name="Logger"/>
  </flow>
</mule>
```

## See Also
  * BMC installation instructions
  * MuleSoft Help Center
  * Access the BMC Remedy AR System documentation