Over a million developers have joined DZone.

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

SnapLogic is the leading self-service enterprise-grade integration platform. Download the 2018 GartnerMagic Quadrant for Enterprise iPaaS or play around on the platform, risk free, for 30 days.

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

With SnapLogic’s integration platform you can save millions of dollars, increase integrator productivity by 5X, and reduce integration time to value by 90%. Sign up for our risk-free 30-day trial!

mule esb ,mule studio ,mule school

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}