Skip to content

Learn about our organization's purpose, values, and history that define who we are and how we make a difference.

Who we are

why-we-are

Discover how the Mastech InfoTrellis ecosystem is enabling customers to make well-informed decisions faster than ever and how we stand apart in the industry.

Delve into our wealth of insights, research, and expertise across various resources, and uncover our unique perspectives.

Thrive in a supportive and inclusive work environment, explore diverse career options, grow your skills, and be a part of our mission to excellence.

Table of Content

Web Service Client

In today’s world DATA is ubiquitous and critical to the business which eventually increases the need for integration across different platforms like Cloud, Web Service Provider etc.  When it comes to Data Integration, business needs effective communication between their software systems and ETL tool to fulfill their needs.

This blog post explains what a REST Web Service is, how you can create a Power Center workflow, use REST based method to access the web services via HTTP Transformation.

REST Overview

Web Service provides a common platform that allows two different applications on various platforms to communicate and exchange messages between them over HTTP protocol. Web Services can be accessed using different methods or styles. In Web Service world Rpresentational  State Transfer(REST) is a stateless client-server architecture in which Web Services are exposed as URLs.  The typical method of accessing Web resource in a RESTful system is through various HTTP methods such as GET, POST, PUT and DELETE.

REST can use SOAP Web Services and any protocol such as HTTP, SOAP.

High-Level REST Architecture

High-Level REST Architecture

Figure 1: High-Level REST Architecture

REST call using Informatica Power Center

Let us explain with the help of a sample web service which is used in a Retail Industry. In a Retail industry, customer can purchase various items from the retailer through online and offline and we need a centralized repository called a Data Warehouse where all the transactional data is fed into. The item details are then further normalized into Data Marts to form a common schema which will have facts and dimensions. On a large scale environment, this could be a cumbersome task in designing a data model.

To overcome this we have business needs to access the data over the network and the best way will be to use the web service. So the final order details, pricing, payment details, and shipping information are translated internally and saved in a third party system which is either in an XML or JSON format.  The third-party system hosted over a secured network is accessed via a URL. Since this system is based on REST API calls, we use Informatica Power Center as a client to access the server which is a web service API. Informatica Data Quality (IDQ) can also be integrated separately with the Power Center and Informatica MDM to strengthen enterprise data quality. 

In Power Center, you can use an HTTP transformation to send a request and receive a response from a REST Web service.

Success Story

5.5% revenue uplift for an Insurance Provider with a Customer-360 view

Learn more Success Story
5_1_117x113

Pre-requisites to configure REST call using HTTP Transformation

  • Valid REST based URL supporting either XML or JSON
  • Valid SSL certificates to connect to REST URL outside of the network
  • Basic Authentication Mechanism(User Name and Password)

Step by Step Process

Creating a Source File

Create a source file which specifies the search parameters to be passed as input to the HTTP transformation.

Source-File

Figure 2: Source Fil

Create HTTP Transformation

Create HTTP transformation with the following input ports:

  • Username
  • Password
  • OrderNumber

HTTP Transformation

Figure 3: HTTP Transformation

Base URL

Set the Base URL to get the Order details based on the input parameters passed from the source file.

Base URL: https://test-swaggerUI/orders/search

Base-URL-Settings

Figure 4: Base URL Settings

Set the HTTP Header parameters

Header parameters in HTTP transformation contain header data for request and response in a specified format such as XML or JSON. Following are the parameters:

  • Default Value: Specify the acceptable values supported by the web service. By default, the response will be in JSON. If you need XML you need to specify as ‘text/xml’
  • HTTP Name: For REST API the default value is “Accept”

Header-Parameter-Settings

Figure 5: Header Parameter Settings

HTTP Method Selection Type

Specify the type of HTTP method on the URL. In our example we are trying to get the order detail information, so specify the type as “GET”

HTTP Method Selection Type

Figure 6: HTTP Method Selection Type

HTTP Output

Pass the HTTP output to either a flat file or an XML parser to parse the information and load it into the target table. In this example, we write the output of the HTTP to a flat file.

This is how the final mapping will look like.

Final Mapping

Final Mapping
Figure 7: Final Mapping

Create a connection in Workflow manager and run the workflow

Navigate to Workflow manager ->Connections-> Applications->HTTP Transformation

HTTP Application type

Figure 8: HTTP Application type

Name: Enter the name of the HTTP Transformation which is understandable

User Name: Enter the username of the REST API URL call

Password: Enter the password for the URL

Authentication Type: Select the Authentication type as “Basic”

Create a workflow for the mapping and run the workflow. Finally, view the output. In our example, for the Order Number “ORD-123”

Final Output

Figure 9: Final Output

Issues faced while connecting to HTTP Transformation

While using HTTP Transformation the most common issue is “SSL Certificate Error”. So when you run the workflow which is using the final URL you will get the below errors in session logs

SSL-Certificate-Error

Root Cause

This error is caused because the connection to the web service URL or Rest API does not include the certificate data that is needed to authenticate the connection from the certificate provider’s end. The certificate bundle does not contain a certificate from a Certificate Authority that the Web service Provider uses.

Resolution

Download the SSL certificates for the URL and add to the certificate files located under $INFA_HOME/server/bin/ca-bundle.crt

Refer the below KB article to know how to add those certificates

HOW TO: Extract certificates from a HTTPS URL and add to ca-bundle.crt file

Conclusion

This concludes how to create a Power Center Workflow using REST based methods to access a web service using HTTP Transformation, invoke HTTP commands to get data from the web service resource.

avatar

Satish Kumar

Senior Technical Consultant

With over six years of hands-on experience, Satish specializes in developing and implementing ETL and MDM solutions.