Support Article
InvokeMQConnector in Pega 7.2.1 is throwing NullPointerException
SA-32604
Summary
User has upgraded from Pega 6.3 SP1 to Pega 7.2.1. They are receiving "NullPointerException" in InvokeMQConnector activity while trigerring MQ calls. But when they do private check out of the same rule from Pega 6.3 it is working fine. The issue is occurring due to propMap.put used in the following code:
propMap.put(com.ibm.mq.MQC.TRANSPORT_PROPERTY,com.ibm.mq.MQC.TRANSPORT_MQSERIES_BINDINGS);
propMap.put(com.ibm.mq.MQEnvironment.hostname, null);
propMap.put(com.ibm.mq.MQEnvironment.userID, userID);
propMap.put(com.ibm.mq.MQEnvironment.password, password);
It looks like the MQ queue manager is unable to read the values set in propMap hashtable. They are not getting the exception when using the below instead:
com.ibm.mq.MQEnvironment.properties.put(com.ibm.mq.MQC.TRANSPORT_PROPERTY,com.ibm.mq.MQC.TRANSPORT_MQSERIES_BINDINGS);
com.ibm.mq.MQEnvironment.hostname = null;
com.ibm.mq.MQEnvironment.userID = userID;
com.ibm.mq.MQEnvironment.password = password;
The exceptions are not occurring any more after overriding the InvokeMQConnector activity to include the above change as present in 07-10-17 version of the InvokeMQConnector activity.
Error Messages
com.pega.pegarules.pub.services.ConnectorException: Caught unhandled exception: java.lang.NullPointerException
at com.pegarules.generated.activity.ra_action_invokemqconnector_2f79d050addbedeea18aa4ebf0e662e9.step1_circum0(ra_action_invokemqconnector_2f79d050addbedeea18aa4ebf0e662e9.java:1616)
at com.pegarules.generated.activity.ra_action_invokemqconnector_2f79d050addbedeea18aa4ebf0e662e9.perform(ra_action_invokemqconnector_2f79d050addbedeea18aa4ebf0e662e9.java:69)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3527)
at com.pega.pegarules.session.internal.mgmt.Executable.invokeActivity(Executable.java:10674)
at com.pegarules.generated.activity.ra_action_invoke_c18413a90dfc740df584259376dd4aa9.step4_circum0(ra_action_invoke_c18413a90dfc740df584259376dd4aa9.java:369)
at com.pegarules.generated.activity.ra_action_invoke_c18413a90dfc740df584259376dd4aa9.perform(ra_action_invoke_c18413a90dfc740df584259376dd4aa9.java:120)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3527)
at com.pegarules.generated.activity.sh_action_getcustomer_8c5d31a351750b0da48a28a3fcea5c70.step7_circum0(sh_action_getcustomer_8c5d31a351750b0da48a28a3fcea5c70.java:1128)
at com.pegarules.generated.activity.sh_action_getcustomer_8c5d31a351750b0da48a28a3fcea5c70.perform(sh_action_getcustomer_8c5d31a351750b0da48a28a3fcea5c70.java:179)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3527)
Steps to Reproduce
1. Invoking of any MQ Connector throws the exception.
Root Cause
A defect in Pegasystems' code or rules is identified as root cause of this issue.
Resolution
Apply HFix-31386.
Published January 18, 2017 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.