SlideShare une entreprise Scribd logo
1  sur  12
HowTo – REST API proxy to
SOAP webservice
• This blog post is a continuation of our first How To series, “APIFy your
integrations,” where we started off by creating a SOAP API around a
database.
• Some organizations are entirely invested in either SOAP or RESTful
web services. There is plenty of material already written on SOAP vs.
REST, so there’s no need for us to take that on here.
• It can be a use case driven decision where SOAP and REST can co-
exist. With this approach, it is a common scenario to have a hybrid
environment where some system APIs exist as SOAP based web
services that need to have a REST interface defined.
• In this blog, we will walk through creating such a REST API proxy on
top of an existing SOAP web service.
• To get the best fit for our REST API, we will adopt a design first
approach. Before we touch a line of code to build the API, consider
what value our API needs to offer its consumers and exactly how they
will need to consume it. Allow time to get this interface right. Iterate
on the design, mock the implementation to enable consumer
interaction, and in parallel ensure it’ll be deliverable by your
implementers.
We will make use of an API description
language called RAML that:
• 1) provides a blueprint to design APIs from the top down with your team before
you decide on an implementation or begin to code.
• 2) acts as a contract by which we communicate with the API
consumers/partners/developers what this API will do and decouple them from
implementation.
• 3) acts as the metadata that facilitates system-to-system and machine-to-
machine interactions as well as a place to describe human readable descriptions
about the API.
• 4) provides tooling and specification that is very simple and clean for API
stakeholders to use.
System prerequisites:
• MuleSoft Anypoint Studio.
• API Designer.
• An existing SOAP web service. (refer to part 1 of this series to
create and deploy a SOAP web service using Anypoint platform). The
project for part 1 is downloadable here).
Steps:
• If there is no existing SOAP web service to proxy to, check part 1 of this
series.
• Sign up for an Anypoint account. Log into Anypoint Management Console
and create a new API.
• Open API Designer in the API detail page.
• Anypoint_Platform_for_APIs___API_administration___loanRestAPI_-_1_0
• Create a RAML file and document the interface as desired for the REST API
• http://raml.org/
• (Note: If you are using the sample web service from part 1 of this series
then refer to the RAML file in attached project).
• Export the api.raml file.
• Open Anypoint Studio and create a new project. Check “Add APIkit
components” and select the RAML file created in step 4. Click Finish.
• New_Mule_Project_and_Mule_Design_-_Anypoint_Studio_-
__Users_neerav_agrawal_Mule_Workspace_MuleWorkspace_Workspace_
API_Integration_and_Downloads
• When you create a new APIkit project and click Finish, Anypoint Studio
uses the imported RAML file to generate skeletal backend flows, one for
each resource-action pairing in the RAML file. Furthermore, Studio pre-
populates each of the flows with one or more message processors that
perform “mock” activities based on the content of the example response
included with each resource-action pairing in the RAML file.
• Delete the “Set Payload” activity from the flow “get:/loan:api-config.”
• Add a “Web Service Consumer” connector to the flow “get:/loan:api-
config”. Click on connector configuration.
• In Connector configuration add the WSDL location for the SOAP web
service. If the WSDL path is correctly configured it will automatically
populate the remaining fields. Click Ok. (Note: Enter the WSDL URL of
the web service you want to proxy to).
• Global_Element_Properties
• Add a “Transform Message” component to the flow. Here we will
configure the request message for the SOAP web service. Add the
input parameters. In this case, we extract the value from the HTTP
query param and assign it to the SOAP request(Note: Make sure the
namespace is configured correctly as per the target web service
requirement).
• We just implemented a REST API interface to a back-end service. We
can import this project as an Anypoint Studio generated Deployable
Archive and deploy it to a mule runtime on-premise or cloud.
• This blog is a follow-up to part 1 of the series “Create APIs on top of
an integration”.
To create a REST API we leveraged the following
features of Anypoint Platform:
• Adopted a design-first approach and use Mulesoft’s Anypoint
Platform for APIs to get one unified user experience across the API
lifecycle to streamline the creation, management and consumption of
APIs.
• Utilized RAML, which is the first standard facilitating the design-first
approach to APIs.
• Web-service consumer along with DataWeave & DataSense to help
consume the SOAP web-service with very less effort.
• Out of the box platform capabilities like auto-generation of
implementation and mock service that are available in the platform
that helps to design an API.

