linkedin

Solace – MuleSoft Integration

Here we are going to explore what Solace PubSub+ is, what it can do and how Solace MuleSoft Integration can be easily achieved.

Introduction to Solace for Solace MuleSoft Integration

Solace PubSub+ message brokers efficiently move information between all kinds of applications, users and devices, anywhere in the world. They operate over all kinds of networks. As part of enterprise messaging for MuleSoft, Solace enables seamless event-driven architectures. These architectures support modern integration patterns; furthermore, they enhance real-time communication.

For example, Solace makes its state-of-the-art PubSub+ messaging middleware technology available in three ways:

  • Solace PubSub+ is a powerful message broker that runs on any computer in a virtual machine or a container, supporting Solace MuleSoft Integration needs across hybrid environments.
  • SolacePubSub+ Cloud is a managed messaging as a service (MaaS) offering that lets developers easily tap into the power of Solace PubSub+ without installing, maintaining or upgrading messaging software – ideal for MuleSoft Solace integration scenarios.
  • Solace PubSub+ appliances route messages entirely in hardware for unparalleled capacity, performance and robustness, with the low TCO of a turnkey appliance.
Solace - MuleSoft Integration

Solace – MuleSoft Integration

Solace PubSub+ message brokers—set up as any combination of software, hardware or cloud—give you an enterprise-grade digital backbone. This foundation is essential for Solace MuleSoft Integration, ensuring reliable API-led and event-driven connectivity.

Key Features Supporting Solace MuleSoft Integration

  • Support for major cloud environments, enabling hybrid connectivity between Solace and MuleSoft APIs.
  • Support for multiple protocols, making Solace ideal for MuleSoft Solace messaging integration.
  • Easy integration with 3rd party products, including Anypoint Platform.
  • Enterprise-grade security.
  • High reliability and high performance for Pub/Sub messaging.

Moreover, these capabilities make Solace a strong foundation for scalable integrations. Now that we understand Solace, let us dive into the Solace MuleSoft Integration steps.

Steps to Implement Solace MuleSoft Integration

1) Navigate to https://console.solace.cloud/login link, and create an account where we will configure topics/queues for Solace MuleSoft Integration.

Solace Cloud login page

2) After clicking on Sign Up, the next screen will appear where you need to fill in all details and agree on the terms and conditions. Then click Sign Up, which will create your account in Solace. This account is a trial account for 60 days.

3) After successfully Sign-Up, the following screen will appear where you need to click on the “Cluster Manager“:

MuleSoft Solace configuration

4) After that, you need to create a new service, which you can do by clicking on the “+“ icon.

Solace messaging in MuleSoft

Choosing Deployment Options in Solace Cloud

5) For Service creation there are many things we need to select. The very first one is Service Type, for that, we have two options: “Enterprise“ or “Developer“. As our account is a trial, we cannot leverage all the features. Hence, we need to select Developer in Service Type.

Create Services

6) The second option is we need to “Select Cloud” where we need to deploy the service. We have four options: Amazon Web Services, Google Cloud, Microsoft Azure, and Private Cloud. We are choosing “Amazon Web Services“ as the cloud to deploy our service.

7) Then in the 3rd step, all the regions are represented by green dots where the Selected Cloud is having. We can select any of the regions by clicking on a Green Dot.

8) Next, you can give the name of your service. Below the name of the service, there is “Show Advanced Connection options“

Solace - MuleSoft Integration

9) Click on the drop-down button corresponding to “Solace Messaging“ as below:

Solace - MuleSoft Integration

10) After that, enable all the ports for “Solace Messaging“ by checking the check box:

Solace - MuleSoft Integration

11) In the same way, Enable all the ports for Solace Web Messaging, AMQP, MQTT, and REST. Do this by checking the check box.

Enabling Messaging Protocols for Integration

12) After that click on the “Start Service“ button, it may take some time while starting service. Once the service got started following screen will appear:

Solace - MuleSoft Integration

13) Click on the “Try Me!” tab as shown below:

Solace - MuleSoft Integration

14) There you can see the Publisher and Subscriber section where you need to give the Topic name. Here we replaced “try-me“ with “testTopic“. We did the same in the Subscriber part. After this, you need to make the connection of Publisher and Subscriber. Please follow the exact sequence as mentioned below so that we can see testTopic is published and connected. As well as we have subscribed to testTopic on the right with proper connection:

