Get data from Workday in SSIS using SOAP or REST API

Introduction

In this article you will learn how to get data from WorkDay SOAP web service in few clicks using SSIS SOAP XML Source. All you need to know how to create SOAP Request correctly and provide Authorization (e.g. Userid, Password) inside your request (You can generate that easily using Free tools like SoapUI). Once you do that you can call virtually any WorkDay API using our SSIS XML Source. If you need more help contact our Support and we will be happy to help you step by step.

Before you start next section read below Articles to lead how to Call SOAP API in general.

Calling SOAP Web Service in SSIS (XML Source)

How to get data from Google AdWords using SSIS

Also check this link to learn how to hand craft SOAP request to call WorkDay API.

How to get data from WorkDay – Call SOAP Web Service in SSIS

Here are high level steps.

  1. Find WSDL for Service you want to call.
    Example URL => https://community.workday.com/custom/developer/API/Human_Resources/v26.2/Human_Resources.wsdl
  2. Find tenant name, username and password for WorkDay
  3. Build correct API End Point URL (Replace tenant with your unique WorkDay tenant id)
    Example URL => https://wd5-impl-services1.workday.com/ccx/service/{{tenant}}/Human_Resources
  4. Build SOAP Request using tool like SoapUI … Check this article.
  5. Make sure your UserID/Password is added inside request using WSS element See this post
  6. Extract WorkDay data using SSIS XML Source.

Here is the example screenshot …

Get data from WorkDay Web Service (Call XML SOAP API in SSIS)

Get data from WorkDay Web Service (Call XML SOAP API in SSIS)

Sample SOAP Request for WorkDay API Call

Here is sample request. You have to fill out placeholders (e.g. {1}, {2} … ) when you submit it

There are two ways to pass userid/password inside SOAP Header. WSS PlainText Password or Password Digest. If you using second method to hash password then use Tool like SoapUI.

Passing WSS Credentials

To generate correct Credentials Header in SOAP Request use tool like SoapUI. Check this article to learn more how to generate WSS Security header.

  1. Assuming that you already gone through this article to learn how to use SoapUI.
  2. Open SoapUI. Click on the request you want to generate SOAP Request Code.
  3. Enter username and password in request properties grid
  4. Now right click in the XML Request Pane and click “Add WSS UserName Token”
  5. Select Password Method (e.g. PasswordText or PasswordDigest)
  6. You can now use the SOAP Header code in your SSIS XML Source.

Passing WSS Credentials in SOAP Header – PasswordText Method

If you select PasswordText Method then your SOAP code may look like below.

Passing WSS Credentials in SOAP Header – PasswordDigest Method

If you select PasswordDigest Method then your SOAP code may look like below.

Other Useful connectors for SOAP/XML and JSON REST API

SSIS XML Source (FILE, SOAP, REST API Connector)
SSIS JSON Source (File, REST Connector)

Workday XML SOAP API Reference:

Workday REST API reference link

Posted in SSIS XML Source (File and tagged , , , , , , .