How to integrate SOAP with UiPath

Integrate UiPath and SOAP
Integrate UiPath and SOAP

Learn how to quickly and efficiently connect SOAP with UiPath for smooth data access.

Read and write SOAP data effortlessly. Query, sync, and manage XML SOAP services and requests for analytics, reporting, and data pipelines — almost no coding required. You can do it all using the high-performance SOAP ODBC Driver for UiPath (often referred to as the SOAP Connector). We'll walk you through the entire setup.

Ready to dive in? Download the product to jump right in, or follow the step-by-step guide below to see how it works.

What is SOAP Web Service?

If you are new to SOAP Web Service sometimes referred as XML Web Service then please read some concept about SOAP Web service standard from this link

There are two important aspects in SOAP Web service.

  1. Getting WSDL file or URL
  2. Knowing exact Web Service URL

What is WSDL

In very simple term WSDL (often pronounced as whiz-dull) is nothing but a document which describes Service metadata (e.g. Functions you can call, Request parameters, response structure etc). Some service simply give you WSDL as xml file you can download on local machine and then analyze or sometimes you may get direct URL (e.g. http://api.mycompany.com/hr-soap-service/?wsdl )

What is Service URL

Service URL is actual API URL you can call to get data. When you make a request to SOAP service url make sure following things.

  1. Use correct service URL (Its not same as WSDL url). If you are not sure about service URL contact API vendor or refer API documentation.
  2. Each service call you have to supply function you want to call. This can be done in 3 different ways.
    1. Pass via SOAPAction HTTP Header
    2. Pass via Url parameter or Url Path (http://myserver/service/function1  — http://myserver/service/?method=function1 )
    3. Pass via Request BODY
  3. Find out how to pass credentials. It can be done via Basic Authorization or WSS Security Header in the Request body. Check this link to learn more

Using SoapUI to test SOAP API call / Create Request Body XML

If you do not have WSDL file or URL handy then contact your API provider (sometimes you just have to add ?wsdl at the end of your Service URL to get WSDL so try that. Example: http://mycompany/myservice?wsdl ). If you don't know what is WSDL then in short, WSDL is Web service Description Language (i.e. XML file which describes your SOAP Service). WSDL helps to craft SOAP API request Body for ZappySys XML Driver. So Let's get started.

  1. Download and Install SoapUI (It’s a Free tool to test SOAP / REST Services)
  2. Open SoapUI and click SOAP button to create new SOAP Project
  3. Enter WSDL URL or File Path of WSDLFor example WSDL for our sample service can be accessed via this URL
    http://www.holidaywebservice.com/HolidayService_v2/HolidayService2.asmx?wsdl
    Create new SOAP API Project in SoapUI tool for SOAP API Testing
    Create new SOAP API Project in SoapUI tool for SOAP API Testing
  4. Once WSDL is loaded you will see possible operations you can call for your SOAP Web Service.
  5. If your web service requires credentials then you have to configure it. There are two common credential types for public services (SOAP WSS or BASIC )
    1. To use SOAP WSS Credentials select request node and enter UserId, Password, and WSS-PasswordType (PasswordText or PasswordHash)
      Configure SOAP WSS Credentials for SoapUI (SOAP API Testing Tool)
      Configure SOAP WSS Credentials for SoapUI (SOAP API Testing Tool)
    2. To use BASIC Auth Credentials select request node and double-click it. At the bottom click on Auth (Basic) and From Authorization dropdown click Add New and Select Basic. Configure Basic Authorization for SoapUI (SOAP API Testing Tool)
      Configure Basic Authorization for SoapUI (SOAP API Testing Tool)
  6. Now you can test your request first Double-click on the request node to open request editor.
  7. Change necessary parameters, remove optional or unwanted parameters. If you want to regenerate request you can click on Recreate default request toolbar icon. Create SOAP Request XML (With Optional Parameters)
    Create SOAP Request XML (With Optional Parameters)
  8. Once your SOAP Request XML is ready, Click the Play button in the toolbar to execute SOAP API Request and Response will appear in Right side panel. Test SOAP API using SoapUI Tool (Change Default XML Body / Parameters, Execute and See Response)
    Test SOAP API using SoapUI Tool (Change Default XML Body / Parameters, Execute and See Response)

Once you have tested your SOAP API in SoapUI tool, we are ready to use ZappySys SSIS Tasks/Components or ODBC Drivers to call SOAP API in SSIS or your preferred BI tool or Programming language.

Create data source using SOAP ODBC Driver

Step-by-step instructions

To get data from SOAP using UiPath, we first need to create an ODBC data source. We will later read this data in UiPath. Perform these steps:

  1. Download and install ODBC PowerPack (if you haven't already).

  2. Search for odbc and open the ODBC Data Sources (64-bit):

    Open ODBC Data Source
  3. Create a User data source (User DSN) based on the ZappySys XML Driver driver:

    ZappySys XML Driver
    Create new User DSN for ZappySys XML Driver
    • Create and use a User DSN if the client application runs under a User Account. This is the ideal option at design time (e.g., when developing in Visual Studio). Use it for both types of applications (64-bit and 32-bit).
    • Create and use a System DSN if the client application runs under a System Account (e.g., as a Windows Service). This is usually the required option in a production environment. If your Windows Service is a 32-bit application, you must use the 32-bit ODBC Data Source Administrator to configure this
  4. Configure API URL, Request Method and Request Body as below screen. Select Url or File and paste the following Url for this example OR you can load existing connection string as per this article.

    NOTE: Here i am using demo SOAP API URL, but you need to refer your own API documentation and based on that you need to use your own API URL and need to configure connection based on API Authentication type.
    http://www.holidaywebservice.com/HolidayService_v2/HolidayService2.asmx?wsdl

    ZappySys XML Driver - Calling SOAP API - Configure URL, Method, Body
    ZappySys XML Driver - Calling SOAP API - Configure URL, Method, Body

  5. (This step is Optional) If your SOAP API requires credentials then Select Connection Type to HTTP and configure as below.

    ZappySys XML Driver - Configure SOAP WSS Credentials or Basic Authorization (Userid, Password)
    ZappySys XML Driver - Configure SOAP WSS Credentials or Basic Authorization (Userid, Password)

  6. Configure-Request Headers as below (You can get it from Request > Raw tab from SoapUI after you test the request by clicking the Play button)

    Configure SOAP API Request Headers - ZappySys XML Driver
    Configure SOAP API Request Headers - ZappySys XML Driver

  7. Once credentials entered you can select Filter to extract data from the desired node. Make sure to select array node (see special icon) or select the node which contains all necessary columns if you don't have array node.

    Select Filter - Extract data from nested XML / SOAP API Response (Denormalize Hierarchy)
    Select Filter - Extract data from nested XML / SOAP API Response (Denormalize Hierarchy)

  8. If prompted select yes to treat selected node as Array (This is helpful when you expect one or more record for selected node)

    Treat selected node as XML Array Option for SOAP API Response XML
    Treat selected node as XML Array Option for SOAP API Response XML

  9. Once the data source has been configured, Go to Preview tab and click on preview data to view the data.
    You can create the default query, generated based on settings you entered in previous sections also, by using Query Builder. Attributes listed in WITH clause are optional. If you omit attribute in WITH clause it will use it from Properties tab.

    Preview SOAP API Response in ZappySys XML Driver
    Preview SOAP API Response in ZappySys XML Driver

  10. Click OK to finish creating the data source.

  11. That's it; we are done. In a few clicks we configured the call to SOAP API using ZappySys SOAP Connector.

Video Tutorial

In this video, ZappySys JSON Driver is used as an example. So when creating an ODBC data source, simply select ZappySys XML Driver instead.

Read SOAP data in UiPath Studio (workstation)

Here we will be reading SOAP data on your workstation. To accomplish that we will create and run UiPath process package locally. Later on, we'll explore how to publish the package to Orchestrator and run it remotely. For now, let's focus on working locally and get started!

  1. Open UiPath Studio.

  2. Before we really begin the work, make sure UiPath Studio is set as your profile (blue application icon).

  3. In case, it is set to UiPath StudioX, you can change it in UiPath StudioX Settings:

    Choosing UiPath Studio profile

    Simply select UiPath Studio option:

    Choosing UiPath Studio profile
  4. Start by creating a new project based on UiPath Process template:

    Creating new process in UiPath Studio to import ODBC data
  5. Add Run Query activity in Main Sequence box:

    Adding ODBC data source in UiPath Studio
  6. Click Configure Connection... button to create an ODBC connection:

    Configuring ODBC data source in UiPath in Run Query activity
  7. Continue by clicking Connection Wizard:

    Using connection wizard to setup ODBC source in UiPath Studio
  8. When the window opens, select ODBC-based driver, provider, and then choose ODBC data source:

    SoapDSN
    SoapDSN
    Choosing ODBC DSN in UiPath Studio connection wizard
    You can also select Use connection string option and use whole ODBC connection string instead. Obtain the connection string by pressing Copy Settings button in your data source configuration.
  9. Once you do that, it's time to configure a SQL query:

    Inputting SQL query for ODBC data source in UiPath Studio
    Make sure, you enclose the query in double quotes!
  10. Proceed by adding a Write CSV activity after Run Query:

    Adding Write CSV activity to write ODBC data in UiPath
    In this article we are using Write CSV, but you can freely add any other destination of your choice, e.g. Write DataTable to Excel.
  11. Once you do that, configure the added Write CSV, this will write SOAP data to a CSV file:

    Configuring Write CSV activity to write ODBC data in UiPath
  12. It's time for fun! Which means it's time for debugging! Just run the package locally to debug:

    Running UiPath process package to get ODBC data
  13. Finally, ensure there are no execution errors!

    Successful UiPath package debugging

Run UiPath package using Orchestrator (via robot)

UiPath also offers the ability to execute packages remotely using Orchestrator and a robot. This is achieved by publishing the package to UiPath Orchestrator, installing UiPath Assistant on the remote machine, connecting it to Orchestrator, enabling us to run the package remotely. It may sound complicated at first glance, but further steps will clear things out. Let's not waste our precious time and delve into the details!

Publish process package from UiPath Studio

  1. First of all, open the UiPath process package we created in the previous step
  2. Set the option that our process package Starts in Background: Marking UiPath process package to start in background
  3. We are ready to Publish it: Publishing UiPath process package to read ODBC data
  4. Make sure, you publish it to the Shared folder in UiPath Orchestrator Tenant workspace: Setting package publishing path in UiPath Studio
  5. Finally, success! We are ready for the next step - creating UiPath robot - so we can automate the job: Great news! The UiPath package is now published

Create robot in UiPath Orchestrator

  1. First of all, let's open UiPath Orchestrator from UiPath Automation Cloud console: Opening UiPath Orchestrator
  2. It's time to create a robot, which will run unattended packages: Creating unattended setup in UiPath Orchestrator
  3. But first we have to create a runtime. Choose to host our robot on-premise, not in UiPath infrastructure: Creating self-hosted robot in UiPath Orchestrator
  4. Let's move along and Create new machine template, this will create a machine in UiPath Orchestrator: Creating new machine template in UiPath Orchestrator
  5. Configure the machine to run in Production environment: Adding machine template in UiPath Orchestrator
  6. We are ready to Create new robot account in the new machine: Creating new robot account in UiPath Orchestrator
  7. Let's make our robot to work only on background automations: Configuring new robot account in UiPath Orchestrator
  8. Continue by selecting newly created robot: Selecting robot account in UiPath Orchestrator
  9. Select Shared folder, so that everyone in the team can benefit from it: Selecting folder for robot in UiPath Orchestrator
    This is the folder where we published our UiPath process package "MyProcess"
  10. We are almost done! We are given machine Client ID and Client secret which we will use to connect UiPath Assistant to our created machine in Orchestrator. Let's leave this open for a while and see how we can do it in the next step. Configuring machine template, Client ID, and Secret in UiPath Orchestrator

Connect UiPath Assistant to Orchestrator

We are ready to connect UiPath Assistant to the machine we created in Orchestrator. UiPath Assistant will run our package in a remote machine. Let's connect it and give it some work!

  1. Connect to a remote machine (where your UiPath process package will be running).
  2. Install UiPath Studio there.
  3. Then configure ODBC data source:

    If you chose Use user or system data source option in connection configuration, when creating UiPath process package, then create an identical ODBC data source on the same remote machine. Use the same configuration as the one created in your workstation in the first step.

    Use Copy Settings and Load Settings buttons to make your life easier. They will help you to transfer settings between different ODBC data sources.

    If you chose Use connection string option, then you don't have to do anything. However, you still have to install ODBC PowerPack on the remote machine.

  4. Continue by opening UiPath Assistant and going to Preferences: Configuring UiPath Assistant to read ODBC data
  5. Find Orchestrator Settings menu item and click it: Configuring Orchestrator settings in UiPath Assistant
  6. And here even bigger fun begins! But fear not, all you have to do is open your web browser window with Client ID & Client secret we obtained in the previous step and simply copy and paste those values into UiPath Assistant. Also, don't forget to configure Orchestrator URL: Configuring Client ID and Secret in UiPath Assistant
  7. Finally, we get rewarded for the hard work with the Connected as Unattended status: Successfully connecting UiPath Assistant to get ODBC data

Create and run UiPath process in Orchestrator

We are at the finish line! Let's create and run UiPath process. This will execute the package on your remote machine using the UiPath Assistant configured earlier.

  1. First of all, open UiPath Orchestrator from UiPath Automation Cloud console.
  2. Then proceed by going to Process in Shared folder: Going to Processes to create UiPath process
  3. Continue by simply clicking on Add process button: Creating UiPath process in UiPath Orchestrator
  4. Select the process package we created in UiPath Studio: Selecting UiPath package in UiPathp process
  5. Rest a while, and just hit Next, unless your package has requirements: Configuring UiPath package requirements (optional)
  6. Then simply hit Create button: Naming UiPath process and setting priority
  7. But let's not stop here and Start the process by creating a job right away: Finishing creating UiPath process to get SOAP Data
  8. Use the same Production runtime we created before and hit Start: Starting UiPath job
  9. We've reached the final step! In the CSV destination file or destination of your choice you should see SOAP data: Successfully running UiPath job

Optional: Centralized data access via ZappySys Data Gateway

In some situations, you may need to provide SOAP data access to multiple users or services. Configuring the data source on a Data Gateway creates a single, centralized connection point for this purpose.

This configuration provides two primary advantages:

  • Centralized data access
    The data source is configured once on the gateway, eliminating the need to set it up individually on each user's machine or application. This significantly simplifies the management process.
  • Centralized access control
    Since all connections route through the gateway, access can be governed or revoked from a single location for all users.
Data Gateway
Local ODBC
data source
Simple configuration
Installation Single machine Per machine
Connectivity Local and remote Local only
Connections limit Limited by License Unlimited
Central data access
Central access control
More flexible cost

To achieve this, you must first create a data source in the Data Gateway (server-side) and then create an ODBC data source in UiPath (client-side) to connect to it.

Let's not wait and get going!

Create SOAP data source in the gateway

In this section we will create a data source for SOAP in the Data Gateway. Let's follow these steps to accomplish that:

  1. Search for gateway in the Windows Start Menu and open ZappySys Data Gateway Configuration:

    Open ZappySys Data Gateway Service Manager
  2. Go to the Users tab and follow these steps to add a Data Gateway user:

    • Click the Add button
    • In the Login field enter a username, e.g., john
    • Then enter a Password
    • Check the Is Administrator checkbox
    • Click OK to save
    Data Gateway - Add User
  3. Now we are ready to add a data source:

    • Click the Add button
    • Give the Data source a name (have it handy for later)
    • Then select Native - ZappySys XML Driver
    • Finally, click OK
    SoapDSN
    ZappySys XML Driver
    Data Gateway - Add data source
  4. When the ZappySys XML Driver configuration window opens, go back to ODBC Data Source Administrator where you already have the SOAP ODBC data source created and configured, and follow these steps on how to Import data source configuration into the Gateway:

    • Open ODBC data source configuration and click Copy settings:
      ZappySys XML Driver - Configuration [Version: 2.0.1.10418]
      ZappySys XML Driver - SOAP
      Read and write SOAP data effortlessly. Query, sync, and manage XML SOAP services and requests for analytics, reporting, and data pipelines — almost no coding required.
      SoapDSN
      Copy connection string for ODBC application
    • The window opens, telling us the connection string was successfully copied to the clipboard: Successful connection string copying for ODBC application
    • Then go to Data Gateway configuration and in data source configuration window click Load settings:

      SoapDSN
      ZappySys XML Driver - Configuration [Version: 2.0.1.10418]
      ZappySys XML Driver - SOAP
      Read and write SOAP data effortlessly. Query, sync, and manage XML SOAP services and requests for analytics, reporting, and data pipelines — almost no coding required.
      SoapDSN
      Load configuration in ZappySys Data Gateway data source
    • Once a window opens, just paste the settings by pressing CTRL+V or by clicking right mouse button and then Paste option.
  5. Once done, go to the Network Settings tab and Add a firewall rule for inbound traffic:

    Data Gateway - Add firewall rule for inbound connections
    • This will initially allow all inbound traffic.
    • Click Edit IP filters to restrict access to specific IP addresses or ranges.
  6. Crucial Step: After creating or modifying the data source, you must:

    • Click the Save button to persist your changes.
    • Hit Yes when prompted to restart the Data Gateway service.

    This ensures all changes are properly applied:

    ZappySys Data Gateway - Save Changes
    Skipping this step may cause the new settings to fail, preventing you from connecting to the data source.

Create ODBC data source to connect to the gateway

In this part we will create an ODBC data source to connect to the ZappySys Data Gateway from UiPath. To achieve that, let's perform these steps:

  1. Search for odbc and open the ODBC Data Sources (64-bit):

    Open ODBC Data Source
  2. Create a User data source (User DSN) based on the ODBC Driver 17 for SQL Server driver:

    ODBC Driver 17 for SQL Server
    Create new User DSN for ODBC Driver 17 for SQL Server
    If you don't see the ODBC Driver 17 for SQL Server driver in the list, choose a similar version.
  3. Then set a Name for the data source (e.g. Gateway) and the address of the Data Gateway:

    ZappySysGatewayDSN
    localhost,5000
    ODBC driver for SQL Server - Setting hostname and port
    Make sure you separate the hostname and port with a comma, e.g. localhost,5000.
  4. Proceed with the authentication part:

    • Select SQL Server authentication
    • In the Login ID field enter the user name you created in the Data Gateway, e.g., john
    • Set Password to the one you configured in the Data Gateway
    ODBC driver for SQL Server - Selecting SQL Authentication
  5. Then set the default database property to SoapDSN (the one we used in the Data Gateway):

    SoapDSN
    SoapDSN
    ODBC driver for SQL Server - Selecting database
    Make sure to type the data source name manually or copy/paste it directly into the field. Using the dropdown might fail because the Trust server certificate option is not enabled yet (next step).
  6. Continue by checking the Trust server certificate option:

    ODBC driver for SQL Server - Trusting certificate
  7. Once you do that, test the connection:

    ODBC driver for SQL Server - Testing connection
  8. If the connection is successful, everything is good:

    ODBC driver for SQL Server - Testing connection succeeded
  9. Done!

We are ready to move to the final step. Let's do it!

Access data in UiPath via the gateway

Finally, we are ready to read data from SOAP in UiPath via the Data Gateway. Follow these final steps:

  1. Go back to UiPath.

  2. Add Run Query activity in Main Sequence box:

    Adding ODBC data source in UiPath Studio
  3. Click Configure Connection... button to create an ODBC connection:

    Configuring ODBC data source in UiPath in Run Query activity
  4. Continue by clicking Connection Wizard:

    Using connection wizard to setup ODBC source in UiPath Studio
  5. When the window opens, select ODBC-based driver, provider, and then choose ODBC data source:

    ZappySysGatewayDSN
    ZappySysGatewayDSN
    Choosing ODBC DSN in UiPath Studio connection wizard
    You can also select Use connection string option and use whole ODBC connection string instead. Obtain the connection string by pressing Copy Settings button in your data source configuration.
  6. Read the data the same way we discussed at the beginning of this article.

  7. That's it!

Now you can connect to SOAP data in UiPath via the Data Gateway.

If you are asked for authentication details, use Database authentication, SQL authentication or Basic authentication option and enter the credentials you used when configuring the Data Gateway, e.g. john and your password.

Configuring pagination in the XML Driver

ZappySys XML Driver equips users with powerful tools for seamless data extraction and management from REST APIs, leveraging advanced pagination methods for enhanced efficiency. These options are designed to handle various types of pagination structures commonly used in APIs. Below are the detailed descriptions of these options:

  1. Page-based Pagination: This method works by retrieving data in fixed-size pages from the Rest API. It allows you to specify the page size and navigate through the results by requesting different page numbers, ensuring that you can access all the data in a structured manner.

  2. Offset-based Pagination: With this approach, you can extract data by specifying the starting point or offset from which to begin retrieving data. It allows you to define the number of records to skip and fetch subsequent data accordingly, providing precise control over the data extraction process.

  3. Cursor-based Pagination: This technique involves using a cursor or a marker that points to a specific position in the dataset. It enables you to retrieve data starting from the position indicated by the cursor and proceed to subsequent segments, ensuring that you capture all the relevant information without missing any records.

  4. Token-based Pagination: In this method, a token serves as a unique identifier for a specific data segment. It allows you to access the next set of data by using the token provided in the response from the previous request. This ensures that you can systematically retrieve all the data segments without duplication or omission.

Utilizing these comprehensive pagination features in the ZappySys XML Driver facilitates efficient data management and extraction from REST APIs, optimizing the integration and analysis of extensive datasets.

For more detailed steps, please refer to this link: How to do REST API Pagination in SSIS / ODBC Drivers

Authentication

ZappySys offers various authentication methods to securely access data from various sources. These authentication methods include OAuth, Basic Authentication, Token-based Authentication, and more, allowing users to connect to a wide range of data sources securely.

ZappySys Authentication is a robust system that facilitates secure access to data from a diverse range of sources. It includes a variety of authentication methods tailored to meet the specific requirements of different data platforms and services. These authentication methods may involve:

  1. OAuth: ZappySys supports OAuth for authentication, which allows users to grant limited access to their data without revealing their credentials. It's commonly used for applications that require access to user account information.

  2. Basic Authentication: This method involves sending a username and password with every request. ZappySys allows users to securely access data using this traditional authentication approach.

  3. Token-based Authentication: ZappySys enables users to utilize tokens for authentication. This method involves exchanging a unique token with each request to authenticate the user's identity without revealing sensitive information.

By implementing these authentication methods, ZappySys ensures the secure and reliable retrieval of data from various sources, providing users with the necessary tools to access and integrate data securely and efficiently. For more comprehensive details on the authentication process, please refer to the official ZappySys documentation or reach out to their support team for further assistance.

For more details, please refer to this link: ZappySys Connections

Conclusion

In this article we showed you how to connect to SOAP in UiPath and integrate data without writing complex code — all of this was powered by SOAP ODBC Driver.

Download ODBC PowerPack now or ping us via chat if you have any questions or are looking for a specific feature (you can also reach out to us by submitting a ticket):

Explore UiPath connectors

All
Big Data & NoSQL
Database
CRM & ERP
Marketing
Collaboration
Cloud Storage
Reporting
Commerce
API & Files

More SOAP integrations

All
Data Integration
Database
BI & Reporting
Productivity
Programming Languages
Automation & Scripting
ODBC applications