Sending test UMS notification fails due to missing JMS queue

I recently ran into a problem sending test email notifications from the Human Workflow Engine in Oracle SOA Suite 12.2.

In the EM Console, if you navigate to SOA > soa-infra (soa_server1) > Service Engines > Human Workflow > Notification Management, you can click on the "Send Test Notification" button to see if UMS is configured appropriately for email.

In my case, I received the following error:

exception.code:31015 exception.type: ERROR exception.severity: 2 exception.name: Error while sending notification. exception.description: Error while sending notification to email: ahmed@. exception.fix: Check the underlying exception and fix it. ; exception.code:31002 exception.type: ERROR exception.severity: 2 exception.name: Error while publishing message to notification queue. exception.description: Error while publishing message to notification queue. exception.fix: Check Application server data source properties for BPEL-Workflow connections. Check schema and verify database connections. ; ; Unable to resolve 'jms.Queue.NotificationSenderQueue'. Resolved 'jms.Queue';

If you cleanup and parse this error, you will notice this is what it says:

exception.code:        31015
exception.type:        ERROR
exception.severity:    2
exception.name:        Error while sending notification.
exception.description: Error while sending notification to email: ahmed@. 
exception.fix:         Check the underlying exception and fix it. ; 
exception.code:        31002
exception.type:        ERROR
exception.severity:    2
exception.name:        Error while publishing message to notification queue. 
exception.description: Error while publishing message to notification queue. 
exception.fix:         Check Application server data source properties for BPEL-Workflow connections.
                       Check schema and verify database connections. ; ;
                       Unable to resolve 'jms.Queue.NotificationSenderQueue'.
                       Resolved 'jms.Queue';

So you'll see that it is unable to resolve the JMS queue name jms.Queue.NotificationSenderQueue.

This queue exists under the SOAJMSModule which happens to be targeted to SOAJMSServer_auto_1 and SOAJMSServer_auto_2.

What's odd is that these JMS Servers, although properly targeted, are not assigned to a current target nor are reporting OK. Apparently, many other JMS Servers have this same problem.

I have not been able to determine why this is happening, but not being a fan of migratable servers anyway, I chose an alternate option:

  • Click on each "faulty" JMS Server, and target it to the managed server instead of the migratable server.

Once you do so, you might see this error, but temporarily ignore it (since we'll need to update the persistent store shortly).

The following failures occurred: -- JMS server or SAF agent SOAJMSServer_auto_1 is not targeted to the same target as its persistent store -- JMS server or SAF agent SOAJMSServer_auto_1 is not targeted to the same target as its persistent storeMessage icon - Error Errors must be corrected before procee

Now click on Configuration and note the name of the Persistent Store of this JMS Server.

Navigate to this persistent store, and change it's target from the migratable server (e.g., soa_server1_bam-exactly-once (migratable)) to the managed server (e.g., soa_server1).

This step will not give you an error.

Save and activate the changes.

Now when you navigate back to the JMS Servers summary page, you will see the JMS Server reporting healthy, and the test notification will work.