In this technical tutorial we will have a look at the integration between RPA UiPath and IBM ODM. As we know ODM provides a decision server that the business can use to express rules while UiPath provides RPA to automate tasks, normally manual processes that uses repetitive tasks like data entry, making this integration a perfect collaboration.
To understand the basics of UiPath, please refer to this link.
- Testing the ODM project
- For this tutorial, I will use the ‘Recruitment’ project I made for previous posts. Check some details about the project here.
- Make sure your project is successfully deployed in the RES console and that the Sample Server is up and running.
- Open the RES console and navigate to your project Ruleset view:
- Click on ‘Retrieve HTDS Description File’, select ‘REST’ and click on Test:
- In my example I will test with 2 scenarios for the ‘Country’ value.
- Now go back to the HTDS page and click on ‘View’. Copy the URL, we will use it later in UiPath:
- Remember you can also use JSON format for your execution requests and external tools like SoapUI or Postman (my favorite) to test your services.
- Creating the UiPath project
- Now that we know our Decision Service is working properly, we will create a simple UiPath project that will call our service and print the response.
- We will use UiPath community version (free), you can download it from here.
- Open the UiPath studio and create a new Blank Project:
- Calling the ODM web service
- This is the tricky part, UiPath community edition doesn’t come with the SOAP or HTTP request activities by default, we will need to install them.
- Open the ‘Manage Packages’ option:
- Search for UiPath.Web.Activities and install it:
- You should be able to see the 2 options in the Activities Panel:
- Now we need to decide if we want to consume the web service as a SOAP request call or as a REST API method. Let’s talk about the 2 options in UiPath:
- SOAP: If we want to use SOAP we will encounter a problem if we are using custom objects, as of now, UiPath is not able to properly identify the methods and types for your objects in order to make the request in the correct format. You will an error like this when we test and invoke:
- There is a way to accomplish but it will require to create a custom activity, we will not cover that in this post but you can follow this guide to do it.
- REST: This is the option we are going to choose for this tutorial. We just drag the ‘HTTP Request’ activity.
- In the ‘End point’ field we paste our WADL url, we select the ‘POST’ method and click Ok.
- We need to create 2 variables, one for the input body and one for the response. We just select the ‘Variables’ option and assign ‘String’ to both:
- We need to include the XML expression for our Request in the first variable but UiPath studio will not recognize this as a proper VB Expression, so we need to adjust our ‘”‘ marks in order to obtain a valid XML, this is my value for the input variable:
- This will convert our XML in a proper String and UiPath will not give us any errors.
- We assign the 2 variables in the properties of the HTTP Request activity:
- We create a Message Box or we open Notepad to show our response (variable2):
- We run our project:
We have successfully called a ODM Service from an UiPath project and capture the response. In the next post I will show how to deserialize the XML and use the data for different purposes, stay tuned!
I hope you enjoy this tutorial and please feel free to contact me with any query or feedback, thank you!