<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>wss Archives | ZappySys Blog</title>
	<atom:link href="https://zappysys.com/blog/tag/wss/feed/" rel="self" type="application/rss+xml" />
	<link>https://zappysys.com/blog/tag/wss/</link>
	<description>SSIS / ODBC Drivers / API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more</description>
	<lastBuildDate>Thu, 20 Feb 2020 16:00:22 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.4</generator>

<image>
	<url>https://zappysys.com/blog/wp-content/uploads/2023/01/cropped-zappysys-symbol-large-32x32.png</url>
	<title>wss Archives | ZappySys Blog</title>
	<link>https://zappysys.com/blog/tag/wss/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to get data from Workday in SSIS using SOAP/REST API</title>
		<link>https://zappysys.com/blog/get-data-from-workday-in-ssis-using-soap-or-rest-api/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Mon, 11 Jan 2016 15:31:55 +0000</pubDate>
				<category><![CDATA[REST API Integration]]></category>
		<category><![CDATA[SSIS REST API Task]]></category>
		<category><![CDATA[SSIS XML Source (File / SOAP)]]></category>
		<category><![CDATA[API Integration]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[rest api]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[SoapUI]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<category><![CDATA[workday]]></category>
		<category><![CDATA[wss]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">http://zappysys.com/blog/?p=315</guid>

					<description><![CDATA[<p>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 [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/get-data-from-workday-in-ssis-using-soap-or-rest-api/">How to get data from Workday in SSIS using SOAP/REST API</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="//zappysys.com/blog/wp-content/uploads/2016/01/workday-api-integration.png"><img decoding="async" class="alignleft wp-image-1665" src="//zappysys.com/blog/wp-content/uploads/2016/01/workday-api-integration.png" alt="" width="125" height="125" srcset="https://zappysys.com/blog/wp-content/uploads/2016/01/workday-api-integration.png 195w, https://zappysys.com/blog/wp-content/uploads/2016/01/workday-api-integration-150x150.png 150w" sizes="(max-width: 125px) 100vw, 125px" /></a>In this article you will learn how to get data from WorkDay SOAP web service in few clicks using <a href="//zappysys.com/products/ssis-powerpack/ssis-xml-source/" target="_blank" rel="noopener">SSIS SOAP XML Source</a>. 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 <strong>SoapUI</strong>). Once you do that you can call virtually any WorkDay API using our <a href="//zappysys.com/products/ssis-powerpack/ssis-xml-source/" target="_blank" rel="noopener">SSIS XML Source</a>. If you need more help contact our <a href="//zappysys.com/support/" target="_blank" rel="noopener">Support</a> and we will be happy to help you step by step.</p>
<p>&nbsp;</p>
<h2></h2>
<h2>How to call Workday API in SSIS (Read or Write Data)</h2>
<p>Here are high level steps to read or write Workday data in SSIS.</p>
<ol>
<li>Obtain Workday WSDL URL (Service Metadata) and API URL for your tenant</li>
<li>Craft POST request XML using tool like <a href="//zappysys.com/blog/calling-soap-web-service-in-ssis-xml-source/" target="_blank" rel="noopener">SoapUI</a> for desired operation (e.g <strong>Get_Employee</strong> )</li>
<li>Configure SSIS HTTP Connection (for SOAP WSS) using API url and workday Userid / password.</li>
<li>Call Workday API using any of these tasks or components <a href="https://zappysys.com/products/ssis-powerpack/ssis-xml-source/" target="_blank" rel="noopener">SSIS XML Source</a> or <a href="https://zappysys.com/products/ssis-powerpack/ssis-rest-api-web-service-task/" target="_blank" rel="noopener">SSIS REST API TASK</a> or <a href="https://zappysys.com/products/ssis-powerpack/ssis-web-api-destination-connector/" target="_blank" rel="noopener">SSIS Web API Destination</a> to read / write data.</li>
</ol>
<p>Now lets look at each step in detail in the following sections</p>
<div class="su-note"  style="border-color:#e5de9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#FFF8B7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><strong>NOTE:</strong> If you are trying to get data from Workday report instead (your Workday admin created a report and gave you a link) then skip Soap UI part, use the URL with GET method and <em>Basic authentication</em> instead of SOAP WSS.</div></div>
<h3>Obtain Workday SOAP WSDL URL (API Metadata URL)</h3>
<p>First step to consume workday api using SSIS is download SOAP WSDL file. WSDL is XML file which describes available API operations and structure of request and response. Here is the <a href="https://community.workday.com/sites/default/files/file-hosting/productionapi/index.html" target="_blank" rel="noopener">list of available WSDL</a> for various Workday API Services. Right click on WSDL icon and save to local disk. We will use this WSDL in next section to craft SOAP Request using <a href="https://zappysys.com/blog/calling-soap-web-service-in-ssis-xml-source/">SoapUI tool</a></p>
<p>You can find more information about Other <a href="https://community.workday.com/api" target="_blank" rel="noopener">Workday API here</a>.</p>
<h3>Obtain Workday API URL</h3>
<p>Once you have WSDL file, next step is craft correct URL for API service you like to call. Service name can be obtained from <a href="https://community.workday.com/sites/default/files/file-hosting/productionapi/index.html" target="_blank" rel="noopener">here</a> (Check service column)</p>
<p><strong>Syntax:</strong> <pre class="crayon-plain-tag">https://&lt;workday host name&gt;.workday.com/ccx/service/&lt;tenant name&gt;/&lt;service-name&gt;</pre><strong><br />
Example:</strong> <pre class="crayon-plain-tag">https://MY-INSTANCE.workday.com/ccx/service/MY-TenantID/Human_Resources</pre>
<h3>Craft SOAP Body (XML API Request) using SoapUI</h3>
<p>Now its time to craft some SOAP Request. Check steps <a href="https://zappysys.com/blog/calling-soap-web-service-in-ssis-xml-source/">outlined here (Use SoapUI tool)</a> . Once you have Request Body XML you can change parameters as per your need.</p>
<p>Here is sample  SOAP XML Body for Get Employee call from Human_Resopurces service.</p><pre class="crayon-plain-tag">&lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bsvc="urn:com.workday/bsvc"&gt;
   &lt;soapenv:Header/&gt;
   &lt;soapenv:Body&gt;
      &lt;bsvc:Employee_Get&gt;
         &lt;bsvc:Employee_Reference&gt;
            &lt;bsvc:Integration_ID_Reference&gt;
               &lt;bsvc:ID&gt;gero et&lt;/bsvc:ID&gt;
            &lt;/bsvc:Integration_ID_Reference&gt;
         &lt;/bsvc:Employee_Reference&gt;
      &lt;/bsvc:Employee_Get&gt;
   &lt;/soapenv:Body&gt;
&lt;/soapenv:Envelope&gt;</pre><p>
<div id="attachment_2543" style="width: 745px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2016/01/create-workday-soap-request-using-soapui-api-xml-body.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2543" class="size-full wp-image-2543" src="https://zappysys.com/blog/wp-content/uploads/2016/01/create-workday-soap-request-using-soapui-api-xml-body.png" alt="Create SOAP Request Body from WSDL (Using SoapUI tool)" width="735" height="451" srcset="https://zappysys.com/blog/wp-content/uploads/2016/01/create-workday-soap-request-using-soapui-api-xml-body.png 735w, https://zappysys.com/blog/wp-content/uploads/2016/01/create-workday-soap-request-using-soapui-api-xml-body-300x184.png 300w" sizes="(max-width: 735px) 100vw, 735px" /></a><p id="caption-attachment-2543" class="wp-caption-text">Create SOAP Request Body from WSDL (Using SoapUI tool)</p></div>
<p>&nbsp;</p>
<h3>Creating SSIS Connection for Workday SOAP API call using WSS Security</h3>
<div class="content_block" id="custom_post_widget-2536"><p>To create new connection for workday perform the following steps.</p>
<ol>
<li>Two ways you can create HTTP connection for workday<br />
<strong>First approach:</strong> Right click in the connection managers panel and click &#8220;New Connection&#8230;&#8221; and Select <strong>ZS-HTTP</strong> connection from the connection type list and click OK.<br />
<strong>&#8212; OR &#8212;</strong><br />
<strong>Second approach:</strong> If you are already on <a href="https://zappysys.com/products/ssis-powerpack/ssis-xml-source/" target="_blank" rel="noopener">SSIS XML Source</a> or <a href="https://zappysys.com/products/ssis-powerpack/ssis-rest-api-web-service-task/" target="_blank" rel="noopener">SSIS REST API TASK</a> or <a href="https://zappysys.com/products/ssis-powerpack/ssis-web-api-destination-connector/" target="_blank" rel="noopener">SSIS Web API Destination</a> UI then click [New] next to the Connection Dropdown.</li>
<li>Once HTTP Connection UI is visible configure following way.
<ol>
<li>Enter API URL for Workday (Make sure you don&#8217;t enter WSDL URL <a href="https://community.workday.com/sites/default/files/file-hosting/productionapi/index.html" target="_blank" rel="noopener">found here</a> ). Your API URL will be something like below.<br />
<strong>Syntax:</strong> <span class="lang:default highlight:0 decode:true crayon-inline">https://&lt;workday host name&gt;.workday.com/ccx/service/&lt;tenant name&gt;/&lt;service-name&gt;</span><strong><br />
Example:</strong> <span class="lang:default highlight:0 decode:true crayon-inline">https://wd1-impl-services1.workday.com/ccx/service/MyTenantID/Human_Resources</span></li>
<li>Select credential type as SOAP WSS (This setting is only found in <strong>v2.6.4</strong> or Higher)</li>
<li>Enter your workday userid and password</li>
<li>For WSS password type setting you leave it default (Not set) or change to PasswordHash for more secure communication.</li>
<li>Click OK to save.</li>
</ol>
</li>
</ol>
<div id="attachment_2537" style="width: 793px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/01/ssis-soap-webservice-connection-workday-api-wss-security.png"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-2537" class="size-full wp-image-2537" src="https://zappysys.com/blog/wp-content/uploads/2018/01/ssis-soap-webservice-connection-workday-api-wss-security.png" alt="SSIS Workday Integration - Create New SAOP Service Connection for Workday API Service (SOAP WSS)" width="783" height="635" srcset="https://zappysys.com/blog/wp-content/uploads/2018/01/ssis-soap-webservice-connection-workday-api-wss-security.png 783w, https://zappysys.com/blog/wp-content/uploads/2018/01/ssis-soap-webservice-connection-workday-api-wss-security-300x243.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/01/ssis-soap-webservice-connection-workday-api-wss-security-768x623.png 768w" sizes="(max-width: 783px) 100vw, 783px" /></a><p id="caption-attachment-2537" class="wp-caption-text">SSIS Workday Integration &#8211; Create New SOAP Service Connection for Workday API Service (SOAP WSS)</p></div>
<p>&nbsp;</p>
</div>
<h3>Calling Workday sample API using SSIS REST API Task</h3>
<p>Here is how you can call any Workday API action from control flow using <a href="https://zappysys.com/products/ssis-powerpack/ssis-rest-api-web-service-task/" target="_blank" rel="noopener">SSIS REST API TASK</a>. Below is simple way to execute API in SSIS but if you need to parse API response into rows and column then check next section on how to use <a href="https://zappysys.com/products/ssis-powerpack/ssis-xml-source/" target="_blank" rel="noopener">SSIS XML Source</a></p>
<p>Configure following settings</p>
<ol>
<li>Select URL Access Mode to <strong>URL from Connection</strong></li>
<li>Select HTTP Connection created in the previous section</li>
<li>Change Request Method to <strong>POST</strong></li>
<li>Change Content Type to XML (<strong>text/xml;charset=UTF-8</strong>)</li>
<li>Enter SOAP Body (Obtained in the previous section <a href="https://zappysys.com/blog/calling-soap-web-service-in-ssis-xml-source/" target="_blank" rel="noopener">using SoapUI</a> )</li>
<li>Click Raw Edit above Headers grid. Enter below string<br />
<pre class="crayon-plain-tag">SOAPAction: ""</pre>
</li>
<li>Click Test Request / Response. You should see Response data.</li>
</ol>
<div id="attachment_2544" style="width: 729px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2016/01/calling-workday-api-using-ssis.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2544" class="size-full wp-image-2544" src="https://zappysys.com/blog/wp-content/uploads/2016/01/calling-workday-api-using-ssis.png" alt="Calling workday API using SSIS REST API Task" width="719" height="511" srcset="https://zappysys.com/blog/wp-content/uploads/2016/01/calling-workday-api-using-ssis.png 719w, https://zappysys.com/blog/wp-content/uploads/2016/01/calling-workday-api-using-ssis-300x213.png 300w" sizes="(max-width: 719px) 100vw, 719px" /></a><p id="caption-attachment-2544" class="wp-caption-text">Calling workday API using SSIS REST API Task</p></div>
<p>&nbsp;</p>
<h3>Write workday data using SSIS XML Task (Import from SQL Server to Workday)</h3>
<p>Check this article to learn <a href="https://zappysys.com/blog/load-sql-server-data-workday-using-ssis-soap-api/" target="_blank" rel="noopener">how to load sql server data data to workday</a></p>
<h3>Reading Workday data using SSIS XML Task (Export from workday to SQL Server)</h3>
<p>In this section we will not use Here are high level steps.</p>
<ol>
<li>Drag Data Flow Task from SSIS Toolbox</li>
<li>Drag <a href="//zappysys.com/products/ssis-powerpack/ssis-xml-source/" target="_blank" rel="noopener">SSIS XML Source </a> from the toolbox.</li>
<li>Enter the API URL (Do not enter WSDL URL)<br />
<strong>Example URL</strong> =&gt; https://<strong>wd5-impl-services1</strong>.workday.com/ccx/service/<strong>{{tenant}}</strong>/Human_Resources</li>
<li>Select HTTP Connection created in the previous section</li>
<li>Check Use Credentials Option and Select HTTP connection created in the previous section</li>
<li>Change Request Method to <strong>POST</strong></li>
<li>Change Content Type to XML (<strong>text/xml;charset=UTF-8</strong>)</li>
<li>Enter SOAP Body (Obtained in the previous section <a href="https://zappysys.com/blog/calling-soap-web-service-in-ssis-xml-source/" target="_blank" rel="noopener">using SoapUI</a> )</li>
<li>Click Raw Edit above Headers grid. Enter below string<br />
<pre class="crayon-plain-tag">SOAPAction: ""</pre>
</li>
<li>Click Preview to see the data</li>
<li>Click OK to save the UI</li>
<li>Now you can connect your XML Source to any target such as OLEDB Destination (SQL Server Table)</li>
</ol>
<p>Here is the example screenshot &#8230;</p>
<div id="attachment_2545" style="width: 954px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-get-data-from-workday-soap-api-call-xml-web-service.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2545" class="size-full wp-image-2545" src="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-get-data-from-workday-soap-api-call-xml-web-service.png" alt="" width="944" height="692" srcset="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-get-data-from-workday-soap-api-call-xml-web-service.png 944w, https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-get-data-from-workday-soap-api-call-xml-web-service-300x220.png 300w, https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-get-data-from-workday-soap-api-call-xml-web-service-768x563.png 768w" sizes="(max-width: 944px) 100vw, 944px" /></a><p id="caption-attachment-2545" class="wp-caption-text">Get data from WorkDay Web Service (Call XML SOAP API in SSIS)</p></div>
<h3>Workday API Pagination &#8211; Retrieve more than 100 rows</h3>
<p>By default Workday API will return only 100 records unless you specify Page / Count in <a href="https://community.workday.com/sites/default/files/file-hosting/productionapi/Human_Resources/v17/Get_Workers.html#Response_FilterType" target="_blank" rel="noopener">Response_Filter</a> . Regardless it will only send you 999 maximum rows. To fetch more records after first page you have to setup pagination in XML Source as below. You will need latest version to use this feature (version 2.7.8 or higher).</p>
<div id="attachment_5054" style="width: 942px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-pagination-settings-1.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5054" class="size-full wp-image-5054" src="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-pagination-settings-1.png" alt="Workday SOAP API Pagination Settings in SSIS XML Source" width="932" height="553" srcset="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-pagination-settings-1.png 932w, https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-pagination-settings-1-300x178.png 300w, https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-pagination-settings-1-768x456.png 768w" sizes="(max-width: 932px) 100vw, 932px" /></a><p id="caption-attachment-5054" class="wp-caption-text">Workday SOAP API Pagination Settings in SSIS XML Source</p></div>
<p>And one more thing you have change in Body as below. Pass Response_Filter parameter as below. See how we used <strong>&lt;%page%&gt;</strong> placeholder. You can use tool like <a href="https://zappysys.com/blog/how-to-use-fiddler-to-analyze-http-web-requests/" target="_blank" rel="noopener">fiddler</a> to see multiple response at runtime. Run package and check fiddler.</p>
<div id="attachment_5055" style="width: 804px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-pagination-settings-2-body-response-filter.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5055" class="size-full wp-image-5055" src="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-pagination-settings-2-body-response-filter.png" alt="Workday API Pagination - Supply Response_Filter (Page Size and Current Page Number)" width="794" height="377" srcset="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-pagination-settings-2-body-response-filter.png 794w, https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-pagination-settings-2-body-response-filter-300x142.png 300w, https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-pagination-settings-2-body-response-filter-768x365.png 768w" sizes="(max-width: 794px) 100vw, 794px" /></a><p id="caption-attachment-5055" class="wp-caption-text">Workday API Pagination &#8211; Supply Response_Filter (Page Size and Current Page Number)</p></div>
<h3></h3>
<h2>Sample SOAP Request for Workday API Call</h2>
<p>Here is sample request. You have to fill out placeholders (e.g. xxxxxxxx ) when you submit it</p>
<p>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.</p><pre class="crayon-plain-tag">&lt;env:Envelope
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&gt;
    &lt;env:Header&gt;
        &lt;wd:Workday_Common_Header xmlns:wd="urn:com.workday/bsvc"&gt;
            &lt;wd:Include_Reference_Descriptors_In_Response&gt;true&lt;/wd:Include_Reference_Descriptors_In_Response&gt;
        &lt;/wd:Workday_Common_Header&gt;
    &lt;/env:Header&gt;
    &lt;env:Body&gt;
        &lt;wd:Put_Job_Profile_Request xmlns:wd="urn:com.workday/bsvc" wd:Add_Only="false" wd:version="v26.0"&gt;
            &lt;wd:Job_Profile_Reference&gt;
                &lt;wd:ID wd:type="Job_Profile_ID"&gt;{2}&lt;/wd:ID&gt;
            &lt;/wd:Job_Profile_Reference&gt;
            &lt;wd:Job_Profile_Data&gt;
                &lt;wd:Job_Code&gt;xxxxxxxx&lt;/wd:Job_Code&gt;
                &lt;wd:Effective_Date&gt;xxxxxxxx&lt;/wd:Effective_Date&gt;
                &lt;wd:Job_Classification_Data wd:Delete="false"&gt;
                    &lt;wd:Job_Classification_Reference&gt;
                        &lt;wd:ID wd:type="Job_Classification_Reference_ID"&gt;xxxxxxxx&lt;/wd:ID&gt;
                    &lt;/wd:Job_Classification_Reference&gt;
                &lt;/wd:Job_Classification_Data&gt;
            &lt;/wd:Job_Profile_Data&gt;
        &lt;/wd:Put_Job_Profile_Request&gt;
    &lt;/env:Body&gt;
&lt;/env:Envelope&gt;</pre><p>
<h3>Video Tutorial (See Part#4) &#8211; Create XML and POST data to SOAP Web Service or REST API</h3>
<p>Now lets look at examples of creating XML from multiple data sources and POST XML request to SOAP Web Service URL or any other XML Based REST API URL. This video has 5 parts to cover full length tutorial but if you want to fast forward to see XML Generator Transform and Web API Destination then see part#4.<br />
<a href="https://zappysys.com/blog/get-data-from-workday-in-ssis-using-soap-or-rest-api/"><img decoding="async" src="https://zappysys.com/blog/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FTjTexGzBF5g%2Fhqdefault.jpg" alt="YouTube Video"></a><br /><br /></p>
<h2>Manually Passing WSS Credentials (UserID / Password)</h2>
<p>When you use HTTP connection using SOAP Setting you dont have to worry about generating WSS Security Header. But for some reason you have to do that manually not to worry. See below section to add UserID / Password Header manually. Again Skip this section if you are using SSIS HTTP Connection along with SOAP WSS Option.</p>
<p>To generate correct Credentials Header in SOAP Request use tool like SoapUI. <a href="//zappysys.com/blog/calling-soap-web-service-in-ssis-xml-source/" target="_blank" rel="noopener">Check this article</a> to learn more how to generate WSS Security header.</p>
<ol>
<li>Assuming that you already gone through<a href="//zappysys.com/blog/calling-soap-web-service-in-ssis-xml-source/"> this article to learn how to use SoapUI</a>.</li>
<li>Open SoapUI. Click on the request you want to generate SOAP Request Code.</li>
<li>Enter username and password in request properties grid
<div class="mceTemp"></div>
</li>
<li>Now right click in the XML Request Pane and click &#8220;Add WSS UserName Token&#8221;
<div id="attachment_2326" style="width: 1002px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-soapui-generate-request-body-with-credential-userid-password.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2326" class="size-full wp-image-2326" src="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-soapui-generate-request-body-with-credential-userid-password.png" alt="SoapUI Example - Adding credentials to Workday API call." width="992" height="461" srcset="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-soapui-generate-request-body-with-credential-userid-password.png 992w, https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-soapui-generate-request-body-with-credential-userid-password-300x139.png 300w, https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-api-soapui-generate-request-body-with-credential-userid-password-768x357.png 768w" sizes="(max-width: 992px) 100vw, 992px" /></a><p id="caption-attachment-2326" class="wp-caption-text">SoapUI Example &#8211; Adding credentials to Workday API call.</p></div></li>
<li>Select Password Method (e.g. PasswordText or PasswordDigest)
<div id="attachment_2327" style="width: 480px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-soapui-call-insert-passwordtext.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2327" class="size-full wp-image-2327" src="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-soapui-call-insert-passwordtext.png" alt="SoapUI- Using PasswordDigest Method to insert userid / password inside Workday SOAP Request Body " width="470" height="324" srcset="https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-soapui-call-insert-passwordtext.png 470w, https://zappysys.com/blog/wp-content/uploads/2016/01/ssis-workday-soapui-call-insert-passwordtext-300x207.png 300w" sizes="(max-width: 470px) 100vw, 470px" /></a><p id="caption-attachment-2327" class="wp-caption-text">SoapUI- Using PasswordDigest Method to insert userid / password inside Workday SOAP Request Body</p></div></li>
<li>Once you done. You may see new tags inserted under &lt;soapenv:header&gt; tag (For example see below section). You can now use the SOAP Request as your Body in your SSIS XML Source, REST API Task or Web API Destination.</li>
</ol>
<h3>Passing WSS Credentials in SOAP Header &#8211; PasswordText Method</h3>
<p>If you select PasswordText Method then your SOAP code may look like below.</p><pre class="crayon-plain-tag">&lt;soapenv:Envelope xmlns:bsvc="urn:com.workday/bsvc" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"&gt;
   &lt;soapenv:Header&gt;
      &lt;wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"&gt;
         &lt;wsse:UsernameToken wsu:Id="UsernameToken-BF23D830F28697AA1614674076904673"&gt;
            &lt;wsse:Username&gt;myuser1&lt;/wsse:Username&gt;
            &lt;wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"&gt;mypass123&lt;/wsse:Password&gt;
         &lt;/wsse:UsernameToken&gt;
      &lt;/wsse:Security&gt;
   &lt;/soapenv:Header&gt;
   &lt;soapenv:Body&gt;
      &lt;bsvc:Get_Account_Sets_without_Dependencies_Request&gt;
         &lt;!--You have a CHOICE of the next 2 items at this level--&gt;
      &lt;/bsvc:Get_Account_Sets_without_Dependencies_Request&gt;
   &lt;/soapenv:Body&gt;
&lt;/soapenv:Envelope&gt;</pre><p>
<h3>Passing WSS Credentials in SOAP Header &#8211; PasswordDigest Method</h3>
<p>If you select PasswordDigest Method then your SOAP code may look like below. This is for example purpose to give you idea. Technically hardcoding Hash which is signed by Creation Timestamp is useless. Always use SSIS HTTP connection Manager if you like to use this method.</p><pre class="crayon-plain-tag">&lt;soapenv:Envelope xmlns:bsvc="urn:com.workday/bsvc" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"&gt;
   &lt;soapenv:Header&gt;
      &lt;wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"&gt;
         &lt;wsse:UsernameToken wsu:Id="UsernameToken-BF23D830F28697AA1614674078408854"&gt;
            &lt;wsse:Username&gt;myuser1&lt;/wsse:Username&gt;
            &lt;wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest"&gt;ycSUpSwmaNimO+QojCVwjlUDL+E=&lt;/wsse:Password&gt;
            &lt;wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"&gt;tPkEttb09CF39xIW2X/P3Q==&lt;/wsse:Nonce&gt;
            &lt;wsu:Created&gt;2016-07-01T21:17:20.885Z&lt;/wsu:Created&gt;
         &lt;/wsse:UsernameToken&gt;
      &lt;/wsse:Security&gt;
   &lt;/soapenv:Header&gt;
   &lt;soapenv:Body&gt;
      &lt;bsvc:Get_Account_Sets_without_Dependencies_Request&gt;
         &lt;!--You have a CHOICE of the next 2 items at this level--&gt;
      &lt;/bsvc:Get_Account_Sets_without_Dependencies_Request&gt;
   &lt;/soapenv:Body&gt;
&lt;/soapenv:Envelope&gt;</pre><p>
<div class="content_block" id="custom_post_widget-1887"><h3>Truncation related error</h3>
<p style="text-align: justify;">The most common error you may face when you run an SSIS package is truncation error. During the design time only 300 rows are scanned from a source (a file or a REST API call response) to detect datatypes but at runtime, it is likely you will retrieve far more records. So it is possible that you will get longer strings than initially expected. For detailed instructions on how to fix common metadata related errors read an article &#8220;<a href="//zappysys.com/blog/handling-ssis-component-metadata-issues/" target="_blank" rel="noopener">How to handle SSIS errors (truncation, metadata issues)</a>&#8220;.</p>
<h3>Authentication related error</h3>
<p>Another frequent error you may get is an authentication error, which happens when you deploy/copy a package to another machine and run it there. Check <a href="#Deployment_to_Production">the paragraph below</a> to see why it happens and how to solve this problem.</p>
</div>
<p>&nbsp;</p>
<h2>Other Useful connectors for SOAP/XML and JSON REST API</h2>
<p><a href="//zappysys.com/products/ssis-powerpack/ssis-xml-source/" target="_blank" rel="noopener">SSIS XML Source (FILE, SOAP, REST API Connector)</a><br />
<a href="//zappysys.com/products/ssis-powerpack/ssis-json-file-source/">SSIS JSON Source (File, REST Connector)</a></p>
<p>Here are few more useful links on how to Call SOAP API in general:</p>
<p><a href="//zappysys.com/blog/calling-soap-web-service-in-ssis-xml-source/">Calling SOAP Web Service in SSIS (XML Source)</a></p>
<p><a title="Permalink to How to get data from Google AdWords using SSIS" href="//zappysys.com/blog/get-data-from-google-adwords-using-ssis/" rel="bookmark">How to get data from Google AdWords using SSIS</a></p>
<p>Also check this link to learn <a href="http://workdayconsultant.blogspot.com/2014/10/must-know-using-soap-ui.html" target="_blank" rel="noopener">how to hand craft SOAP request</a> to call Workday API.</p>
<h2>Workday XML SOAP API Reference:</h2>
<p><a href="https://community.workday.com/custom/developer/API/index.html" target="_blank" rel="noopener">Workday REST API reference link</a></p>
<h2>Conclusion</h2>
<p>In this article we have learned how to load data from SQL Server to Workday using SSIS ( drag and drop approach without coding). Combination of few ZappySys Components (e.g. Web API Destination, XML Generator ) makes it super simple to call any Web API to load data from one system to API endpoint. <a href="https://zappysys.com/products/ssis-powerpack/">Download SSIS PowerPack</a> to try many other automation scenarios not discussed in this article.</p>
<p>The post <a href="https://zappysys.com/blog/get-data-from-workday-in-ssis-using-soap-or-rest-api/">How to get data from Workday in SSIS using SOAP/REST API</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
