50 likes | 58 Views
In this post, you will learn how to use SSIS SOAP XML Source to get data from the WorkDay SOAP web service within a few clicks. All you need to know is how to correctly build SOAP requests and include authorization. Using these SSIS XML Sources, you can call virtually any WorkDay API once you do so.
E N D
Explain Workday API integration In this post, you will learn how to use SSIS SOAP XML Source to get data from the WorkDay SOAP web service within a few clicks. All you need to know is how to correctly build SOAP requests and include authorization. Using these SSIS XML Sources, you can call virtually any WorkDay API once you do so. How to call SSIS's Workday API (Read or Write Data) For reading or writing Workday data in SSIS, here are high-level measures. Get Your Tenant's Workday WSDL URL (Service Metadata) and API URL XML request for Craft POST using tools such as SoapUI for the desired operation (e.g. Get Employee) Use the API URL and workday Userid/Password to configure SSIS HTTP Link (for SOAP WSS). Use either of these SSIS XML Source or SSIS REST API TASK or SSIS Web API Destination tasks or components to call the Workday API to read/write data. Let us now look at each move in the following sections in detail. Get WSDL URL for Workday SOAP (API Metadata URL) WSDL is an XML file that describes the API operations available and the request and response structure. For different Workday API Services, here is the list of WSDL open. Right-click and save the WSDL icon to the local disk. In the next portion, we will use this WSDL to build SOAP requests using the SoapUI tool. Get URL of Workday API The next step is to build the correct URL for the API service you want to call, once you have a WSDL file. It is possible to get the service name from here. Using SoapUI, Craft SOAP Body (XML API Request) It's now time to create a SOAP Order. (Use the SoapUI tool) Review the measures outlined here. Once you have Request Body XML, parameters can be modified according to your needs. Here is the sample SOAP XML Body from the Human Resources service for getting Employee calls.
<soapenv:envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' envelope xmlns:bsvc='urn:com.workday/bsvc">> Header/> <soapenv: <soapenv:corpus> <bsvc:Get Employee> <bsvc:Reference-Employee> <bsvc:Integration ID Reference> Integration> <bsvc:identify>gero et</bsvc:identify> </bsvc:Integration ID Reference> Integration> </bsvc:Reference for Employee> </bsvc:Get Employee> Body> </soapenv:Body> </soapenv:Envelope> Envelope <soapenv:envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' envelope xmlns:bsvc='urn:com.workday/bsvc">> Header/> <soapenv: <soapenv:corpus> <bsvc:Get Employee> <bsvc:Reference-Employee> <bsvc:Integration ID Reference> Integration> <bsvc:identify>gero et</bsvc:identify> </bsvc:Integration ID Reference> Integration> </bsvc:Reference for Employee> </bsvc:Get Employee> Body> </soapenv:Body> </soapenv:Envelope> Envelope Creating the WSDL SOAP Request Body (Using SoapUI tool) Creating an SSIS Connection using WSS Protection for Workday SOAP API call Perform the following steps to build a new link for the workday. Two ways to build a workday HTTP link First approach:
Right-click on the Link Managers panel, and then click 'New Connection...' and pick ZS-HTTP from the list of connection forms, and then click OK. Second approach: If you are already using the SSIS XML Source or SSIS REST API TASK or Destination UI of the SSIS Web API, next to the Link drop-down, click [New]. Configure the following way once the HTTP Link UI is available. Enter Workday's API URL (Make sure that you do not enter the WSDL URL found here). Something like below will be your API URL. Pick the SOAP WSSS Credential Form (This setting is only found in v2.6.4 or Higher) Enter your username and password for your workday You leave it by default (Not set) for the WSS password style setting or move to PasswordHash for more safe communication. To save, press OK. SSIS Workday API Integration – Build a new SAOP Workday API Service Link (SOAP WSS) Integration of SSIS Workday- Creating new SOAP Service Link for Workday API Service (SOAP WSS) In "REST API Integration" "SSIS XML Source (File/SOAP)"File / SOAP (SSIS XML Source) Workday API Sample Calling Using SSIS REST API Mission Here's how you can use SSIS REST API TASK to call any Workday API control flow action. Below is an easy way to run SSIS APIs, but if you need to parse the API response into rows and columns, then check the next section on how to use SSIS XML Source. Configure subsequent settings in Workday API From Link, pick URL Access Mode to URL Choose HTTP connections that were generated in the previous section Adjust the form of the request to POST Modify the form of content to XML (text/xml;charset=UTF-8) SOAP Body Join (Obtained in the previous section using SoapUI ) Above the Headers Grid, press Raw Edit. Join the string below SOAPActivity: "" SOAPActivity: "" Click Request to test/Answer. Answer data should be shown.
Write workday details using XML Task SSIS (Import from SQL Server to Workday) Workday Data Reading using SSIS XML Task (Export from workday to SQL Server) We're not going to use high-level measures in this portion. Drag SSIS Toolbox Data Flow Job Drag the XML Source for SSIS from the toolbox. Enter the URL for the API (Do not enter WSDL URL) Choose HTTP connections that were generated in the previous section Check Use Credentials and Pick an HTTP link that was established in the previous section Adjust the form of the request to POST Modify the form of content to XML (text/xml;charset=UTF-8) SOAP Body Join (Obtained in the previous section using SoapUI ) Above the Headers Grid, press Raw Edit. Join the string below SOAPActivity: "" SOAPActivity: "" To see the data, click Preview. To save the UI, press OK. You can now link your XML source to any destination, such as OLEDB Destination (SQL Server Table). Get data from Web Service WorkDay (Call XML SOAP API in SSIS). Pagination of Workday API-Retrieve more than 100 rows By default, unless you specify Page/Count in Response Filter, the Workday API will return only 100 records. Either way, only 999 maximum rows will be sent to you. You have to set up Pagination in XML Source as below to get more records after the first page. To use this function, you will need the latest update (version 2.7.8 or higher). Workday SOAP API Pagination Setup in SSIS XML Source Settings And one more thing, as below, you have Body Transition. Transfer Parameter Response Filter as below. See how we used the placeholder < percent page percent >. To see several responses at runtime, you may use a method such as a fiddler. Kit run and fiddler check. Passing WSS Credentials Manually (UserID/Password) You don't have to worry about creating a WSS Security Header while using an HTTP link using SOAP Configuration. But for some reason, in order not to stress, you have to do it manually. See below for manually inserting the UserID/Password Header. Skip this section again if you are using the SSIS HTTP Link option along with SOAP WSS. Using tools such as SoapUI to create the correct Credentials Header in the SOAP Request. See this article to learn more about how to create a header for WSS Protection.
●Assuming that you have already learned how to use SoapUI via this post. ●Open SoapUI. To generate the SOAP Request Code, click the request you want. ●Enter your username and password in the grid of request properties ●Now right-click "Add WSS UserName Token" in the XML Request Window. Conclusion We have learned in this article how to load data using SSIS from SQL Server to Workday (drag and drop approach without coding). You can learn more about workday and API integration through Workday online training.