Contenu connexe

Tendances

Express js api-versioning
Express js api-versioningExpress js api-versioning
Express js api-versioningAsia Tyshchenko
 
Spring cloud config manage configuration
Spring cloud config manage configurationSpring cloud config manage configuration
Spring cloud config manage configurationJanani Velmurugan
 
Line Messaging API Integration with Spring-Boot
Line Messaging API Integration with Spring-BootLine Messaging API Integration with Spring-Boot
Line Messaging API Integration with Spring-BootInnovationM
 
The anypoint platform for API's
The anypoint platform for API'sThe anypoint platform for API's
The anypoint platform for API'sAchyuta Lakshmi
 
Sendspace Api Guide
Sendspace Api GuideSendspace Api Guide
Sendspace Api GuideLiquidHub
 
EmberCLI Rails: An Integration Love Story.
EmberCLI Rails: An Integration Love Story.EmberCLI Rails: An Integration Love Story.
EmberCLI Rails: An Integration Love Story.Jonathan Jackson
 
API Test Automation
API Test Automation API Test Automation
API Test Automation SQALab
 
Postman. From simple API test to end to end scenario
Postman. From simple API test to end to end scenarioPostman. From simple API test to end to end scenario
Postman. From simple API test to end to end scenarioHYS Enterprise
 
Automate REST API Testing
Automate REST API TestingAutomate REST API Testing
Automate REST API TestingTechWell
 
Postman 101 for Students
Postman 101 for StudentsPostman 101 for Students
Postman 101 for StudentsPostman
 
Tokyo Azure Meetup #14 - Azure Functions Proxies
Tokyo Azure Meetup #14  -  Azure Functions ProxiesTokyo Azure Meetup #14  -  Azure Functions Proxies
Tokyo Azure Meetup #14 - Azure Functions ProxiesTokyo Azure Meetup
 
Orchestrating API Programs for your Team
Orchestrating API Programs for your TeamOrchestrating API Programs for your Team
Orchestrating API Programs for your TeamPostman
 
The Works 2018 - Software Track - Development 101: Build Using API and Overvi...
The Works 2018 - Software Track - Development 101: Build Using API and Overvi...The Works 2018 - Software Track - Development 101: Build Using API and Overvi...
The Works 2018 - Software Track - Development 101: Build Using API and Overvi...David Dourgarian
 
PHP Laravel Framework'üne Dalış
PHP Laravel Framework'üne DalışPHP Laravel Framework'üne Dalış
PHP Laravel Framework'üne Dalışemirkarsiyakali
 

Tendances (19)

Mule esb stripe
Mule esb stripeMule esb stripe
Mule esb stripe
 
Express js api-versioning
Express js api-versioningExpress js api-versioning
Express js api-versioning
 
Spring cloud config manage configuration
Spring cloud config manage configurationSpring cloud config manage configuration
Spring cloud config manage configuration
 
Line Messaging API Integration with Spring-Boot
Line Messaging API Integration with Spring-BootLine Messaging API Integration with Spring-Boot
Line Messaging API Integration with Spring-Boot
 
The anypoint platform for API's
The anypoint platform for API'sThe anypoint platform for API's
The anypoint platform for API's
 
Sendspace Api Guide
Sendspace Api GuideSendspace Api Guide
Sendspace Api Guide
 
EmberCLI Rails: An Integration Love Story.
EmberCLI Rails: An Integration Love Story.EmberCLI Rails: An Integration Love Story.
EmberCLI Rails: An Integration Love Story.
 
API Test Automation
API Test Automation API Test Automation
API Test Automation
 
Rest With Raml
Rest With RamlRest With Raml
Rest With Raml
 
Rails engines
Rails enginesRails engines
Rails engines
 
Angular vs FORWARD
Angular vs FORWARDAngular vs FORWARD
Angular vs FORWARD
 
Postman. From simple API test to end to end scenario
Postman. From simple API test to end to end scenarioPostman. From simple API test to end to end scenario
Postman. From simple API test to end to end scenario
 
