OData Connector for JAVAOData Connector can be used to integrated any REST API which supports OData Standard. You can view tables, read data from tables using this connector. It also comes with some example OData Services to get started. In this article you will learn how to quickly and efficiently integrate OData data in JAVA. We will use high-performance OData Connector to easily connect to OData and then access the data inside JAVA. Let's follow the steps below to see how we can accomplish that! OData Connector for JAVA is based on ZappySys API Driver which is part of ODBC PowerPack. It is a collection of high-performance ODBC drivers that enable you to integrate data in SQL Server, SSIS, a programming language, or any other ODBC-compatible application. ODBC PowerPack supports various file formats, sources and destinations, including REST/SOAP API, SFTP/FTP, storage services, and plain files, to mention a few. |
Connect to OData in other apps
|
Create Data Source in ZappySys Data Gateway based on API Driver
-
Download and install ODBC PowerPack.
-
Search for gateway in start menu and Open ZappySys Data Gateway:
-
Go to Users Tab to add our first Gateway user. Click Add; we will give it a name tdsuser and enter password you like to give. Check Admin option and click OK to save. We will use these details later when we create linked server:
-
Now we are ready to add a data source. Click Add, give data source a name (Copy this name somewhere, we will need it later) and then select Native - ZappySys API Driver. Finally, click OK. And it will create the Data Set for it and open the ZS driver UI.
OdataDSN
-
When the Configuration window appears give your data source a name if you haven't done that already, then select "OData" from the list of Popular Connectors. If "OData" is not present in the list, then click "Search Online" and download it. Then set the path to the location where you downloaded it. Finally, click Continue >> to proceed with configuring the DSN:
OdataDSNOData -
Now it's time to configure the Connection Manager. Select Authentication Type, e.g. Token Authentication. Then select API Base URL (in most cases, the default one is the right one). More info is available in the Authentication section.
Fill in all required parameters and set optional parameters if needed:
OdataDSNODataNo Authentication [Http]https://services.odata.org/V3/Northwind/Northwind.svcOptional Parameters RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True IgnoreSSLCertificateErrors SslVersion Fill in all required parameters and set optional parameters if needed:
OdataDSNODataWindows Authentication [Http]https://services.odata.org/V3/Northwind/Northwind.svcThis Authentication Type has no parameters to fill-in. Fill in all required parameters and set optional parameters if needed:
OdataDSNODataBasic Authentication [Http]https://services.odata.org/V3/Northwind/Northwind.svcRequired Parameters UserName Fill-in the parameter... Password Fill-in the parameter... Optional Parameters RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True IgnoreSSLCertificateErrors SslVersion Fill in all required parameters and set optional parameters if needed:
OdataDSNODataNTLM Authentication [Http]https://services.odata.org/V3/Northwind/Northwind.svcRequired Parameters UserName (i.e. Domain\UserName) Fill-in the parameter... Password Fill-in the parameter... Optional Parameters RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True IgnoreSSLCertificateErrors SslVersion Fill in all required parameters and set optional parameters if needed:
OdataDSNODataToken Authentication [Http]https://services.odata.org/V3/Northwind/Northwind.svcRequired Parameters Token Fill-in the parameter... Optional Parameters AuthScheme Bearer AuthHeader Authorization RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True IgnoreSSLCertificateErrors SslVersion Fill in all required parameters and set optional parameters if needed:
OdataDSNODataOAuth Connection for OData API [OAuth]https://services.odata.org/V3/Northwind/Northwind.svcOptional Parameters GrantType Default OAuthVersion Default ClientId ClientSecret UserName Password Scope AuthUrl https://some-domain.com/api/auth TokenUrl https://some-domain.com/api/token ReturnUrl https://zappysys.com/oauth ExtraAttributesForTokenRequest ExtraAttributesForAuthRequest DoNotIncludeCredentialsInHeader DoNotIncludeCredentialsInBody RenewBeforeSec ExtraHeaders (e.g. x-hdr1:AAA||x-hdr2:BBB) ContentType EnableCodeVerifier RemoveAuthHeader CustomAuthHeader CustomTokenPrefix RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True IgnoreSSLCertificateErrors SslVersion -
Once the data source connection has been configured, it's time to configure the SQL query. Select the Preview tab and then click Query Builder button to configure the SQL query:
ZappySys API Driver - ODataOData Connector can be used to integrated any REST API which supports OData Standard. You can view tables, read data from tables using this connector. It also comes with some example OData Services to get started.OdataDSN -
Start by selecting the Table or Endpoint you are interested in and then configure the parameters. This will generate a query that we will use in JAVA to retrieve data from OData. Hit OK button to use this query in the next step.
SELECT * FROM Customers
Some parameters configured in this window will be passed to the OData API, e.g. filtering parameters. It means that filtering will be done on the server side (instead of the client side), enabling you to get only the meaningful datamuch faster . -
Now hit Preview Data button to preview the data using the generated SQL query. If you are satisfied with the result, use this query in JAVA:
ZappySys API Driver - ODataOData Connector can be used to integrated any REST API which supports OData Standard. You can view tables, read data from tables using this connector. It also comes with some example OData Services to get started.OdataDSNSELECT * FROM Customers
You can also access data quickly from the tables dropdown by selecting <Select table>.AWHERE
clause,LIMIT
keyword will be performed on the client side, meaning that thewhole result set will be retrieved from the OData API first, and only then the filtering will be applied to the data. If possible, it is recommended to use parameters in Query Builder to filter the data on the server side (in OData servers). -
Click OK to finish creating the data source.
Read data in Java from the DSN
-
Java code to get the data:
"jdbc:sqlserver://localhost:5000;databasename=OdataDSN;user=tdsuser;password=test" -
When you run the code it will make the API call and read the data:
-
Here is Java program's code in text format:
//Step-1: Install ZappySys ODBC PowerPack and Configure Data Gateway //Step-2:Assuming the Microsoft SQL Server JDBC Driver is in below folder //C:\Program Files\Microsoft Jdbc Driver 6.0 for SQL Server\sqljdbc_6.0\enu\auth\x64 package padaone; import java.sql.*; public class zappy { public static void main(String[] args) { // Create a variable for the connection string. String connectionUrl = "jdbc:sqlserver://localhost:5000;databasename=OdataDSN;user=test;password=test"; // Declare the JDBC objects. Connection con = null; Statement stmt = null; ResultSet rs = null; try { // Establish the connection. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); con = DriverManager.getConnection(connectionUrl); // Create and execute an SQL statement that returns some data. String SQL = "SELECT Country , SUM(UnitPrice * Quantity) Total " + "FROM value " + "GROUP BY Country " + "WITH (SRC='https://services.odata.org/V3/Northwind/Northwind.svc/Invoices?$format=json')"; stmt = con.createStatement(); rs = stmt.executeQuery(SQL); // Iterate through the data in the result set and display it. while (rs.next()) { System.out.println(rs.getString(1) + " " + rs.getString(2)); } } // Handle any errors that may have occurred. catch (Exception e) { e.printStackTrace(); } finally { if (rs != null) try { rs.close(); } catch (Exception e) {} if (stmt != null) try { stmt.close(); } catch (Exception e) {} if (con != null) try { con.close(); } catch (Exception e) {} } } }
Actions supported by OData Connector
Learn how to perform common OData actions directly in JAVA with these how-to guides:
- Generic Read Data (JSON API)
- Generic Read Data (XML API)
- List Tables (JSON API)
- List Tables (XML API)
- Read [Dynamic Endpoint]
- Generic Request
- Generic Request (Bulk Write)
Conclusion
In this article we showed you how to connect to OData in JAVA and integrate data without any coding, saving you time and effort. It's worth noting that ZappySys API Driver allows you to connect not only to OData, but to any Java application that supports JDBC (just use a different JDBC driver and configure it appropriately).
We encourage you to download OData Connector for JAVA and see how easy it is to use it for yourself or your team.
If you have any questions, feel free to contact ZappySys support team. You can also open a live chat immediately by clicking on the chat icon below.
Download OData Connector for JAVA Documentation
More integrations
Other connectors for JAVA
Other application integration scenarios for OData
How to connect OData in JAVA?
How to get OData data in JAVA?
How to read OData data in JAVA?
How to load OData data in JAVA?
How to import OData data in JAVA?
How to pull OData data in JAVA?
How to push data to OData in JAVA?
How to write data to OData in JAVA?
How to POST data to OData in JAVA?
Call OData API in JAVA
Consume OData API in JAVA
OData JAVA Automate
OData JAVA Integration
Integration OData in JAVA
Consume real-time OData data in JAVA
Consume real-time OData API data in JAVA
OData ODBC Driver | ODBC Driver for OData | ODBC OData Driver | SSIS OData Source | SSIS OData Destination
Connect OData in JAVA
Load OData in JAVA
Load OData data in JAVA
Read OData data in JAVA
OData API Call in JAVA