Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
Showing results for 
Search instead for 
Did you mean: 
Active Contributor

When I wanted to try out SAP PI's JMS adapter for the first time I was wondering is there
any way I can use it with free JMS provider. I knew about MQSeries, SonicMQ but those
were a little bit too big to start with especially if you don't have a license. Then I found out
about J2EE's JMS queue which can be used for this purpose and it's usage was later on presented in one of William Li's blogs:
How to use SAP's WebAS J2EE's JMS Queue in Exchange Infrastructure
This was something I was looking for but the biggest drawback of that approach was
that where was no monitoring nor testing tool for J2EE's JMS Queues. It turns out however
that there are a few alternatives and I'd like to show you one of them - ActiveMQ by Apache.

ActiveMQ is a powerful JMS platform and can easily integrate with SAP PI. Below you can find
a step by step guide on how to make it talk to SAP Process Integration.

1. at first you need to download the latest version :

2. then you need to use file activemq-all-5.3.0.jar in order to create deployable driver as per OSS note:

1138877 PI 7.1 : How to Deploy External Drivers JDBC/JMS Adapters

(remember to remove the content from javax/jms folder as per description in OSS note)

3. next you can deploy the JMS driver to SAP PI using JSPM (in case of using SAP PI 7.1)

4. then you should get your ActiveMQ running by following the guide published on this page:

5. once you get it running you can open page: http://localhost:8161/admin and create two queues that will be used later on with SAP PI (one for outbound and one for inbound scenario) my queues will have names: testdlaPI (outbound) and testdlaPIIB (inbound)

6. now once this is done we can create our JMS communication channels. You need to select Generic JMS configuration and fill in the data as per the screenshot below for both channels (just the queue name will be different)

Remember that port is in most cases 61616 unless any other is specified in configuration file: activemq.xml

7. then you can check if the channels are working properly in communication channel monitor

8. if they are working correctly you can create a whole JMS - JMS scenario using those two channels

9. if both channels are working we can try to put a message to one of our queues (outbound)
as shown per screen below by clicking on the queues - send to link on the main screen of activeMQ administration page (we only need to put the message we can leave all the rest of the parameters as they are - they can be used later on for some other tests)

10. once we click the send button we should be able to see that in a few seconds the message will be available in the inbound queue and gone from the outbound queue

Hope this blog gave you a nice idea on how easy can JMS configuration be when used with activeMQ.

Labels in this area