Automate REST API Testing
Automate REST API TestingAutomate REST API Testing
Automate REST API Testing
 
Postman 101 for Students
Postman 101 for StudentsPostman 101 for Students
Postman 101 for Students
 
Tokyo Azure Meetup #14 - Azure Functions Proxies
Tokyo Azure Meetup #14  -  Azure Functions ProxiesTokyo Azure Meetup #14  -  Azure Functions Proxies
Tokyo Azure Meetup #14 - Azure Functions Proxies
 
Orchestrating API Programs for your Team
Orchestrating API Programs for your TeamOrchestrating API Programs for your Team
Orchestrating API Programs for your Team
 
The Works 2018 - Software Track - Development 101: Build Using API and Overvi...
The Works 2018 - Software Track - Development 101: Build Using API and Overvi...The Works 2018 - Software Track - Development 101: Build Using API and Overvi...
The Works 2018 - Software Track - Development 101: Build Using API and Overvi...
 
Salesforce APIs
Salesforce APIsSalesforce APIs
Salesforce APIs
 
PHP Laravel Framework'üne Dalış
PHP Laravel Framework'üne DalışPHP Laravel Framework'üne Dalış
PHP Laravel Framework'üne Dalış
 

En vedette

Web service invocation in mule
Web service invocation in muleWeb service invocation in mule
Web service invocation in muleAnilKumar Etagowni
 
Mule with rabbit mq
Mule with rabbit mqMule with rabbit mq
Mule with rabbit mqKhan625
 
Projekt Edukacja bez granic
Projekt Edukacja bez granicProjekt Edukacja bez granic
Projekt Edukacja bez graniczso7
 
Ford car on the cloud
Ford car on the cloudFord car on the cloud
Ford car on the cloudBala Iyer
 
Calcio. Registrazione del lavoro di allenamento e della partita
Calcio. Registrazione del lavoro di allenamento e della partitaCalcio. Registrazione del lavoro di allenamento e della partita
Calcio. Registrazione del lavoro di allenamento e della partitaCalzetti & Mariucci Editori
 
HANDWRITTEN DIGIT RECOGNITION USING k-NN CLASSIFIER
HANDWRITTEN DIGIT RECOGNITION USING k-NN CLASSIFIERHANDWRITTEN DIGIT RECOGNITION USING k-NN CLASSIFIER
HANDWRITTEN DIGIT RECOGNITION USING k-NN CLASSIFIERvineet raj
 
L05 language model_part2
L05 language model_part2L05 language model_part2
L05 language model_part2ananth
 
Does Pronunciation Instruction Promote Intelligibility and Comprehensibility?
Does Pronunciation Instruction Promote Intelligibility and Comprehensibility?Does Pronunciation Instruction Promote Intelligibility and Comprehensibility?
Does Pronunciation Instruction Promote Intelligibility and Comprehensibility?ozpar
 
Machine Learning Lecture 2 Basics
Machine Learning Lecture 2 BasicsMachine Learning Lecture 2 Basics
Machine Learning Lecture 2 Basicsananth
 
GIS Services development using CloudEO platform data and Tools
GIS Services development using CloudEO platform data and ToolsGIS Services development using CloudEO platform data and Tools
GIS Services development using CloudEO platform data and ToolsDavid Eliseo Martinez Castellanos
 

En vedette (14)

Web service invocation in mule
Web service invocation in muleWeb service invocation in mule
Web service invocation in mule
 
Mule with rabbit mq
Mule with rabbit mqMule with rabbit mq
Mule with rabbit mq
 
Primer parcial dfso
Primer parcial dfsoPrimer parcial dfso
Primer parcial dfso
 
Projekt Edukacja bez granic
Projekt Edukacja bez granicProjekt Edukacja bez granic
Projekt Edukacja bez granic
 
Seleccionados SOLF nº16 (Xuño 2016)
Seleccionados SOLF nº16 (Xuño 2016)Seleccionados SOLF nº16 (Xuño 2016)
Seleccionados SOLF nº16 (Xuño 2016)
 
Boletín de novidades. Sección infantil-xuvenil. Setembro-outubro 2016
Boletín de novidades. Sección infantil-xuvenil. Setembro-outubro 2016Boletín de novidades. Sección infantil-xuvenil. Setembro-outubro 2016
Boletín de novidades. Sección infantil-xuvenil. Setembro-outubro 2016
 
