Support Article

Getting error after AES consumes alert message from the MQ Queue

SA-6243

Summary



Getting error after AES consumes alert message from the MQ Queue.

We are trying to use JMS instead of SOAP for AES alert messages in our Performance environment. The monitored nodes are putting the messages successfully on the MQ queue via JMS. On AES side, JMS Listener is also consuming the messages successfully. However, after consuming the message, listener is throwing following error message for every single message it consumes.
2015-02-01 16:47:00,855 [ JMS-Thread-660] [ STANDARD] [ ] ( services.jms.JMSListener) ERROR .AESAlertListener - Caught exception while processing request for service PegaAES.Events.logAlert, com.pega.pegarules.pub.PRException: Expecting a MapMessage, received a message of type: com.ibm.jms.JMSTextMessage
From: (unknown)
com.pega.pegarules.pub.PRException: Expecting a MapMessage, received a message of type: com.ibm.jms.JMSTextMessage
From: (unknown)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.readRequestData(JMSListener.java:1862)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.handleRequest(JMSListener.java:1233)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.processMessages(JMSListener.java:810)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.runPoller(JMSListener.java:746)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.run_(JMSListener.java:738)
at com.pega.pegarules.integration.engine.internal.services.listener.ServiceListenerBaseImpl.run(ServiceListenerBaseImpl.java:445)
at java.lang.Thread.run(Thread.java:761)


Error Messages



2015-02-01 16:47:00,855 [ JMS-Thread-660] [ STANDARD] [ ] ( services.jms.JMSListener) ERROR .AESAlertListener - Caught exception while processing request for service PegaAES.Events.logAlert, com.pega.pegarules.pub.PRException: Expecting a MapMessage, received a message of type: com.ibm.jms.JMSTextMessage
From: (unknown)
com.pega.pegarules.pub.PRException: Expecting a MapMessage, received a message of type: com.ibm.jms.JMSTextMessage
From: (unknown)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.readRequestData(JMSListener.java:1862)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.handleRequest(JMSListener.java:1233)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.processMessages(JMSListener.java:810)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.runPoller(JMSListener.java:746)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.run_(JMSListener.java:738)
at com.pega.pegarules.integration.engine.internal.services.listener.ServiceListenerBaseImpl.run(ServiceListenerBaseImpl.java:445)
at java.lang.Thread.run(Thread.java:761)

Steps to Reproduce



1. Use application deployed on the monitored node to generate PAL alerts

Root Cause



The root cause of this problem is in a third-party destination (Queue) configuration issue. Messages were *not* constructed with an RFH2 header specifying the JMS message type within the Websphere Application server’s JMS Queue. The advanced JMS Queue configuration was unchecked – “Append RFH version 2 headers to messages sent to this destination


Resolution



This issue is resolved by making the following change to the JMS Queue configuration under advanced properties via Websphere Administration console.
 
Checked the checkbox for “Append RFH version 2 headers to messages sent to this destination” and restarted the monitored node JVMs.
 

Published February 10, 2015 - Updated February 18, 2015


100% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.