Can MuleSoft connect ________ (insert name of any system) to ________? Regardless of how you’ve filled in the blanks, anyone from MuleSoft will answer with an enthusiastic, ‘Yes, we can!’
To enable this universal connectivity, along with increasing the breadth and the quality of our out-of-the-box connectors, we are continuing to invest in expanding the usability and feature set of our connectivity tooling, including our: HTTP Connector, Web Service Consumer, and our SDK, Anypoint Connector DevKit.
DevKit, as many users have noticed, went through a tremendous facelift in the past year. Along with new features such as real-time error highlighting and and code templates that make the development process more intuitive, we’ve also added other features such as support for external libraries and the ability to generate functional and interop test cases.
To add to this list, we are thrilled to introduce a new DevKit feature called SOAP Connect, which will be included in our Mule 3.7 release.
What is SOAP Connect?
SOAP Connect is a feature within DevKit that allows users to quickly package multiple WSDL files or fetch them dynamically into a single reusable connector with minimal coding. Not only does this simplify the building process, but the dynamic fetching of APIs dramatically simplifies the process of updating API versions as well. On top of this, connectors created using SOAP Connect also support DataSense, which allows you to dynamically pick and choose your connector operations while the connector is being consumed.
Web Service Consumer vs. SOAP Connect
Web Service Consumer is a pre-installed connector within Anypoint Studio that you can use to quickly consume an API using the information contained in a service’s WSDL. You simply need to identify the location of the WSDL file, then ask the Web Service Consumer to configure itself from the WSDL – the host, the port, and the address.
When considering your options, if you have all the configuration details for the WSDL and only need to consume a few services, we recommend using the Web Service Consumer. It’ll be the quickest and simplest option for connecting.
However, if you need to connect to multiple APIs (we know some applications have thousands of WSDLs) and want to use them repeatedly in a consistent manner, we would recommend SOAP Connect. While the Web Service Consumer will enable connectivity, SOAP Connect will build a connector which allows you to scale and reuse in a consistent manner across the organization.
Using SOAP Connect
- First, let’s create a new Anypoint Connector Project by right clicking in the Package Explorer.
- Select the SOAP Connect option.
- Choose a name for the connector and add the WSDL file(s). For this example, we are going to pick Cookbook as the connector name, and add a WSDL file from the tutorial.
- Choose an icon (or use the default icon) for your connector, then hit finish.
Let’s take a look at the code generated under
Note that the method annotated with
@WsdlServiceRetriever (#18) returns a single
ServiceDefinition object providing DevKit with the following information:
- the place where the WSDL file is (in this case, it is remote, but it could be local /src/main/resources)
- the service
- the port
All of the above are auto-populated by the wizard, which took the job of introspecting the WSDL file under http://devkit-cookbook.cloudhub.io/soap?wsdl. Additionally, the code generated will also allow users to change the endpoint by feeding a different value under the
- To put the connector to use, create a flow with the Cookbook connector surrounded by two HTTP Connectors.
To try the feature for yourself, make sure you download Mule 3.7 (Anypoint Studio 5.2) and the DevKit plugin early July. For a detailed walkthrough of this feature, register now for our demo on July 8th at 10am PT/ 1pm ET.