Ford car on the cloud
Ford car on the cloudFord car on the cloud
Ford car on the cloud
 
CES 2017 Show Floor Maps
CES 2017 Show Floor MapsCES 2017 Show Floor Maps
CES 2017 Show Floor Maps
 
Calcio. Registrazione del lavoro di allenamento e della partita
Calcio. Registrazione del lavoro di allenamento e della partitaCalcio. Registrazione del lavoro di allenamento e della partita
Calcio. Registrazione del lavoro di allenamento e della partita
 
HANDWRITTEN DIGIT RECOGNITION USING k-NN CLASSIFIER
HANDWRITTEN DIGIT RECOGNITION USING k-NN CLASSIFIERHANDWRITTEN DIGIT RECOGNITION USING k-NN CLASSIFIER
HANDWRITTEN DIGIT RECOGNITION USING k-NN CLASSIFIER
 
L05 language model_part2
L05 language model_part2L05 language model_part2
L05 language model_part2
 
Does Pronunciation Instruction Promote Intelligibility and Comprehensibility?
Does Pronunciation Instruction Promote Intelligibility and Comprehensibility?Does Pronunciation Instruction Promote Intelligibility and Comprehensibility?
Does Pronunciation Instruction Promote Intelligibility and Comprehensibility?
 
Machine Learning Lecture 2 Basics
Machine Learning Lecture 2 BasicsMachine Learning Lecture 2 Basics
Machine Learning Lecture 2 Basics
 
GIS Services development using CloudEO platform data and Tools
GIS Services development using CloudEO platform data and ToolsGIS Services development using CloudEO platform data and Tools
GIS Services development using CloudEO platform data and Tools
 

Similaire à How to – rest api proxy to soap webservice

How to – wrap soap web service around a database
How to – wrap soap web service around a databaseHow to – wrap soap web service around a database
How to – wrap soap web service around a databaseSon Nguyen
 
IBM Integration Bus and REST APIs - Sanjay Nagchowdhury
IBM Integration Bus and REST APIs - Sanjay NagchowdhuryIBM Integration Bus and REST APIs - Sanjay Nagchowdhury
IBM Integration Bus and REST APIs - Sanjay NagchowdhuryKaren Broughton-Mabbitt
 
Hia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economyHia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economyAndrew Coleman
 
SOAP To REST API Proxy
SOAP To REST API ProxySOAP To REST API Proxy
SOAP To REST API ProxyVince Soliza
 
APIs Design - Creation - Management.pdf
APIs Design - Creation - Management.pdfAPIs Design - Creation - Management.pdf
APIs Design - Creation - Management.pdfWilliamELKAIMPhd
 
RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture StrategyOCTO Technology
 
Best practices and advantages of REST APIs
Best practices and advantages of REST APIsBest practices and advantages of REST APIs
Best practices and advantages of REST APIsAparna Sharma
 
zendframework2 restful
zendframework2 restfulzendframework2 restful
zendframework2 restfultom_li
 
What are restful web services?
What are restful web services?What are restful web services?
What are restful web services?Aparna Sharma
 
Top 7 wrong common beliefs about Enterprise API implementation
Top 7 wrong common beliefs about Enterprise API implementationTop 7 wrong common beliefs about Enterprise API implementation
Top 7 wrong common beliefs about Enterprise API implementationOCTO Technology
 
How to Connect to Any REST API (Without Writing Any Code)
How to Connect to Any REST API (Without Writing Any Code)How to Connect to Any REST API (Without Writing Any Code)
How to Connect to Any REST API (Without Writing Any Code)Safe Software
 
REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)Sascha Wenninger
 
Web Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the futureWeb Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the futureToru Kawamura
 
Extend soa with api management Sangam18
Extend soa with api management Sangam18Extend soa with api management Sangam18
Extend soa with api management Sangam18Vinay Kumar
 
Do not automate GUI testing
Do not automate GUI testingDo not automate GUI testing
Do not automate GUI testingAtila Inovecký
 
Integration on Force.com Platform
Integration on Force.com PlatformIntegration on Force.com Platform
Integration on Force.com PlatformAmit Jain
 

