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

How to Create a SOAP API Proxy in Mulesoft ESB

DZone's Guide to

How to Create a SOAP API Proxy in Mulesoft ESB

Here's a simple way to create a SOAP API proxy using Mule ESB.

· Integration Zone ·
Free Resource

WSO2 is the only open source vendor to be named a leader in The Forrester Wave™: API Management Solutions, Q4 2018 Report. Download the report now or try out our product for free.

Here's a simple way to create a SOAP API proxy in Mule ESB.

1. Let's assume that this is your WSDL link: http://domain.com:8080/somename/name2?wsdl.

2. Now open this link into your browser and copy its content into Notepad.

3. Do this with wsdlFileName.wsdl, as well.

4. Check your Namespace name and service name in WSDL. Below is a hint to find a tag. You will find a tag name like this:

targetNamespace="http://ws.los.xyz.com"

 service name="XyzServiceService"

5. Now, we are ready to create a proxy! Open the studio and start your work.

6. Drag HTTP Listener, CXF Connector, and HTTP Requester.

7. Configure the HTTP listener give port(8087) as per your system and provide the path as /somename/name2 from your WSDL URL.

8. Configure the CXF Connector:          

 operation :- Proxy service
    Namespace :- http://ws.los.xyz.com
    Service :- XyzServiceService
    Check Box :- validation Enabled
    Payload :- envelope

Note: Paste the wsdlFileName.wsdl file into the resource directory.    

Advanced TAB > WSDL Location: wsdlFileName.wsdl (WSDL file name).

Advanced TAB > Select a checkbox of SOAP Version 1.1 or 1.2 as per your service.   

9. Now configure the HTTP requester:

Protocal :- Http (as per wsdl link)
    port     :-  8080 (as per wsdl link)
    basepath :-  /somename/name2 (as per wsdl link)
    path :- #[message.inboundProperties.'http.listener.path']
    method :- #[message.inboundProperties.'http.method']

10. When the proxy API is ready, you can run it and check it with this link.

Please refer to the XML code below:

<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8087" doc:name="HTTP Listener Configuration"/>
    <http:request-config name="HTTP_Request_Configuration"  host="domain.com" port="8080" basePath="somename/name2" doc:name="HTTP Request Configuration" protocol="HTTP"/>
 <flow name="HttpWebServiceBridge">
         <http:listener config-ref="HTTP_Listener_Configuration" path="/TUWebService/services/TUWebService" doc:name="HTTP"/>
          <cxf:proxy-service
             wsdlLocation="wsdlFileName.wsdl" 
             service="XyzServiceService"
             namespace="http://ws.los.xyz.com"
             validationEnabled="true"
             enableMuleSoapHeaders="false" doc:name="CXF" payload="envelope"/>
         <http:request config-ref="HTTP_Request_Configuration" path="#[message.inboundProperties.'http.listener.path']" method="#[message.inboundProperties.'http.method']" doc:name="HTTP"/>
 </flow>

IAM is now more than a security project. It’s an enabler for an integration agile enterprise. If you’re currently evaluating an identity solution or exploring IAM, join this webinar.

Topics:
mulesoft ,integration ,soap api

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}