Thursday 3 July 2014

Setting Persistence or other Transport Headers for MQ Transport in OSB (Oracle Service Bus)

Setting Persistence For MQ Transport in OSB



This blog applies to Oracle Service Bus only.

Have you been trying to make your MQ messages persist on the MQ server. Than you have landed in the right blog. Follow the steps below to set up MQ Transport to persist the MQ messages on the MQ server.

If you were familiar with weblogic JMS messaging, it is very easy to make a JMS message persist on the weblogic JMS server using OSB as the producer. You can do this by checking the Persistence check box in the business service. But it is not the case if you would want to perform the same  for an MQ message on MQ server using OSB MQ transport.

Steps to make your MQ message persist on MQ server using OSB MQ transport:

Assumption: 
a. You are using publish action to publish your MQ messages.
b. The below steps are performed on the OSB console.

1. Open your Proxy or Local Proxy Service
2. Navigate and Edit the Stage where Publish action exist.


3. Navigate to the Request action of Publish
4. Right Click --> Add an Action --> Communication -->  Transport Headers.


5.  Set "SET TRANSPORT HEADERS for" to "Outbound Request" and Click "Add Header"

6. Click drop down for "SOAPAction" and select Persistence.

7. Click Expression and set the value to be set.  

Note: you can repeat steps 5 to 7 to set various other MQ transport headers values. For the entire list of MQ transport headers and their description please visit the blow mentioned Oracle Document:

Document: Oracle® Fusion Middleware Developer's Guide for Oracle Service Bus
11g Release 1 (11.1.1.4.0)