Similaire à How to – rest api proxy to soap webservice (20)

How to – wrap soap web service around a database
How to – wrap soap web service around a databaseHow to – wrap soap web service around a database
How to – wrap soap web service around a database
 
IBM Integration Bus and REST APIs - Sanjay Nagchowdhury
IBM Integration Bus and REST APIs - Sanjay NagchowdhuryIBM Integration Bus and REST APIs - Sanjay Nagchowdhury
IBM Integration Bus and REST APIs - Sanjay Nagchowdhury
 
Hia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economyHia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economy
 
SOAP To REST API Proxy
SOAP To REST API ProxySOAP To REST API Proxy
SOAP To REST API Proxy
 
APIs Design - Creation - Management.pdf
APIs Design - Creation - Management.pdfAPIs Design - Creation - Management.pdf
APIs Design - Creation - Management.pdf
 
RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture Strategy
 
Best practices and advantages of REST APIs
Best practices and advantages of REST APIsBest practices and advantages of REST APIs
Best practices and advantages of REST APIs
 
zendframework2 restful
zendframework2 restfulzendframework2 restful
zendframework2 restful
 
Web APIs
Web APIsWeb APIs
Web APIs
 
What are restful web services?
What are restful web services?What are restful web services?
What are restful web services?
 
Top 7 wrong common beliefs about Enterprise API implementation
Top 7 wrong common beliefs about Enterprise API implementationTop 7 wrong common beliefs about Enterprise API implementation
Top 7 wrong common beliefs about Enterprise API implementation
 
Octo API-days 2015
Octo API-days 2015Octo API-days 2015
Octo API-days 2015
 
How to Connect to Any REST API (Without Writing Any Code)
How to Connect to Any REST API (Without Writing Any Code)How to Connect to Any REST API (Without Writing Any Code)
How to Connect to Any REST API (Without Writing Any Code)
 
REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)
 
Api design part 1
Api design part 1Api design part 1
Api design part 1
 
Web Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the futureWeb Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the future
 
Extend soa with api management Sangam18
Extend soa with api management Sangam18Extend soa with api management Sangam18
Extend soa with api management Sangam18
 
REST full API Design
REST full API DesignREST full API Design
REST full API Design
 
Do not automate GUI testing
Do not automate GUI testingDo not automate GUI testing
Do not automate GUI testing
 
Integration on Force.com Platform
Integration on Force.com PlatformIntegration on Force.com Platform
Integration on Force.com Platform
 

Plus de Son Nguyen

Your new maven friend – the mule maven
Your new maven friend – the mule mavenYour new maven friend – the mule maven
Your new maven friend – the mule mavenSon Nguyen
 
Soa governance for the modern business
Soa governance for the modern businessSoa governance for the modern business
Soa governance for the modern businessSon Nguyen
 
Quality sdk for your apis in minutes!
Quality sdk for your apis in minutes!Quality sdk for your apis in minutes!
Quality sdk for your apis in minutes!Son Nguyen
 
Maven tools & archetypes
Maven tools & archetypesMaven tools & archetypes
Maven tools & archetypesSon Nguyen
 
Let api change your relationship with your doctor
Let api change your relationship with your doctorLet api change your relationship with your doctor
Let api change your relationship with your doctorSon Nguyen
 
Increase revenue and reinvigorate your business with api
Increase revenue and reinvigorate your business with apiIncrease revenue and reinvigorate your business with api
Increase revenue and reinvigorate your business with apiSon Nguyen
 
Anypoint runtime manager v1
Anypoint runtime manager v1Anypoint runtime manager v1
Anypoint runtime manager v1Son Nguyen
 
A good api strategy can help turn your
A good api strategy can help turn yourA good api strategy can help turn your
A good api strategy can help turn yourSon Nguyen
 
10 steps to design and build the perfect
10 steps to design and build the perfect10 steps to design and build the perfect
10 steps to design and build the perfectSon Nguyen
 
What is the difference between using private flow
What is the difference between using private flowWhat is the difference between using private flow
What is the difference between using private flowSon Nguyen
 
Troubleshooting mule
Troubleshooting muleTroubleshooting mule
Troubleshooting muleSon Nguyen
 
