Articles in this section
Category / Section

Get data from SOAP API using Syncfusion Data Integration Platform

2 mins read

Introduction

This ar­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ticle explains how to get data from SOAP API using Syncfusion Data Integration Platform.

 

Objective

 

To get data response using SOAP API and convert that data response in to SQL insert statement and finally store the resultant data in destination SQL server.

Sample used in this article: SOAP_API_sample.xml

 

Example Dataflow get data from SOAP API

 

Overview

 

Dataflow get data from SOAP API

Prerequisites

Before configuring this workflow, users must know about DBCPConnectionPool in Syncfusion Data Integration Platform. Because, the DBCPConnectionPool is responsible for creating the database connection to perform database operations. Refer to Configure DBCPConnectionPool to configure the DBCPConnectionPool for SQL server.

Note:

To create the required table in target SQL server for the first time, start the following processor.

create the required table in target SQL server

In properties tab, enter create statement SQL query. Refer to the following screenshot.

enter create statement SQL query

List of processors used in workflow:

Processor

Comments

GenerateFlowFile

Creates the body message as FlowFile for SOAP API request.

InvokeHTTP

Gets response from the web service using SOAP API.

UpdateAttribute

Updates the FlowFile attribute value.

SplitXml

Splits the XML incoming FlowFile into multiple FlowFiles.

EvaluateXPath

Evaluates one or more XPath against the FlowFile content and store the resultant data into FlowFile attribute.

ReplaceText

Update the FlowFile content with new input content.

PutSQL

Executes the SQL insert query into target SQL server.

ExecuteSQL

Creates table in the target SQL server.

 

GenerateFlowFile Processor

This processor will generate the FlowFile for SOAP API request, enter SOAP API body message in the Custom Text property as follows.FlowFile for SOAP API

Body message used

 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.holidaywebservice.com/HolidayService_v2/">
<SOAP-ENV:Body>
<ns1:GetHolidaysAvailable><ns1:countryCode>UnitedStates</ns1:countryCode></ns1:GetHolidaysAvailable>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
 

 

In Scheduling tab, the Run Schedule value is set as 1 day and this can be changed as desired.

scheduling tab

InvokeHTTP processor

This processor fetches the data from SOAP API by entering the value for HTTP method, Remote URL, Content-type, and add new property SOAPAction using Add button as follows.

SOAPAction using Add button

SOAP API call used

 

 http://www.holidaywebservice.com/HolidayService_v2/HolidayService2.asmx?wsdl

 

 

SOAP action method used

 

http://www.holidaywebservice.com/HolidayService_v2/GetHolidaysAvailable

 

 

Note:

To ignore the failure case, select the auto-terminate option for corresponding relationships. Refer to the following screenshot.

 

select the auto-terminate option

  • Remove empty spaces in Basic authentication password and Proxy password properties value. 

UpdateAttribute Processor

This processor will add a new attribute to the incoming FlowFile called “mime.type”, which can be added using Add button and enter the value as follows.

update attribute processor

SplitXml

This processor will split the incoming XML FlowFile based on the split depth property as shown in the following screenshot.split xml

EvaluateXPath Processor                                                                                                                                                                       

This processor will evaluate the incoming FlowFile based on the destination property and two new properties “code” and “description” is added by using Add button as follows.evaluate xpath processor

ReplaceText Processor

This processor will process the incoming FlowFile with the replacement value entered in the property as follows.

replace text processor

Replacement value used

 

insert into holidaycode (Code, Description) values ('${code:replace('\'',' ')}', '${description:replace('\'',' ')}')

 

 

PutSQL

This processor will execute the incoming insert query value in the SQL server using the JDBC connection pool property as follows.

put sql

After completing all the configurations, start the workflow. It will transfer the SOAP API data into target SQL server.

SOAP API data into target SQL server.

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments
Please  to leave a comment
Access denied
Access denied