Solace - MuleSoft Integration

15) Click on the “Connect“ tab as shown below, which just expands the “REST“ part. Then, note down the username, password, and REST host. We will use these while configuring the HTTP request component during implementation.

Solace - MuleSoft Integration

16) Expand solace message, note Username, Password, Message VPN, and SMF Host which will be used to configure the Listener.

Solace - MuleSoft Integration

Configuring MuleSoft for Solace PubSub+ Integration

17) Now we are done with the Solace part, let us go for its integration on MuleSoft. Create a new Mule Project in AnyPoint Studio. Let us first focus on publishing to Topic part first. For this, you need to create the below flow which will use HTTP Listener and HTTP Request component:

HTTP Listener config in Anypoint Studio

18) Click on the Listener component, after you need to click on the “+“ symbol to create a new configuration:

HTTP Listener

After clicking on the. “+“ symbol, the below screen will appear where you need to give configuration name, host, and port. I have given below names, then click on “Ok“:

HTTP Listener config in Anypoint Studio

19) Then you need to provide a path, here I provided “/test“ as a path as shown below:

Errors

20) Now let us configure the “HTTP Request“ component. Click on the HTTP Request component. The below screen will appear. Just click “+“ corresponding to the configuration:

Request

21) After clicking on “+“ corresponding to Configuration, the below screen will appear:

HTTP Request configuration

22) In Host and Port, fill with the values which we got from step 15. Something similar as below:

HTTP Request configuration

23) Scroll down the Configuration you will find Authentication from there, you choose Basic Authentication:

General

24) In the Username and Password, you can fill the username and password which we get in Step 15. Then Click Ok.

Password config

25) After the configuration is final, then we need to fill the following details in Request. In the request method choose “POST“, and in the Path, we need to select what topic name we have given. So here in Path, I mentioned “/testTopic“.

Request config

Subscriber Flow for MuleSoft Solace Messaging

26) Now we are done with publisher flow, now let us create the Subscriber flow. In Anypoint Studio:

In this stage, we use the “On New Message“ component of JMS and logger to log the payload.

Logger

27) Click on the logger, and log the payload as below:

Logger config

28) Now click the “On New Message“ component. In the Destination use “testTopic“, as this is the name of the Topic. In the “Consumer type,” choose “Topic consumer“ and in the “Number of Consumer,” fill “1“.

Logger values

29) After that click on the “+“ icon corresponding to the configuration:

On new msg

30) After clicking on “+“ icon, following screen will appear:

JMS config

Setting Up the JMS Connection for Solace MuleSoft Integration

31) Now in the Connection field, choose “Generic Connection“:

Connection

32) Click the “Configure“ button corresponding to “JMS Client“, then click on “Add Maven dependency“.

JMS connection

33) Now in the Search Maven Central, search for “sol-jms“ as shown below, then select sol-jms:10.10.0 and click Finish:

Maven

34) Now in Connection Factory, choose Edit Inline:

Bean reference

35) In the “Connection Factory jndi name”, write “/jms/cf/default“:

Cache

36) Now check the “Name resolver builder“, and fill the following details

Jndi intial context factory: com.solacesystems.jndi.SolJNDIInitialContextFactory

Jndi provider url: smf://username:password@smfurl

Now you can replace url username, password and smfurl with the details we got in Step 16.

eg: smf://solace-cloud-client:[email protected]:55555:

JMS custom

37) Select “Edit Inline“ in the Provider Properties:

JMS provider

38) Then add key and value in the key. Write java.naming.security.principal and in its value write username@vpn. You can replace the value of username and message VPN in Step 16.

Provider property

39) Now in connection, fill the username and password which we got from Step 16, then click Ok.

Property config

40) Finally, after completing the integration, start the mule application and hit the endpoint with some message :

end page

41) Like we have a message as “Vikas“ in the body. So go to the solace console, there you can see your published message:

Publish

42) As we have also subscribed to a topic in our application. So the same message you can see in the logs of the mule application:

Console

Conclusion: Benefits of Solace MuleSoft Integration

We hope this walkthrough helps you better understand how to leverage Solace PubSub+ through Solace MuleSoft Integration. This will help you build scalable, event-driven architectures.

References