Running mule as worker role on azure
Running mule as worker role on azureRunning mule as worker role on azure
Running mule as worker role on azureSon Nguyen
 
Real time data processing with anypoint connector for kafka
Real time data processing with anypoint connector for kafkaReal time data processing with anypoint connector for kafka
Real time data processing with anypoint connector for kafkaSon Nguyen
 
Performance tuning in mule
Performance tuning in mulePerformance tuning in mule
Performance tuning in muleSon Nguyen
 
Mule intelli j tips
Mule intelli j tipsMule intelli j tips
Mule intelli j tipsSon Nguyen
 
Introducing the anypoint connector for redis
Introducing the anypoint connector for redisIntroducing the anypoint connector for redis
Introducing the anypoint connector for redisSon Nguyen
 
How to – data integrity checks in batch processing
How to – data integrity checks in batch processingHow to – data integrity checks in batch processing
How to – data integrity checks in batch processingSon Nguyen
 
How soa paved the way for cloud
How soa paved the way for cloudHow soa paved the way for cloud
How soa paved the way for cloudSon Nguyen
 
Mq user and role access
Mq user and role accessMq user and role access
Mq user and role accessSon Nguyen
 
Anypoint mq queues and exchanges
Anypoint mq queues and exchangesAnypoint mq queues and exchanges
Anypoint mq queues and exchangesSon Nguyen
 

Plus de Son Nguyen (20)

Your new maven friend – the mule maven
Your new maven friend – the mule mavenYour new maven friend – the mule maven
Your new maven friend – the mule maven
 
Soa governance for the modern business
Soa governance for the modern businessSoa governance for the modern business
Soa governance for the modern business
 
Quality sdk for your apis in minutes!
Quality sdk for your apis in minutes!Quality sdk for your apis in minutes!
Quality sdk for your apis in minutes!
 
Maven tools & archetypes
Maven tools & archetypesMaven tools & archetypes
Maven tools & archetypes
 
Let api change your relationship with your doctor
Let api change your relationship with your doctorLet api change your relationship with your doctor
Let api change your relationship with your doctor
 
Increase revenue and reinvigorate your business with api
Increase revenue and reinvigorate your business with apiIncrease revenue and reinvigorate your business with api
Increase revenue and reinvigorate your business with api
 
Anypoint runtime manager v1
Anypoint runtime manager v1Anypoint runtime manager v1
Anypoint runtime manager v1
 
A good api strategy can help turn your
A good api strategy can help turn yourA good api strategy can help turn your
A good api strategy can help turn your
 
10 steps to design and build the perfect
10 steps to design and build the perfect10 steps to design and build the perfect
10 steps to design and build the perfect
 
What is the difference between using private flow
What is the difference between using private flowWhat is the difference between using private flow
What is the difference between using private flow
 
Troubleshooting mule
Troubleshooting muleTroubleshooting mule
Troubleshooting mule
 
Running mule as worker role on azure
Running mule as worker role on azureRunning mule as worker role on azure
Running mule as worker role on azure
 
Real time data processing with anypoint connector for kafka
Real time data processing with anypoint connector for kafkaReal time data processing with anypoint connector for kafka
Real time data processing with anypoint connector for kafka
 
Performance tuning in mule
Performance tuning in mulePerformance tuning in mule
Performance tuning in mule
 
Mule intelli j tips
Mule intelli j tipsMule intelli j tips
Mule intelli j tips
 
Introducing the anypoint connector for redis
Introducing the anypoint connector for redisIntroducing the anypoint connector for redis
Introducing the anypoint connector for redis
 
How to – data integrity checks in batch processing
How to – data integrity checks in batch processingHow to – data integrity checks in batch processing
How to – data integrity checks in batch processing
 
How soa paved the way for cloud
How soa paved the way for cloudHow soa paved the way for cloud
How soa paved the way for cloud
 
Mq user and role access
Mq user and role accessMq user and role access
Mq user and role access
 
Anypoint mq queues and exchanges
Anypoint mq queues and exchangesAnypoint mq queues and exchanges
Anypoint mq queues and exchanges
 

Dernier

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 

