<?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>jdbc Archives | ZappySys Blog</title>
	<atom:link href="https://zappysys.com/blog/tag/jdbc/feed/" rel="self" type="application/rss+xml" />
	<link>https://zappysys.com/blog/tag/jdbc/</link>
	<description>SSIS / ODBC Drivers / API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more</description>
	<lastBuildDate>Thu, 11 Dec 2025 12:34:00 +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>jdbc Archives | ZappySys Blog</title>
	<link>https://zappysys.com/blog/tag/jdbc/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Connect to Infor Compass using JDBC Driver in ODBC Apps (e.g. SQL Server, Power BI, Excel, Informatica)</title>
		<link>https://zappysys.com/blog/connect-infor-compass-jdbc-driver-odbc-apps-power-bi-excel-informatica-sql-server/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Tue, 13 Sep 2022 22:04:31 +0000</pubDate>
				<category><![CDATA[JDBC Bridge Driver]]></category>
		<category><![CDATA[infor]]></category>
		<category><![CDATA[infor datalake]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[odbc]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=9787</guid>

					<description><![CDATA[<p>Introduction In this blog post you will learn how to use Infor Compass JDBC driver in ODBC Apps (i.e. non-JAVA apps) such as Power BI, Excel, Informatica and many more listed here using JDBC-ODBC Bridge Driver. In other words, if you like to use Infor Compass data in your App / Programming language and App [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/connect-infor-compass-jdbc-driver-odbc-apps-power-bi-excel-informatica-sql-server/">Connect to Infor Compass using JDBC Driver in ODBC Apps (e.g. SQL Server, Power BI, Excel, Informatica)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2022/09/Infor_logo-300x300.png"><img decoding="async" class=" wp-image-9795 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2022/09/Infor_logo-300x300.png" alt="" width="139" height="139" srcset="https://zappysys.com/blog/wp-content/uploads/2022/09/Infor_logo-300x300.png 300w, https://zappysys.com/blog/wp-content/uploads/2022/09/Infor_logo-300x300-150x150.png 150w" sizes="(max-width: 139px) 100vw, 139px" /></a>In this blog post you will learn how to use <a href="https://docs.infor.com/inforos/2021.x/en-us/datafabrug/default.html?helpcontent=aky1631199546535.html" target="_blank" rel="noopener">Infor Compass JDBC driver</a> in ODBC Apps (i.e. non-JAVA apps) such as Power BI, Excel, Informatica and <a href="https://zappysys.com/api/integration-hub/jdbc-connector/" target="_blank" rel="noopener">many more listed here</a> using <a href="https://zappysys.com/products/odbc-powerpack/odbc-jdbc-bridge-driver/" target="_blank" rel="noopener">JDBC-ODBC Bridge Driver</a>. In other words, if you like to use Infor Compass data in your App / Programming language and App doesnt support using JDBC Driver Infor Provides then this article is for you. ZappySys has created a Bridge Driver which can translate ODBC calls to JDBC making it possible to call any JDBC driver in non Java Apps (i.e. ODBC Apps) written in languages like C++ / C#  / Python etc.</p>
<p>So lets get started.</p>
<div class="content_block" id="custom_post_widget-9166"><h2>Requirements</h2>
In order to access API data inside your App using ODBC Driver you will need to make sure following requirements are met.
<ol>
 	<li>Download and Install <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> (This includes XML / JSON / REST API and few other drivers for SQL Server and ODBC connectivity in tools like Excel, Power BI, SSRS)</li>
</ol></div>
<h2>Download Infor Compass JDBC Driver and ionapi file</h2>
<p>Check below links to download and configure Infor Compass JDBC.</p>
<ol>
<li><a href="https://docs.infor.com/inforos/2021.x/en-us/datafabrug/default.html?helpcontent=aky1631199546535.html">Download Infor Compass JDBC Driver (*.jar file)</a></li>
<li><a href="https://docs.infor.com/inforos/2021.x/en-us/datafabrug/default.html?helpcontent=daa1631199546835.html">Extract Driver</a> files to local folder</li>
<li><a href="https://docs.infor.com/inforos/2021.x/en-us/datafabrug/default.html?helpcontent=qxg1631199547147.html">Download and Configure *.ionapi file</a> &#8211; <strong>Infor Compass JDBC Driver.ionapi</strong> file (Placed in same directory where JDBC driver is saved)</li>
</ol>
<h2>Setup JDK (Java Runtime)</h2>
<p>Before you start using ZappySys JDBC Bridge Driver, we need to install JAVA Runtime (JRE) or Java Development Kit (JDK).</p>
<p>We recommend installing <strong>JDK21 or higher</strong> (other JRE / JDK version(s) might work too).</p>
<p>There are several ways to get Java Runtime Installer, but we recommend from following link. Skip below steps if you have JAVA Runtime already installed.</p>
<ol>
<li>Download JDK 21 (i.e. Amazon Corrento OpenJDK distribution). <a href="https://docs.aws.amazon.com/corretto/latest/corretto-21-ug/downloads-list.html" target="_blank" rel="noopener">Listed here</a><br />
<strong>Direct Download Link</strong>:  <a href="https://corretto.aws/downloads/latest/amazon-corretto-21-x64-windows-jdk.msi" target="_blank" rel="noopener noreferrer">amazon-corretto-21-x64-windows-jdk.msi</a></li>
<li>Run the downloaded msi installer file</li>
<li>After it&#8217;s installed, you can confirm Java version by running the following command line. It will show<br />
<pre class="crayon-plain-tag">java.exe -version</pre>
<strong>Sample Output</strong><br />
<pre class="crayon-plain-tag">openjdk version "21.0.7" 2025-04-15 LTS
OpenJDK Runtime Environment Temurin-21.0.7+6 (build 21.0.7+6-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.7+6 (build 21.0.7+6-LTS, mixed mode, sharing)</pre>
</li>
</ol>
<p>&nbsp;</p>
<h2>Download Infor JDBC Driver / Generate ionapi Credentials File</h2>
<p>To access infor Data using their official JDBC Driver you will need to do 2 things</p>
<ol>
<li>Download Infor JDBC Driver locally</li>
<li>Create ionapi file locally</li>
</ol>
<p><a href="https://docs.infor.com/inforos/2021.x/en-us/datafabrug/default.html?helpcontent=qxg1631199547147.html" target="_blank" rel="noopener">Read this link</a> for more information</p>
<p>Here is the video Tutorial</p>
<a href="https://zappysys.com/blog/connect-infor-compass-jdbc-driver-odbc-apps-power-bi-excel-informatica-sql-server/"><img decoding="async" src="https://zappysys.com/blog/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FyipG8w6qQPg%2Fhqdefault.jpg" alt="YouTube Video"></a><br /><br /></p>
<p>&nbsp;</p>
<h2>Create ODBC DSN for Infor Compass JDBC Driver</h2>
<p>In this section, you will learn <i>how to Configure ODBC DSN</i>. Later on, this DSN can be used to use ZappySys Driver. ODBC DSN can be stored at Machine Level (for all users) or the Current User Level. In this case, we are going to load data into Microsoft Excel from PostgreSQL Storage using ZappySys JDBC Bridge ODBC Driver.</p>
<p>&nbsp;</p>
<ol>
<li>Type <strong>odbcad32.exe</strong> in your search box and launch the DSN Config utility.<br />
<img decoding="async" class="figureimage" src="https://zappysys.com/blog/wp-content/uploads/2018/03/odbc-data-source-64-bits.png" /></li>
<li>If you want access for yourself then stay on User DSN Tab. If you want to grant access to other users, then go to the System DSN tab. For <a href="https://zappysys.com/onlinehelp/odbc-powerpack/scr/odbc-integration-programming-tsql.htm">SQL Server Integration</a> go to the System Tab and add a new System DSN rather than User DSN. Click the New button.<br />
<img decoding="async" class="figureimage" title="ZappySys ODBC Driver - Open UI" src="https://zappysys.com/onlinehelp/odbc-powerpack/scr/images/zappysys-odbc-driver-open-ui.png" alt="ZappySys ODBC Driver - Open UI" /></li>
<li>From the Driver list Select ZappySys ODBC Driver. For this example, select [ZappySys JDBC Bridge Driver].<br />
<img decoding="async" class="figureimage" title="ZappySys ODBC Driver - Create JDBC Bridge Driver" src="https://zappysys.com/onlinehelp/odbc-powerpack/scr/images/jdbc-driver/jdbc-bridge-driver-create.png" alt="ZappySys ODBC Driver - Create JDBC Bridge Driver" /></li>
</ol>
<p>&nbsp;</p>
<h2>Configure ODBC DSN for Infor Compass Connectivity</h2>
<p>Once you downloaded / extracted JDBC (*.jar) and *.ionapi files and saved them to the local disk you can configure ZappySys JDBC Bridge Driver like the below</p>
<ol>
<li>Create a folder e.g. C:\Infor_Datalake</li>
<li>Extract jdbc driver files in that folder, keep ionapi file in the same folder too (v1.7 will look ionapi file under this folder)</li>
<li>Make sure do not rename <strong>ionapi</strong> file. It must be named as &#8220;<strong>Infor Compass JDBC Driver.ionapi</strong>&#8221;<br />
<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;">
If you are getting this error (<a href="https://community.zappysys.com/t/the-infor-compass-jdbc-driver-ionapi-file-is-not-found-infor-data-lake-error/142">Infor Compass JDBC Driver.ionapi file is not found</a>) then we suggest you copy ionapi file in the below locations too. If you are not planning to use <a href="https://zappysys.com/api/integration-hub/jdbc-connector/sql-server" target="_blank" rel="noopener">Data Gateway / Linked Server</a> then you can skip ionapi file copy to 3rd location (i.e. <b>ZappySys.TdsServer.WindowsService</b> folder).<br />
<pre class="crayon-plain-tag">C:\Program Files (x86)\ZappySys\ZappySys ODBC PowerPack\JdbcBridgeDriverX64
C:\Program Files (x86)\ZappySys\ZappySys ODBC PowerPack\JdbcBridgeDriverX86
C:\Program Files (x86)\ZappySys\ZappySys ODBC PowerPack\ZappySys.TdsServer.WindowsService</pre>
</div></div></li>
<li>Open ODBC DataSource UI by double clicking the DSN (you created in the previous section).</li>
<li>Enter JDBC Connection String as per this format<br />
<pre class="crayon-plain-tag">jdbc:infordatalake://TENANTNNAME</pre>
</li>
<li>Enter Driver class (Optional).<br />
<pre class="crayon-plain-tag">com.infor.idl.jdbc.Driver</pre>
</li>
<li>Enter User ID and Password is optional so <strong>keep it blank</strong> unless required by driver. Click <strong>Test Connection</strong>
<div id="attachment_9788" style="width: 578px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2022/09/connect-infor-compass-jdbc-odbc-bridge-driver.png"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-9788" class="wp-image-9788 size-full" src="https://zappysys.com/blog/wp-content/uploads/2022/09/connect-infor-compass-jdbc-odbc-bridge-driver.png" alt="Using Infor Compass JDBC Driver in ODBC Apps via ZappySys JDBC Bridge Driver " width="568" height="546" srcset="https://zappysys.com/blog/wp-content/uploads/2022/09/connect-infor-compass-jdbc-odbc-bridge-driver.png 568w, https://zappysys.com/blog/wp-content/uploads/2022/09/connect-infor-compass-jdbc-odbc-bridge-driver-300x288.png 300w" sizes="(max-width: 568px) 100vw, 568px" /></a><p id="caption-attachment-9788" class="wp-caption-text">Using Infor Compass JDBC Driver in ODBC Apps via ZappySys JDBC Bridge Driver</p></div></li>
<li>Now you can go to Preview Tab and select Table from the dropdown and write query to preview data</li>
</ol>
<h2>Video Tutorial &#8211; ODBC-JDBC Bridge Driver</h2>
<a href="https://zappysys.com/blog/connect-infor-compass-jdbc-driver-odbc-apps-power-bi-excel-informatica-sql-server/"><img decoding="async" src="https://zappysys.com/blog/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FBEJ1HbBZqxY%2Fhqdefault.jpg" alt="YouTube Video"></a><br /><br /></p>
<p>&nbsp;</p>
<h2>Connect Infor Compass Datalake in SQL Server (Linked Server)</h2>
<p>So in our previous section, we saw how to connect using ODBC Driver but if you like to access Infor Datalake data in SQL Server then you have to use the Data gateway approach. <a href="https://zappysys.com/api/integration-hub/jdbc-connector/sql-server" target="_blank" rel="noopener">Click here</a> to learn more.</p>
<p>In Data Gateway Driver UI is pretty much the same as ODBC UI except few differences. You also need to configure the Linked server which requires extra steps. The above link is for a generic JDBC Driver but follow Infor Datalake JDBC-specific steps mentioned in the ODBC setup section in this article.</p>
<h2>Troubleshooting Known Errors</h2>
<p>Here in this section, we will discuss some known errors and its workaround.</p>
<h3>The Infor Compass JDBC Driver.ionapi file is not found</h3>
<p>If you get this error you can review <a href="https://community.zappysys.com/t/the-infor-compass-jdbc-driver-ionapi-file-is-not-found-infor-data-lake-error/142">this solution</a></p>
<h3><span class="hljs-selector-tag">Data</span> <span class="hljs-selector-tag">Lake</span> <span class="hljs-selector-tag">is</span> <span class="hljs-selector-tag">not</span> <span class="hljs-selector-tag">available /  Unable to verify trust for server certificate chain</span></h3>
<p>If you get the following error then <a href="https://community.zappysys.com/t/how-to-fix-jbr-error-java-sql-sqlexception-data-lake-is-not-available-unable-to-verify-trust-for-server-certificate-chain-cn-ionapi-inforcloudsuite-com/101">check this link</a> for possible workarounds</p><pre class="crayon-plain-tag">JBR error: java.sql.SQLException: <strong>Data Lake is not available</strong>

at com.infor.idl.jdbc.Driver.connect(Driver.java:422) 
at DbConnection.Init(DbConnection.java:45) 

.......... 
.......... 
<strong>Unable to verify trust for server certificate chain</strong> [CN=mingle-ionapi.inforcloudsuite.com, CN=pa-trusted-ca.noble.loc, CN=noble-SUBCA-CA, DC=noble, DC=loc, CN=ROOTCA-CA, CN=ROOTCA-CA] .......... at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559) 
.......... 
..........</pre><p>
<h3>Test Connection Hangs</h3>
<p>This happens if you have not installed the latest Java version (i.e. Java 21 or higher) and you are using the latest JDBC, which doesn&#8217;t support Java8 (i.e. infor-compass-jdbc-2025.06.05.jar)</p>
<p>To fix this issue, uninstall the  older version of Java and install the new Java (e.g. v21 or higher) <a href="https://corretto.aws/downloads/latest/amazon-corretto-21-x64-windows-jdk.msi">from here</a></p>
<h2>Using Infor Compass ODBC-JDBC connection in various apps (e.g. Power BI, Excel, Informatica, SQL Server)</h2>
<p>Once you create ODBC DSN you are ready to test that in any ODBC-compliant apps <a href="https://zappysys.com/api/integration-hub/jdbc-connector/" target="_blank" rel="noopener">listed here</a></p>
<p>If your app is not listed in the above link, then no worries just find the Option to connect to ODBC in your App and use DSN we created in an earlier section.</p>
<div class="content_block" id="custom_post_widget-7051">ZappySys ODBC Drivers built using ODBC standard which is widely adopted by industry for a long time. Which mean the majority of BI Tools / Database Engines / ETL Tools already there will support native / 3rd party ODBC Drivers. Below is the small list of most popular tools / programming languages our Drivers support. If your tool / programming language doesn't appear in the below list, which means we have not documented use case but as long as your tool supports ODBC Standard, our drivers should work fine.

&nbsp;

<img loading="lazy" decoding="async" class="" src="//zappysys.com/images/odbc-powerpack/odbc-powerpack-integration.jpg" alt="ZappySys ODBC Drivers for REST API, JSON, XML - Integrate with Power BI, Tableau, QlikView, QlikSense, Informatica PowerCenter, Excel, SQL Server, SSIS, SSAS, SSRS, Visual Studio / WinForm / WCF, Python, C#, VB.net, PHP. PowerShell " width="750" height="372" />
<table style="valign: top;">
<tbody>
<tr>
<td>
<p style="text-align: center;"><strong>BI / Reporting Tools
Integration</strong></p>
</td>
<td style="text-align: center;"><strong>ETL Tools
Integration
</strong></td>
<td style="text-align: center;"><strong>Programming Languages</strong>
<strong>Integration</strong></td>
</tr>
<tr>
<td>
<ul>
 	<li><a href="https://zappysys.com/blog/howto-import-json-rest-api-power-bi/" target="_blank" rel="noopener">Microsoft Power BI</a></li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-tableau-read-json-soap-xml-csv/">Tableau</a></li>
 	<li><a href="https://zappysys.com/blog/read-rest-api-using-ssrs-reports-call-json-xml-web-service/" target="_blank" rel="noopener">SSRS (SQL Reporting Services)</a></li>
 	<li><a href="https://zappysys.com/blog/qlik-rest-connector-examples-read-json-xml-api/" target="_blank" rel="noopener">QlikView /Qlik Sense</a></li>
 	<li><a href="https://zappysys.com/blog/call-rest-api-in-microstrategy-json-soap-xml/" target="_blank" rel="noopener">MicroStrategy</a></li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-google-sheet-call-appscript-load-json-soap-xml-csv/" target="_blank" rel="noopener">Google Sheet</a></li>
 	<li><a href="https://zappysys.com/blog/import-json-excel-load-file-rest-api/" target="_blank" rel="noopener">Microsoft Excel</a></li>
 	<li><a href="https://zappysys.com/api/integration-hub/rest-api-connector/access?context=connector" target="_blank" rel="noopener">Microsoft Access</a></li>
 	<li>Oracle OBIEE</li>
 	<li>Many more (not in this list).....</li>
</ul>
</td>
<td>
<ul>
 	<li><a href="https://zappysys.com/blog/read-json-informatica-import-rest-api-json-file/" target="_blank" rel="noopener">Informatica PowerCenter</a> (Windows)</li>
 	<li>Informatica Cloud</li>
 	<li>SSIS (SQL Integration Services)</li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-json-sql-server/" target="_blank" rel="noopener">SQL Server</a></li>
 	<li><a href="https://zappysys.com/blog/read-write-rest-api-data-in-talend-json-xml-soap/" target="_blank" rel="noopener">Talend Data Studio</a></li>
 	<li><a href="https://zappysys.com/blog/pentaho-read-rest-api-in-pentaho/" target="_blank" rel="noopener">Pentaho Kettle</a></li>
 	<li>Oracle OBIEE</li>
 	<li>Many more (not in this list).....</li>
</ul>
</td>
<td>
<ul>
 	<li>Visual Studio</li>
 	<li><a href="https://zappysys.com/blog/calling-rest-api-in-c/" target="_blank" rel="noopener">C#</a></li>
 	<li>C++</li>
 	<li><a href="https://zappysys.com/blog/connect-java-to-rest-api-json-soap-xml/" target="_blank" rel="noopener">JAVA</a></li>
 	<li><a href="https://zappysys.com/blog/set-rest-python-client/" target="_blank" rel="noopener">Python</a></li>
 	<li>PHP</li>
 	<li><a href="https://zappysys.com/blog/call-rest-api-powershell-script-export-json-csv/" target="_blank" rel="noopener">PowerShell</a></li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-json-sql-server/" target="_blank" rel="noopener">T-SQL (Using Linked Server)</a></li>
</ul>
</td>
</tr>
</tbody>
</table>
&nbsp;</div>
<h2>Conclusion</h2>
<p>In this post we saw how easy it is to use the Infor Compass JDBC driver in any non-JAVA app in a few steps. <a href="https://zappysys.com/products/odbc-powerpack/odbc-jdbc-bridge-driver/">Click here to download</a> ZappySys JDBC Bridge Driver.</p>
<p>The post <a href="https://zappysys.com/blog/connect-infor-compass-jdbc-driver-odbc-apps-power-bi-excel-informatica-sql-server/">Connect to Infor Compass using JDBC Driver in ODBC Apps (e.g. SQL Server, Power BI, Excel, Informatica)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Read / Write REST API data in Talend (JSON / XML / SOAP)</title>
		<link>https://zappysys.com/blog/read-write-rest-api-data-in-talend-json-xml-soap/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Sat, 12 Jan 2019 20:18:31 +0000</pubDate>
				<category><![CDATA[ETL - Talend]]></category>
		<category><![CDATA[JSON File / REST API Driver]]></category>
		<category><![CDATA[ODBC Gateway]]></category>
		<category><![CDATA[XML File / SOAP API Driver]]></category>
		<category><![CDATA[etl]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[rest api]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[talend]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=6012</guid>

					<description><![CDATA[<p>Introduction In this post we will learn how to read / write REST API data in Talend Open Studio. We will create a simple Talend Job using ZappySys JSON  Driver to read from REST API / JSON Files and load into Target (e.g. File / DB). Techniques listed in this article can be also used to [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/read-write-rest-api-data-in-talend-json-xml-soap/">Read / Write REST API data in Talend (JSON / XML / SOAP)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<div class="su-note"  style="border-color:#e5dd9d;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:#fff7b7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><strong>UPDATE:</strong> Please visit <a href="https://zappysys.com/api/integration-hub/apps/talend-studio">Talend Studio Connectors</a> page in <a href="https://zappysys.com/api/integration-hub">API Integration Hub</a> to find updated articles on various Talend Studio integrations, including integrations with <a href="https://zappysys.com/api/integration-hub/rest-api-connector/talend-studio">REST API</a>, <a href="https://zappysys.com/api/integration-hub/soap-connector/talend-studio">SOAP API</a>, <a href="https://zappysys.com/api/integration-hub/json-file-connector/talend-studio">JSON file</a>, and <a href="https://zappysys.com/api/integration-hub/xml-file-connector/talend-studio">XML file</a>.</div></div>
<p><img loading="lazy" decoding="async" class="wp-image-11136 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-logo-2.png" alt="" width="150" height="151" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-logo-2.png 177w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-logo-2-150x150.png 150w" sizes="(max-width: 150px) 100vw, 150px" />In this post we will learn how to read / write REST API data in Talend Open Studio. We will create a simple Talend Job using <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">ZappySys JSON  Driver</a> to read from REST API / JSON Files and load into Target (e.g. File / DB). Techniques listed in this article can be also used to read from SOAP API / XML Files or CSV Files / API using <a href="https://zappysys.com/products/odbc-powerpack/odbc-xml-soap-api-driver/">XML Driver</a> / <a href="https://zappysys.com/products/odbc-powerpack/odbc-csv-rest-api-driver/">CSV Driver</a>.</p>
<p>These drivers support familiar SQL query language. Using SQL you can query virtually any API services just like relational database table. It can flatten nested hierarchy and provide output in rows / columns. Many complex REST API / SOAP API complexity is taken care automatically (e.g. Authentication, Pagination, Security, Error Handling).</p>
<p>So let&#8217;s get started.</p>
<p>&nbsp;</p>
<h2>Requirements</h2>
<ol>
<li>Download and install Talend Open Studio (FREE) <a href="https://www.talend.com/products/data-integration/data-integration-open-studio/" target="_blank" rel="noopener">from here</a>. Skip this step if you already installed.</li>
<li>Download <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> (JSON / XML Drivers)</li>
<li>Get Microsoft <strong>JDBC driver</strong> for <strong>SQL Server</strong> <a href="https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;id=11774">from here</a> (Download <strong>sqljdbc_6.0.8112.200_enu.exe</strong> which is self extracting file you can run and extract to some folder)<br />
After you extract jdbc files, go to sqljdbc_6.0\enu\jre8\ folder rename <strong>sqljdbc42.jar</strong> to  <strong>mssql-jdbc.jar</strong> (name must be this). We will load this file in Talend later in this article.</li>
<li>Basic knowledge about REST API and JSON / XML format.</li>
</ol>
<h2>Configure Data Gateway</h2>
<div class="content_block" id="custom_post_widget-5282">Now let's look at how to configure <a href="https://zappysys.com/products/odbc-powerpack/data-gateway/" target="_blank" rel="noopener">ZappySys Data Gateway</a>. This feature acts as a bridge between Client App and ZappySys Drivers. Using data gateway you can use ZappySys Drivers inside applications / operating systems where ZappySys drivers may not be available directly for some reason (e.g. You don't have access to Server for Installation or System does not support ODBC drivers like JAVA programs). <a href="https://zappysys.com/blog/category/odbc-powerpack/odbc-gateway/">Click here to read more</a> on various use cases of Data Gateway.
<h4><span style="font-size: 14pt;">Configure Data Gateway User / Port</span></h4>
Now let's look at steps to configure Data Gateway after installation. We will also create a sample data source for ODATA API (i.e. JSON based REST API Service).
<ol>
 	<li>Assuming you have installed <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> using default options (Which also enables Data Gateway Service)</li>
 	<li>Search "Gateway" in your start menu and click ZappySys Data Gateway
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png" alt="Open ZappySys Data Gateway" /></a>
<p class="wp-caption-text">Open ZappySys Data Gateway</p>

</div></li>
 	<li>First make sure Gateway Service is running (Verify Start icon is disabled)</li>
 	<li>Also verify Port on General Tab
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc-configure-data-gateway-json-1.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc-configure-data-gateway-json-1.png" alt="Port Number setting on ZappySys Data Gateway" /></a>
<p class="wp-caption-text">Port Number setting on ZappySys Data Gateway</p>

</div></li>
 	<li>Now go to Users tab. <strong>Click Add</strong> icon to add a new user. Check Is admin to give access to all data sources you add in future. If you don't check admin then you have to manually configure user permission for each data source.
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc-configure-data-gateway-json-2.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc-configure-data-gateway-json-2.png" alt="Add Data Gateway User" /></a>
<p class="wp-caption-text">Add Data Gateway User</p>

</div></li>
</ol>
&nbsp;
<h4><span style="font-size: 14pt;">Configure Data Source</span></h4>
<ol>
 	<li>After user is added, go to Data Sources tab. <strong>Click Add</strong> icon to create new data source. Select appropriate driver based on your API / File format. You can choose Generic ODBC option to read data from ODBC DSN or use Native Driver option.
<pre class=""><strong>NOTE:</strong> Whenever possible use native driver option for better performance / security and ease of use.</pre>
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc-configure-data-gateway-json-3.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc-configure-data-gateway-json-3.png" alt="Add Gateway Data Source (Native JSON Driver)" /></a>
<p class="wp-caption-text">Add Gateway Data Source (Native JSON Driver)</p>

</div></li>
 	<li>Click on "Edit" under Data source and configure as per your need (e.g. Url, Connection, Request Method, Content Type, Body, Pagination etc.). For this demo we are going to pick simple JSON REST API which doesn't need any authentication.  Enter following URL.
<pre class="">https://services.odata.org/V3/Northwind/Northwind.svc/Invoices?$format=json</pre>
</li>
 	<li>You can also view response structure and select default hierarchy (i.e. Filter) like below (Select Array Icon) for data extraction.
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc-configure-data-gateway-json-4.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc-configure-data-gateway-json-4.png" alt="Configure JSON API Data source" /></a>
<p class="wp-caption-text">Configure JSON API Data source</p>

</div></li>
</ol>
<h4><span style="font-size: 14pt;">Test SQL Query / Preview Data</span></h4>
<ol>
 	<li>Now go to Preview Tab. You can click Preview button to execute default query
OR
Select Table name from dropdown to generate SQL with column names.
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc-configure-data-gateway-json-5.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc-configure-data-gateway-json-5.png" alt="JSON / REST API Driver Query Preview / Query Examples (Read REST API or JSON Files)" /></a>
<p class="wp-caption-text">JSON / REST API Driver Query Preview / Query Examples (Read REST API or JSON Files)</p>

</div></li>
 	<li>You can also click Query Builder to generate SQL using different options in WITH clause. ANy setting you specify in WITH clause will override UI settings we applied in previous steps.
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc-configure-data-gateway-json-6.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc-configure-data-gateway-json-6.png" alt="Using SQL Query Builder (For Files or REST / SOAP API - JSON / XML / CSV Format)" /></a>
<p class="wp-caption-text">Using SQL Query Builder (For Files or REST / SOAP API - JSON / XML / CSV Format)</p>

</div></li>
 	<li>There is another useful option for code generation. Select your Language and quickly copy code snippet. See below Example of XML Driver Query to call SOAP API.
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc-configure-data-gateway-json-7.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc-configure-data-gateway-json-7.png" alt="Generate Example Code for ZappySys Driver" /></a>
<p class="wp-caption-text">Generate Example Code for ZappySys Driver</p>

</div></li>
 	<li><strong>Click OK</strong> to Close Data Source UI</li>
 	<li>Once data source is tested and configured you can <strong>click Save </strong>button in the Gateway UI toolbar and click <strong>Yes</strong> for <strong>Restart Service</strong>.</li>
</ol>
&nbsp;</div>
<h2>Register MS SQL JDBC driver in Talend</h2>
<p>Now lets register Microsoft JDBC Driver in Talend. This is very important step because MSSQL JDBC driver is used to communicate with ZappySys Data Gateway we configured in previous step.</p>
<p>If you missed steps mentioned in the Requirements section then make sure you first download JDBC driver using below steps.</p>
<p>Get Microsoft <strong>JDBC driver</strong> for <strong>SQL Server</strong> <a href="https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;id=11774">from here</a> (Download <strong>sqljdbc_6.0.8112.200_enu.exe</strong> which is self extracting file you can run and extract to some folder). After you extract jdbc files, go to sqljdbc_6.0\enu\jre8\ folder rename <strong>sqljdbc42.jar</strong> to  <strong>mssql-jdbc.jar</strong> (name must be this).</p>
<p>Now lets go through the steps to register MSSQL jdbc driver in Talend.</p>
<ol>
<li>Open Talend Open Studio</li>
<li>Go to <strong>Windows</strong> &gt; Click <strong><strong>Show View</strong></strong>
<div id="attachment_6038" style="width: 456px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-show-views-menu.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6038" class="size-full wp-image-6038" src="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-show-views-menu.png" alt="Talend - Show View" width="446" height="184" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-show-views-menu.png 446w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-show-views-menu-300x124.png 300w" sizes="(max-width: 446px) 100vw, 446px" /></a><p id="caption-attachment-6038" class="wp-caption-text">Talend &#8211; Show View</p></div></li>
<li>When you see Popup selection under <strong>Talend</strong> &gt; Select <strong><strong><strong>Modules</strong></strong></strong>
<div id="attachment_6037" style="width: 342px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-show-modules-option.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6037" class="size-full wp-image-6037" src="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-show-modules-option.png" alt="Talend - Select Modules Window" width="332" height="399" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-show-modules-option.png 332w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-show-modules-option-250x300.png 250w" sizes="(max-width: 332px) 100vw, 332px" /></a><p id="caption-attachment-6037" class="wp-caption-text">Talend &#8211; Select Modules Window</p></div></li>
<li>When Module window is visible click on Little Jar Icon (Bottle icon) in the toolbar.</li>
<li>Select <strong>mssql-jdbc.jar</strong> file we renamed earlier and load this file.
<div id="attachment_6036" style="width: 870px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-register-jdbc-driver-import-mssql-jar.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6036" class="size-full wp-image-6036" src="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-register-jdbc-driver-import-mssql-jar.png" alt="Talend - Import JAR file / module (Register MS SQL JDBC Driver Example)" width="860" height="348" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-register-jdbc-driver-import-mssql-jar.png 860w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-register-jdbc-driver-import-mssql-jar-300x121.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-register-jdbc-driver-import-mssql-jar-768x311.png 768w" sizes="(max-width: 860px) 100vw, 860px" /></a><p id="caption-attachment-6036" class="wp-caption-text">Talend &#8211; Import JAR file / module (Register MS SQL JDBC Driver Example)</p></div></li>
<li>That&#8217;s it. Now we ready to make API calls / read from JSON / XML in the next section.</li>
</ol>
<h2>Setup Talend REST API Connection (JSON / XML / CSV)</h2>
<p>Now let&#8217;s configure REST API Connection in Talend. To read from JSON / XML Files you can use same steps too. We will use MSSQL JDBC Driver to connect to ZappySys Data Gateway.</p>
<ol>
<li>In Talend Go to Metadata &gt; Db Connections (Right click) &gt; Create Connection
<div id="attachment_6030" style="width: 353px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-create-new-db-connection.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6030" class="size-full wp-image-6030" src="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-create-new-db-connection.png" alt="Talend - Create new DB connection (JSON / REST API Example)" width="343" height="364" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-create-new-db-connection.png 343w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-create-new-db-connection-283x300.png 283w" sizes="(max-width: 343px) 100vw, 343px" /></a><p id="caption-attachment-6030" class="wp-caption-text">Talend &#8211; Create new DB connection (JSON / REST API Example)</p></div></li>
<li>On the connection Wizard specify following attributes.<br />
<strong>DB Version :</strong> Microsoft<br />
<strong>Login :</strong>  username you setup in zappysys data gateway<br />
<strong>Password :</strong>  password of data gateway user<br />
<strong>Server :</strong> machine name or IP where zappysys data gateway is running<br />
<strong>Port :</strong> &lt;default is 5000&gt; Port on which zappysys data gateway is listening<br />
<strong>DataBase :</strong>  Data source name you setup in zappysys data gateway (case-sensitive)</p>
<div id="attachment_6029" style="width: 977px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-connect-json-xml-rest-api-using-zappysys-gateway-ms-jdbc.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6029" class="size-full wp-image-6029" src="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-connect-json-xml-rest-api-using-zappysys-gateway-ms-jdbc.png" alt="Talend - Connect to JSON / REST API using ZappySys Gateway (Use MS SQL JDBC Driver)" width="967" height="716" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-connect-json-xml-rest-api-using-zappysys-gateway-ms-jdbc.png 967w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-connect-json-xml-rest-api-using-zappysys-gateway-ms-jdbc-300x222.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-connect-json-xml-rest-api-using-zappysys-gateway-ms-jdbc-768x569.png 768w" sizes="(max-width: 967px) 100vw, 967px" /></a><p id="caption-attachment-6029" class="wp-caption-text">Talend &#8211; Connect to JSON / REST API using ZappySys Gateway (Use MS SQL JDBC Driver)</p></div></li>
<li>That&#8217;s all we need to do to setup a connection which can be used to read / write REST API data in Talend. In the next section we will see how to create a job to read data from REST API Service using this connection.</li>
</ol>
<p>&nbsp;</p>
<h2>Read from REST API in Talend</h2>
<p>Now let&#8217;s look at how to read data from REST API source or JSON / XML File using the connection we configured in the previous section.</p>
<h3>Configure REST API Source</h3>
<ol>
<li>Create a Talend JOB and double click to open designer</li>
<li>Now drag and drop MSSQL Connection we created for ZappySys Data gateway, drop it on the designer surface. It will popup UI like below.</li>
<li>Select <strong>tDBInput</strong> (Microsoft SQL Server). Remember that we are using MSSQL JDBC Driver to connect to ZappySys Data Gateway for REST API Call. This gateway uses Microsoft TDS Protocol so MSSQL JDBC driver is used to communicate.</li>
<li>Now rename Source to something meaningful (e.g. Read from JSON REST API)</li>
<li>Double click REST Source to configure.</li>
<li>Enter <strong>Query</strong> like below (Make sure to <strong>enter between double quotes</strong>). See below examples to read from URL or File. If you have double quote in SQL then escape using \&#8221; character (e.g. select \&#8221;my col\&#8221; from $ )<strong>Read From REST API Url</strong><br />
<pre class="crayon-plain-tag">"SELECT * FROM value 
WITH (SRC='https://services.odata.org/V3/Northwind/Northwind.svc/Customers?$format=json')"</pre>
<strong>Read from Local File (Wildcard Pattern Search allowed)</strong><br />
<pre class="crayon-plain-tag">"SELECT * FROM value 
WITH (SRC='c:\data\Customers_*.json')"</pre>
</li>
<li>Click on <strong>Guess Schema</strong> button and Click OK to accept detected schema.
<div id="attachment_6028" style="width: 972px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-configure-json-rest-api-source.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6028" class="size-full wp-image-6028" src="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-configure-json-rest-api-source.png" alt="Talend - Configure REST API / JSON Source (Enter SQL Query / Guess Schema)" width="962" height="723" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-configure-json-rest-api-source.png 962w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-configure-json-rest-api-source-300x225.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-configure-json-rest-api-source-768x577.png 768w" sizes="(max-width: 962px) 100vw, 962px" /></a><p id="caption-attachment-6028" class="wp-caption-text">Talend &#8211; Configure REST API / JSON Source (Enter SQL Query / Guess Schema)</p></div></li>
<li>Now we will configure target in the next section.</li>
</ol>
<h3>Configure Target (Delimited File)</h3>
<ol>
<li>Now search for &#8220;FileOut&#8221; in the toolbox (Hit Enter). You will see <strong>tFileOutputDelimited</strong> so just select that for now and drag on the surface.
<div id="attachment_6035" style="width: 828px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-read-json-to-csv-file.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6035" class="size-full wp-image-6035" src="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-read-json-to-csv-file.png" alt="Talend - Add File Output (tFileOutputDelimited)" width="818" height="307" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-read-json-to-csv-file.png 818w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-read-json-to-csv-file-300x113.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-read-json-to-csv-file-768x288.png 768w" sizes="(max-width: 818px) 100vw, 818px" /></a><p id="caption-attachment-6035" class="wp-caption-text">Talend &#8211; Add File Output (tFileOutputDelimited)</p></div></li>
<li>Double click it to configure.</li>
<li>Enter correct file path (e.g. &#8220;C:/Talend/workspace/rest-api-output.csv&#8221; )</li>
<li>On Advanced Tab you can configure some additional settings (e.g. Throw an error if file already exists)</li>
</ol>
<h3>Connect and Run</h3>
<ol>
<li>Once you have configured Source and Target its time to connect them</li>
<li>Drag Source Port to Target to connect like below.
<div id="attachment_6033" style="width: 539px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-load-json-rest-api-data-to-csv-file.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6033" class="size-full wp-image-6033" src="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-load-json-rest-api-data-to-csv-file.png" alt="Talend - Connect REST / JSON Source to File Target" width="529" height="176" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-load-json-rest-api-data-to-csv-file.png 529w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-load-json-rest-api-data-to-csv-file-300x100.png 300w" sizes="(max-width: 529px) 100vw, 529px" /></a><p id="caption-attachment-6033" class="wp-caption-text">Talend &#8211; Connect REST / JSON Source to File Target</p></div></li>
<li>Run the job
<div id="attachment_6034" style="width: 863px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-read-json-rest-api-import-into-file-table.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6034" class="wp-image-6034 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-read-json-rest-api-import-into-file-table.png" alt="Run Talend Job - Loading REST API data into File (Read JSON / XML / CSV)" width="853" height="510" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-read-json-rest-api-import-into-file-table.png 853w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-read-json-rest-api-import-into-file-table-300x179.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-read-json-rest-api-import-into-file-table-768x459.png 768w" sizes="(max-width: 853px) 100vw, 853px" /></a><p id="caption-attachment-6034" class="wp-caption-text">Run Talend Job &#8211; Loading REST API data into File (Read JSON / XML / CSV)</p></div></li>
<li>That&#8217;s it. So in few clicks you loaded data from REST API to File in Talend Open Studio.</li>
</ol>
<h2>Write / Send data to REST API (POST Example)</h2>
<p>There will be a time when you want to POST data to REST API service. Let&#8217;s check how to write POST query to submit data to REST API.</p>
<p>Just like how we did Read query in previous example, we can set POST Body in the SQL Query to send data. Use query like below and click Guess Schema button. If Blank Filter gives you no data error then make sure you remove Filter on Data Gateway Data source. (Notice we used \&#8221; to escape double quote inside query )</p><pre class="crayon-plain-tag">"SELECT * FROM _root_
WITH (
 METHOD='POST'
,HEADER='Content-Type: text/plain || first-header: AAA || second-header: BBB'
,SRC='http://httpbin.org/post'
,BODY='{id:1,notes:\"Some notes\"}'
,FILTER=''
)
"</pre><p>
<div id="attachment_6040" style="width: 848px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-post-data-to-rest-api-url.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6040" class="size-full wp-image-6040" src="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-post-data-to-rest-api-url.png" alt="Talend - POST data to REST API URL" width="838" height="641" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/talend-post-data-to-rest-api-url.png 838w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-post-data-to-rest-api-url-300x229.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/01/talend-post-data-to-rest-api-url-768x587.png 768w" sizes="(max-width: 838px) 100vw, 838px" /></a><p id="caption-attachment-6040" class="wp-caption-text">Talend &#8211; POST data to REST API URL</p></div>
<h2>SQL Query Examples</h2>
<p>Click on below link to learn more writing SQL Query using ZappySys Drivers.</p>
<p><a href="https://zappysys.com/onlinehelp/odbc-powerpack/scr/json-odbc-driver-sql-query-examples.htm" target="_blank" rel="noopener">JSON / REST Driver &#8211; SQL Query Examples</a></p>
<p><a href="https://zappysys.com/onlinehelp/odbc-powerpack/scr/xml-odbc-driver-sql-query-examples.htm" target="_blank" rel="noopener">XML / SOAP Driver &#8211; SQL Query Examples</a></p>
<p><a href="https://zappysys.com/onlinehelp/odbc-powerpack/scr/csv-odbc-driver-sql-query-examples.htm" target="_blank" rel="noopener">CSV / REST Driver &#8211; SQL Query Examples</a></p>
<h2>REST API / XML SOAP Pagination Settings for Talend</h2>
<div class="content_block" id="custom_post_widget-3892"><div style="margin-bottom: 1em;">Even we set up ODBC Data Source to get the data, it may not be enough. Usually, if you are getting a huge data set from API provider, it won't give it to you in one HTTP response. Instead, it gives back only a subset of data and provides a mechanism for data pagination. The good news is that <em>ZappySys ODBC Driver</em> includes many options to cover virtually any pagination method.</div>
<div><span style="font-size: 16px;">Below you will find a few examples of API pagination. If you need something more sophisticated check the below link (the article was written for SSIS PowerPack but UI options and concepts apply to ODBC Driver too):</span></div>
<div style="margin-bottom: 1em;"><a href="https://zappysys.com/blog/ssis-rest-api-looping-until-no-more-pages-found/" target="_blank" rel="noopener">https://zappysys.com/blog/ssis-rest-api-looping-until-no-more-pages-found/</a></div>
<h3>Paginate by Response Attribute</h3>
This example shows how to paginate API calls where you need to paginate until the last page detected. In this example, next page is indicated by some attribute called nextlink (found in response). If this attribute is missing or null then it stops fetching the next page.
<pre class="lang:tsql decode:true codeblock">SELECT * FROM $
WITH(
SRC=@'https://zappysys.com/downloads/files/test/pagination_nextlink_inarray_1.json'
,NextUrlAttributeOrExpr = '$.nextlink'  --keep reading until this attribute is missing. If attribute name contains dot then use brackets like this $.['my.attr.name']
)</pre>
<h3>Paginate by URL Parameter (Loop until certain StatusCode)</h3>
This example shows how to paginate API calls where you need to pass page number via URL. The driver keeps incrementing page number and calls next URL until the last page detected (401 error). There are few ways to indicate the last page (e.g. By status code, By row count, By response size). If you don't specify end detection then it will use the default (i.e. No records found).
<pre class="lang:tsql decode:true codeblock">SELECT * FROM $
WITH (
SRC=@'https://zappysys.com/downloads/files/test/page-xml.aspx?page=1&amp;mode=DetectBasedOnResponseStatusCode'
,PagingMode='ByUrlParameter'
,PagingByUrlAttributeName='page'
,PagingByUrlEndStrategy='DetectBasedOnResponseStatusCode'
,PagingByUrlCheckResponseStatusCode=401
,IncrementBy=1
)</pre>
<h3>Paginate by URL Path (Loop until no record)</h3>
This example shows how to paginate API calls where you need to pass page number via URL Path. The driver keeps incrementing page number and calls next URL until the last page is detected. There are few ways to indicate the last page (e.g. By status code, By row count, By response size). If you don't specify end detection then it will use the default (i.e. No records found).
<pre class="lang:tsql decode:true codeblock">SELECT * FROM $
WITH (
SRC=@'https://zappysys.com/downloads/files/test/cust-&lt;%page%&gt;.xml'
,PagingMode='ByUrlPath'
,PagingByUrlAttributeName='&lt;%page%&gt;'
,PagingByUrlEndStrategy='DetectBasedOnRecordCount'
,IncrementBy=1
)</pre>
<h3>Paginate by Header Link (RFC 5988)</h3>
API like GitHub / Wordpress use Next link in Headers (<a href="https://tools.ietf.org/html/rfc5988" target="_blank" rel="noopener">RFC 5988</a>)
<pre class="lang:default decode:true ">SELECT * FROM $
LIMIT 25
WITH(
	 Src='https://wordpress.org/news/wp-json/wp/v2/categories?per_page=10'
	,PagingMode='ByResponseHeaderRfc5988'
	,WaitTimeMs='200' --//wait 200 ms after each request
)</pre>
&nbsp;</div>
<h2>REST API / SOAP Web Service Connection Settings for Talend</h2>
<div class="content_block" id="custom_post_widget-3896"><div style="margin-bottom: 1em;">If you need to authenticate or authorize your user to access a web resource, you will need to use one of the <em>Connections:</em></div>
<ul>
 	<li>HTTP</li>
 	<li>OAuth</li>
</ul>
<img loading="lazy" decoding="async" class="wp-image-4078 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-powerpack-authentication-authorization-e1529337108252.png" alt="ZappySys XML Driver - HTTP and OAuth Connection Types" width="577" height="302" srcset="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-powerpack-authentication-authorization-e1529337108252.png 577w, https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-powerpack-authentication-authorization-e1529337108252-300x157.png 300w" sizes="(max-width: 577px) 100vw, 577px" />
<h3>HTTP Connection</h3>
<div style="margin-bottom: 1em;">Use <em>HTTP Connection</em> for simple Windows, Basic, NTLM or Kerberos authentication. Just fill in a username and a password and you are good to go!</div>
<div style="margin-bottom: 1em;">You can also use <em>HTTP Connection</em> for more sophisticated authentication like:</div>
<ul>
 	<li><strong>SOAP WSS</strong> (when accessing a SOAP WebService)</li>
 	<li><strong>Static Token / API Key</strong> (when need to pass an API key in HTTP header)</li>
 	<li><strong>Dynamic Token</strong> (same as Static Token method except that each time you need to log in and retrieve a fresh API key)</li>
 	<li><strong>JWT Token</strong> (As per RFC 7519)</li>
</ul>
<img loading="lazy" decoding="async" class="alignnone wp-image-4091 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-api-connection-type-1.png" alt="" width="622" height="570" />
<h3>OAuth</h3>
If you are trying to access REST API resource, it is a huge chance, you will need to use <em>OAuth Connection</em>. <a href="https://zappysys.com/blog/rest-api-authentication-with-oauth-2-0-using-ssis/" target="_blank" rel="noopener">Read this article</a> to understand how OAuth authentication and authorization works and how to use it (article originally was written for <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a>, but the concepts and UI stay the same): <br/>
<a href="https://zappysys.com/blog/rest-api-authentication-with-oauth-2-0-using-ssis/" target="_blank" rel="noopener">https://zappysys.com/blog/rest-api-authentication-with-oauth-2-0-using-ssis/</a>
<img loading="lazy" decoding="async" class="alignnone size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-api-connection-type-2.png" width="721" height="708" /></div>
<h2>Other settings for REST API / SOAP XML Call in Talend</h2>
<div class="content_block" id="custom_post_widget-3901">There are few settings you can coder while calling Web API
<h3><strong>API Limit / Throttling</strong></h3>
While calling public API or other external web services one important aspect you have to check,  how many requests are allowed by your API. Especially when you use API pagination options to pull many records you have to slow down based on API limits. For example, your API may allow you only 5 requests per second. Use Throttling Tab on Driver UI to set delay after each request.
<h3><strong>2D Array Transformation</strong></h3>
If you are using JSON or XML API Driver then possible you may have to transform your data using 2D array transformation feature. <a href="https://zappysys.com/blog/parse-multi-dimensional-json-array-ssis/" target="_blank" rel="noopener">Check this link</a> for more information.

&nbsp;</div>
<h2>REST API / XML SOAP Performance Tips for Talend</h2>
<div class="content_block" id="custom_post_widget-4455">While calling APIs you may face some performance issues. There are a few tips you can consider to speed up things.
<h4><span style="font-size: 14pt;"><strong>Use Server-side filtering if possible in URL or Body Parameters</strong></span></h4>
Many API supports filtering your data by URL parameters or via Body. Whenever possible try to use such features.  Here is an example of <a href="http://www.odata.org/getting-started/basic-tutorial/" target="_blank" rel="noopener">odata API</a>, In the below query the first query is faster than the second query because in the first query we filter at the server.
<pre class="lang:tsql decode:true">SELECT * FROM value
WITH(
	 Src='https://services.odata.org/V3/Northwind/Northwind.svc/Customers?$format=json&amp;$filter=Country eq ''USA'''
	,DataFormat='Odata'
)

-- Slow query - Client-side filtering
SELECT * FROM value
WHERE Country ='USA'
WITH(
	 Src='https://services.odata.org/V3/Northwind/Northwind.svc/Customers?$format=json'
	,DataFormat='Odata'
)</pre>
<h4><span style="font-size: 14pt;"><strong>Avoid Special features in SQL Query (e.g. WHERE, Group By, Order By)</strong></span></h4>
ZappySys API engine triggers client-side processing if special features are used in Query. Following SQL Features will trigger Client-Side processing which is several times slower than server-side processing. So always try to use simple query (Select col1, col2 .... from mytable )
<ul>
 	<li>WHERE Clause</li>
 	<li>GROUP BY Clause</li>
 	<li>HAVING Clause</li>
 	<li>ORDER BY</li>
 	<li>FUNCTIONS (e.g. Math, String, DateTime, Regex... )</li>
</ul>
LIMIT clause does not trigger client-side processing.
<h4><span style="font-size: 14pt;"><strong>Consider using pre-generated Metadata / Cache File</strong></span></h4>
Use META option in WITH Clause to use static metadata (Pre-Generated)There are two more options to speedup query processing time. Check <a href="https://zappysys.com/blog/caching-metadata-odbc-drivers-performance/" target="_blank" rel="noopener">this article</a> for details.
<ol>
 	<li>
<pre class="lang:default decode:true">select * from value WITH( meta='c:\temp\meta.txt' )
--OR--
select * from value WITH( meta='my-meta-name' )
--OR--
select * from value WITH( meta='[ {"Name": "col1",&amp;nbsp;"Type": "String", Length: 100},&amp;nbsp;{"Name": "col2",&amp;nbsp;"Type": "Int32"} ...... ]' )</pre>
</li>
 	<li>Enable Data Caching Options (Found on <strong>Property Grid</strong> &gt; <strong>Advanced</strong> Mode Only )</li>
</ol>
<h4><span style="font-size: 14pt;"><strong>Consider using Metadata / Data Caching Option</strong></span></h4>
ZappySys API drivers support Caching Metadata and Data rows to speed up query processing. If your data doesn't change often then you can enable this option to speed up processing significantly.

Check <a href="https://zappysys.com/blog/caching-metadata-odbc-drivers-performance/" target="_blank" rel="noopener">this article</a> for details how to enable Data cache / metadata cache feature for datasource level or query level.

To define cache option at query level you can use like below.
<pre class="">SELECT * FROM $
WITH 
(  SRC='https://myhost.com/some-api'
  ,CachingMode='All'  --cache metadata and data rows both
  ,CacheStorage='File' --or Memory
  ,CacheFileLocation='c:\temp\myquery.cache'
  ,CacheEntryTtl=300 --cache for 300 seconds
)
</pre>
&nbsp;

&nbsp;
<h4><strong><span style="font-size: 14pt;">Use --FAST Option to enable Stream Mode</span></strong></h4>
ZappySys JSON / XML drivers support <strong>--FAST</strong> suffix for Filter. By using this suffix after Filter driver enables Stream Mode, <a href="https://zappysys.com/blog/caching-metadata-odbc-drivers-performance/#Reading_Large_Files_Streaming_Mode_for_XML_JSON" target="_blank" rel="noopener">Read this article</a> to understand how this works.
<pre class="lang:default decode:true">SELECT * FROM $ 
LIMIT 10 --//add this just to test how fast you can get 10 rows
WITH(
  Filter='$.LargeArray[*]--FAST' --//Adding --FAST option turn on STREAM mode (large files)
 ,SRC='https://zappysys.com/downloads/files/test/large_file_100k_largearray_prop.json.gz'
 --,SRC='c:\data\large_file.json.gz'
 ,IncludeParentColumns='False'  --//This Must be OFF for STREAM mode (read very large files)
 ,FileCompressionType='GZip' --Zip or None (Zip format only available for Local files)
)</pre>
&nbsp;</div>
<h2>Calling SOAP Web Service in Talend</h2>
<div class="content_block" id="custom_post_widget-3870">To call SOAP API you need to know Request XML Body Structure. If you are not sure how to create SOAP Request body then no worries. <a href="https://zappysys.com/blog/calling-soap-web-service-in-ssis-xml-source/" target="_blank" rel="noopener">Check this article</a> to learn how to generate SOAP Request body using the Free tool <a href="https://www.soapui.org/downloads/latest-release.html" target="_blank" rel="noopener">SoapUI</a>. Basically, you have to use SoapUI to generate Request XML and after that, you can replace parameters as needed in the generated body.
<h3>What is SOAP Web Service?</h3>
If you are new to SOAP Web Service sometimes referred as XML Web Service then please read some concept about SOAP Web service standard <a href="https://msdn.microsoft.com/en-us/library/ms996507.aspx?f=255&amp;MSPPError=-2147217396" target="_blank" rel="noopener">from this link</a>

There are two important aspects in SOAP Web service.
<ol>
 	<li>Getting WSDL file or URL</li>
 	<li>Knowing exact Web Service URL</li>
</ol>
<h3>What is WSDL</h3>
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 )
<h3>Example SQL Query for SOAP API call using ZappySys XML Driver</h3>
Here is an example SQL query you can write to call SOAP API. If you not sure about many details then check next few sections on how to use XML Driver User Interface to build desired SQL query to POST data to XML SOAP Web Service without any coding.
<pre class="lang:tsql decode:true">SELECT * FROM $
WITH(
	 Src='http://www.holidaywebservice.com/HolidayService_v2/HolidayService2.asmx'
	,DataConnectionType='HTTP'
	,CredentialType='Basic' --OR SoapWss
	,SoapWssPasswordType='PasswordText'
	,UserName='myuser'
	,Password='pass$$w123'
	,Filter='$.soap:Envelope.soap:Body.GetHolidaysAvailableResponse.GetHolidaysAvailableResult.HolidayCode[*]'
	,ElementsToTreatAsArray='HolidayCode'	
	,RequestMethod='POST'	
	,Header='Content-Type: text/xml;charset=UTF-8 || SOAPAction: "http://www.holidaywebservice.com/HolidayService_v2/GetHolidaysAvailable"'
	,RequestData='
&lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hol="http://www.holidaywebservice.com/HolidayService_v2/"&gt;
   &lt;soapenv:Header/&gt;
   &lt;soapenv:Body&gt;
      &lt;hol:GetHolidaysAvailable&gt;
         &lt;!--type: Country - enumeration: [Canada,GreatBritain,IrelandNorthern,IrelandRepublicOf,Scotland,UnitedStates]--&gt;
         &lt;hol:countryCode&gt;UnitedStates&lt;/hol:countryCode&gt;
      &lt;/hol:GetHolidaysAvailable&gt;
   &lt;/soapenv:Body&gt;
&lt;/soapenv:Envelope&gt;'
)</pre>
Now let's look at steps to create SQL query to call SOAP API. Later we will see how to generate code for your desired programming language (e.g. C# or SQL Server)
<h3>Video Tutorial - Introduction to SOAP Web Service and SoapUI tool</h3>
Before we dive into details about calling SOAP API using ZappySys XML Driver, lets first understand what is SOAP API and how to create SOAP requests using SoapUI tool. You will learn more about this process in the later section. The video contains some fragment about using SOAP API in SSIS but just ignore that part because we will be calling Soap API using ZappySys ODBC Driver rather than SSIS Components.

&nbsp;

<iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/d_x5bgGjg0Y?rel=0&amp;showinfo=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen="allowfullscreen" data-mce-fragment="1"></iframe>
<h3>Using SoapUI to test SOAP API call / Create Request Body XML</h3>
Assuming you have downloaded and installed <a href="https://www.soapui.org/downloads/latest-release.html" target="_blank" rel="noopener">SoapUI from here</a>, now we are ready to use WSDL for your SOAP Web Service Calls. If you do not have WSDL file or URL handy then contact your API provider (sometimes you just have to add <strong>?wsdl </strong>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 <strong>Web service Description Language</strong> (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.
<ol>
 	<li>Open SoapUI and click SOAP button to create new SOAP Project</li>
 	<li>Enter WSDL URL or File Path of WSDLFor example WSDL for our sample service can be accessed via this URL
<pre class="lang:default highlight:0 decode:true">http://www.dneonline.com/calculator.asmx?wsdl</pre>
<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/calling-soap-api-import-wsdl-new-soapui-project.png"><img loading="lazy" decoding="async" class="size-full wp-image-3871" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-call-soap-api-14.png" alt="Create new SOAP API Project in SoapUI tool for SOAP API Testing" width="486" height="349" /></a>
<div style="margin-bottom: 1em;">Create new SOAP API Project in SoapUI tool for SOAP API Testing</div></li>
 	<li>Once WSDL is loaded you will see possible operations you can call for your SOAP Web Service.</li>
 	<li>If your web service requires credentials then you have to configure it. There are two common credential types for public services (<strong>SOAP WSS</strong> or <strong>BASIC</strong> )
<ol>
 	<li>
<div style="margin-bottom: 1em;">To use <strong>SOAP WSS Credentials</strong> select request node and enter UserId, Password, and <strong>WSS-PasswordType</strong> (PasswordText or PasswordHash)</div>
<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/calling-soap-api-pass-soap-wss-credentials-userid-password.png"><img loading="lazy" decoding="async" class="size-full wp-image-3872 alignnone" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-call-soap-api-2.png" alt="Configure SOAP WSS Credentials for SoapUI (SOAP API Testing Tool)" width="294" height="544" /></a>
<div style="display: block;">Configure SOAP WSS Credentials for SoapUI (SOAP API Testing Tool)</div></li>
 	<li>To use <strong>BASIC Auth</strong> 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.<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/calling-soap-api-pass-basic-authentication-userid-password.png"><img loading="lazy" decoding="async" class="size-full wp-image-3873" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-call-soap-api-2.png" alt="Configure Basic Authorization for SoapUI (SOAP API Testing Tool)" width="616" height="653" /></a>
<div style="margin-bottom: 1em;">Configure Basic Authorization for SoapUI (SOAP API Testing Tool)</div></li>
</ol>
</li>
 	<li>Now you can test your request first Double-click on the request node to open request editor.</li>
 	<li>Change necessary parameters, remove optional or unwanted parameters. If you want to regenerate request you can click on <strong>Recreate default request toolbar icon</strong>.
<a href="https://zappysys.com/blog/wp-content/uploads/2016/06/create-soap-request-with-optional-parameters-soapui.png"><img loading="lazy" decoding="async" class="size-full wp-image-2812" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-call-soap-api-4.png" alt="Create SOAP Request XML (With Optional Parameters)" width="807" height="315" /></a>
<div style="margin-bottom: 1em;">Create SOAP Request XML (With Optional Parameters)</div></li>
 	<li>Once your SOAP Request XML is ready, <strong>Click the Play button</strong> in the toolbar to execute SOAP API Request and Response will appear in Right side panel.
<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/soapui-test-soap-api-request-response-edit-xml-body.png"><img loading="lazy" decoding="async" class="size-full wp-image-3874" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-call-soap-api-5.png" alt="Test SOAP API using SoapUI Tool (Change Default XML Body / Parameters, Execute and See Response)" width="1216" height="511" /></a>
Test SOAP API using SoapUI Tool (Change Default XML Body / Parameters, Execute and See Response)</li>
</ol>
<h3>Create DSN using ZappySys XML Driver to call SOAP API</h3>
Once you have tested your SOAP API in SoapUI tool, we are ready to use ZappySys XML driver to call SOAP API in your preferred BI tool or Programming language.
<ol>
 	<li>First open <strong>ODBC Data Sources</strong> (search ODBC in your start menu or go under ZappySys &gt; ODBC PowerPack &gt; <strong>ODBC 64 bit</strong>)</li>
 	<li>Goto <strong>System DSN</strong> Tab (or User DSN which is not used by Service account)</li>
 	<li>Click <strong>Add</strong> and Select ZappySys XML Driver
<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/zappysys-odbc-xml-soap-api-driver.png"><img loading="lazy" decoding="async" class="size-full wp-image-3875" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-call-soap-api-6.png" alt="ZappySys ODBC Driver for XML / SOAP API" width="593" height="459" /></a>
ZappySys ODBC Driver for XML / SOAP API</li>
 	<li>Configure API URL, Request Method and Request Body as below
<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/calling-soap-web-service-zappysys-xml-driver.png"><img loading="lazy" decoding="async" class="size-full wp-image-3876" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-call-soap-api-7.png" alt="ZappySys XML Driver - Calling SOAP API - Configure URL, Method, Body" width="916" height="874" /></a>
ZappySys XML Driver - Calling SOAP API - Configure URL, Method, Body</li>
 	<li><strong>(This step is Optional)</strong> If your SOAP API requires credentials then Select Connection Type to HTTP and configure as below.
<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/soap-api-call-credential-basic-soap-wss-zappysys-xml-driver.png"><img loading="lazy" decoding="async" class="size-full wp-image-3877" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-call-soap-api-8.png" alt="ZappySys XML Driver - Configure SOAP WSS Credentials or Basic Authorization (Userid, Password)" width="564" height="483" /></a>
<div style="display: block;">ZappySys XML Driver - Configure SOAP WSS Credentials or Basic Authorization (Userid, Password)</div></li>
 	<li>Configure-Request Headers as below (You can get it from Request &gt; Raw tab from SoapUI after you test the request by clicking the Play button)
<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/set-soap-api-request-headers-zappysys-xml-driver.png"><img loading="lazy" decoding="async" class="size-full wp-image-3881" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-call-soap-api-9.png" alt="Configure SOAP API Request Headers - ZappySys XML Driver" width="1009" height="747" /></a>
Configure SOAP API Request Headers - ZappySys XML Driver</li>
 	<li>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.
<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/soap-api-query-select-filter-zappysys-xml-driver.png"><img loading="lazy" decoding="async" class="size-full wp-image-3882" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-call-soap-api-10.png" alt="Select Filter - Extract data from nested XML / SOAP API Response (Denormalize Hierarchy)" width="809" height="594" /></a>
Select Filter - Extract data from nested XML / SOAP API Response (Denormalize Hierarchy)</li>
 	<li>If prompted select yes to treat selected node as Array (This is helpful when you expect one or more record for selected node)
<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/xml-api-array-handling-zappysys-xml-driver.png"><img loading="lazy" decoding="async" class="size-full wp-image-3883" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-call-soap-api-11.png" alt="Treat selected node as XML Array Option for SOAP API Response XML" width="655" height="572" /></a>
Treat selected node as XML Array Option for SOAP API Response XML</li>
</ol>
<h3>Preview SOAP API Response / Generate SQL Code for SOAP API Call</h3>
Once you configure settings for XML Driver now you can preview data or generate example code for desired language (e.g. C#, Python, Java, SQL Server).

Go to Preview tab and you will see default query generated based on settings you entered in previous sections. Attributes listed in WITH clause are optional. If you omit attribute in WITH clause it will use it from Properties tab.
<h3>Preview Data</h3>
<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/calling-soap-web-service-zappysys-xml-api-driver.png"><img loading="lazy" decoding="async" class="size-full wp-image-3884" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-call-soap-api-12.png" alt="Preview SOAP API Response in ZappySys XML Driver" width="808" height="780" /></a>
Preview SOAP API Response in ZappySys XML Driver
<h3>Generate Code Option</h3>
<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/zappysys-driver-code-generator.png"><img loading="lazy" decoding="async" class="size-full wp-image-3885" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-call-soap-api-13.png" alt="Generate Example Code for ZappySys Driver" width="572" height="618" /></a>
<div style="display: block;">Generate Example Code for ZappySys Driver</div></div>
<h2>Conclusion</h2>
<p>In this article, we used ZappySys Drivers to read data from JSON REST API / File. You can use same technique to consume SOAP / XML API or File. <a href="https://zappysys.com/products/odbc-powerpack/">Try ODBC PowerPack for FREE</a> and check out how easy it is to consume virtually any REST / SOAP API or Read from JSON / XML / CSV Files in  Talend Open Studio.</p>
<p>The post <a href="https://zappysys.com/blog/read-write-rest-api-data-in-talend-json-xml-soap/">Read / Write REST API data in Talend (JSON / XML / SOAP)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
