SAP Process Integration – RabbitMQ AMQP 0-9-1 integration

The Advantco AMQP adapter for SAP Netweaver now supports integration with RabbitMQ. This cheatsheet explains how to configure the AMQP channels to send or to receive messages to/from RabbitMQ. To integrate with RabbitMQ thru SAP PI, select AMQP 0-9-1 as Message Protocol.

 

pic 2.jpg

 

For AMQP 0-9-1, follows the following queue/topic syntax:

 

1. For sender adapter: Assume that the adapter consumes messages from queue Q: In AMQP 0-9-1, to identify a queue, we need declare a binding from an exchange to that queue. There is no other way to directly use the queue name only. So: – If you already have had a direct exchange E that binds to queue Q with routing key K, then you can enter direct://E/K/Q into the Queue/Topic field. General syntax is direct://// – Or you can simply enter the queue name (Q) into the Queue/Topic field, then the adapter automatically creates a binding from the built-in direct exchange amq.direct to queue Q using the queue name as routing key.

 

pic 3.jpg

 

2. For receiver adapter: Assume that the adapter publishes messages to queue Q: In AMQP 0-9-1, messages must be directly published to exchanges; the messages are then routed to target queue via routing key. So please enter the following into the Queue/Topic field: – If you want to publish messages to direct exchange E that binds to queue Q with routing key K:direct://E/K – If you want to publish messages to topic exchange E that binds to queue Q with routing key K:topic://E/K – If you want to publish messages to fanout or headers exchange E that binds to queue Q: fanout://E headers://E

 

pic 4.jpg

 

You can refer to http://www.rabbitmq.com/tutorials/amqp-concepts.html for explanations of exchange concepts.