Dernier (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

How to – rest api proxy to soap webservice

  • 1. HowTo – REST API proxy to SOAP webservice
  • 2. • This blog post is a continuation of our first How To series, “APIFy your integrations,” where we started off by creating a SOAP API around a database. • Some organizations are entirely invested in either SOAP or RESTful web services. There is plenty of material already written on SOAP vs. REST, so there’s no need for us to take that on here.
  • 3. • It can be a use case driven decision where SOAP and REST can co- exist. With this approach, it is a common scenario to have a hybrid environment where some system APIs exist as SOAP based web services that need to have a REST interface defined. • In this blog, we will walk through creating such a REST API proxy on top of an existing SOAP web service.
  • 4. • To get the best fit for our REST API, we will adopt a design first approach. Before we touch a line of code to build the API, consider what value our API needs to offer its consumers and exactly how they will need to consume it. Allow time to get this interface right. Iterate on the design, mock the implementation to enable consumer interaction, and in parallel ensure it’ll be deliverable by your implementers.
  • 5. We will make use of an API description language called RAML that: • 1) provides a blueprint to design APIs from the top down with your team before you decide on an implementation or begin to code. • 2) acts as a contract by which we communicate with the API consumers/partners/developers what this API will do and decouple them from implementation. • 3) acts as the metadata that facilitates system-to-system and machine-to- machine interactions as well as a place to describe human readable descriptions about the API. • 4) provides tooling and specification that is very simple and clean for API stakeholders to use.
  • 6. System prerequisites: • MuleSoft Anypoint Studio. • API Designer. • An existing SOAP web service. (refer to part 1 of this series to create and deploy a SOAP web service using Anypoint platform). The project for part 1 is downloadable here).
  • 7. Steps: • If there is no existing SOAP web service to proxy to, check part 1 of this series. • Sign up for an Anypoint account. Log into Anypoint Management Console and create a new API. • Open API Designer in the API detail page. • Anypoint_Platform_for_APIs___API_administration___loanRestAPI_-_1_0 • Create a RAML file and document the interface as desired for the REST API • http://raml.org/ • (Note: If you are using the sample web service from part 1 of this series then refer to the RAML file in attached project).
  • 8. • Export the api.raml file. • Open Anypoint Studio and create a new project. Check “Add APIkit components” and select the RAML file created in step 4. Click Finish. • New_Mule_Project_and_Mule_Design_-_Anypoint_Studio_- __Users_neerav_agrawal_Mule_Workspace_MuleWorkspace_Workspace_ API_Integration_and_Downloads • When you create a new APIkit project and click Finish, Anypoint Studio uses the imported RAML file to generate skeletal backend flows, one for each resource-action pairing in the RAML file. Furthermore, Studio pre- populates each of the flows with one or more message processors that perform “mock” activities based on the content of the example response included with each resource-action pairing in the RAML file.
  • 9. • Delete the “Set Payload” activity from the flow “get:/loan:api-config.” • Add a “Web Service Consumer” connector to the flow “get:/loan:api- config”. Click on connector configuration. • In Connector configuration add the WSDL location for the SOAP web service. If the WSDL path is correctly configured it will automatically populate the remaining fields. Click Ok. (Note: Enter the WSDL URL of the web service you want to proxy to).
  • 10. • Global_Element_Properties • Add a “Transform Message” component to the flow. Here we will configure the request message for the SOAP web service. Add the input parameters. In this case, we extract the value from the HTTP query param and assign it to the SOAP request(Note: Make sure the namespace is configured correctly as per the target web service requirement).
  • 11. • We just implemented a REST API interface to a back-end service. We can import this project as an Anypoint Studio generated Deployable Archive and deploy it to a mule runtime on-premise or cloud. • This blog is a follow-up to part 1 of the series “Create APIs on top of an integration”.
  • 12. To create a REST API we leveraged the following features of Anypoint Platform: • Adopted a design-first approach and use Mulesoft’s Anypoint Platform for APIs to get one unified user experience across the API lifecycle to streamline the creation, management and consumption of APIs. • Utilized RAML, which is the first standard facilitating the design-first approach to APIs. • Web-service consumer along with DataWeave & DataSense to help consume the SOAP web-service with very less effort. • Out of the box platform capabilities like auto-generation of implementation and mock service that are available in the platform that helps to design an API.