Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Provide a REST Proxy Interface to a SOAP Web Service in Mule

DZone's Guide to

Provide a REST Proxy Interface to a SOAP Web Service in Mule

This tutorial will show you how to create a REST proxy interface for a SOAP web service in a Mule flow.

· Integration Zone ·
Free Resource

The State of API Integration 2018: Get Cloud Elements’ report for the most comprehensive breakdown of the API integration industry’s past, present, and future.

Use Case: Expose ipLocationcwebservice as a REST XML-based web service
Call to an External Webservice–ipLocation.

Use this wsdl file (http://ws.cdyne.com/ip2geo/ip2geo.asmx?wsdl).

Objective: Provide a Rest proxy interface to a SOAP web service.

1.  Create a new project:

File > New > Mule Project

Image title

Image title

Enter the "Project Name" and click "Finish".

2. Drag and Drop the "HTTP Connector" to canvas from right and create a "Connector Configuration".

Image title

2.1. Click on the Green + sign shown in above picture and enter the configuration values (Host, Port).

Image title

3. Drag and Drop "Variable" in the current flow.       

3.1. Enter the XPATH  expression in the value field of the Variable property.

Image title

4. Drag and Drop "Transform Message" transformer to the flow to map the variable value to the 3rd-party service’s input.

Image title


5.  Drag and Drop the "web service consumer" Connector to the flow to consume the 3rd-party service.

6.  Click on the Green + icon shown in the above picture and enter the value of the WSDl location you are using from the 3rd-party and select other parameters accordingly (Service, Port, Address).

Image title

7. Save and Run the project.

8. Final Flow:

Image title

Your API is not enough. Learn why (and how) leading SaaS providers are turning their products into platforms with API integration in the ebook, Build Platforms, Not Products from Cloud Elements.

Topics:
mule esb ,mule studio ,mule school

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}