APAR status
Closed as program error.
Error description
Running an MQ java application on WebSphere MQ V7.5 sending PCF queries to a queue manager on z/OS the queue manager can generate a series of response messages where each response message contains a number of parameters and their values, each of different types. The method: PCFMessage.getStringListParamterValue(int) provided by the WebSphere MQ PCF classes takes a PCF parameter type as an argument, and returns an array of Strings that contain all of the values for that parameter in the current response message. If the response message does not contain the PCF parameter specified, then the method will throw a PCFException. As an example the java application sends a PCF request message containing the command: MQCMD_INQUIRE_Q_NAMES to a queue manager running on z/OS, the queue manager generates two response messages: - The first response message contains an MQCFSL parameter of type MQCACF_Q_NAMES which stores a list of queue names. - The second response message does not contain any MQCFSL parameters. As the second response message does not contain an MQCFSL parameter of type MQCACF_Q_NAMES, the call: String[] queueNamesPCF = responses[i].getStringListParameterValue(CMQCFC.MQCACF_Q_NAMES); throws a PCFException along with: com.ibm.mq.pcf.PCFException: MQJE001: Completion Code '2', Reason '2238': MQRC_CFSL_ERROR This reason code is incorrect! The JavaDoc indicates that the method: PCFMessage.getStringListParamterValue(int) will throw a PCFException containing WebSphere MQ Reason Code 3033: MQRCCF_CFSL_PARM_ID_ERROR if the PCF message does not contain the parameter specified.
Local fix
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users of: - The WebSphere MQ V7.5 Headers and PCF classes. - The MQ V8.0 Headers and PCF classes. - The MQ V9.0 Headers and PCF classes. who have applications that one of the methods shown below: - com.ibm.mq.pcf.PCFMessage.getStringListParameterValue(int) - com.ibm.mq.headers.pcf.PCFMessage.getStringListParameterValue(in t) Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: The WebSphere MQ V7.5 Headers and PCF classes, along with the MQ V8.0 and V9.0 Headers and PCF classes, contain the following interfaces: - com.ibm.mq.pcf.PCFContent - com.ibm.mq.headers.pcf.PCFContent Both of these interfaces contain a definition of the method shown below: **************************************************************** ******* getStringListParameterValue java.lang.String[] getStringListParameterValue( int parameter) throws PCFException Returns the value of the specified string list parameter (MQCFSL) as an array of strings. Parameters: parameter - the string list parameter identifier Returns: the string list parameter values Throws: PCFException - if the specified parameter does not exist in the group (the reason code given is MQRCCF_CFSL_PARM_ID_ERROR; no more specific error code is defined) **************************************************************** ******* The implementation of this method provided by the classes: - com.ibm.mq.pcf.PCFMessage.getStringListParameterValue(int) - com.ibm.mq.headers.pcf.PCFMessage.getStringListParameterValue(in t) were incorrect and did not conform to the definition of the method shown above. If the method was called and the specified parameter did not exist in the PCFMessage, then a PCFException containing reason code 2238 (MQRC_CFSL_ERROR), rather than reason code 3033 (MQRCCF_CFSL_PARM_ID_ERROR), was thrown.
Problem conclusion
The WebSphere MQ V7.5 Headers and PCF classes, along with the MQ V8.0 and V9.0 Headers and PCF classes, have been updated so that the methods: - com.ibm.mq.pcf.PCFMessage.getStringListParameterValue(int) - com.ibm.mq.headers.pcf.PCFMessage.getStringListParameterValue(in t) throw a PCFException containing reason code 3033 (MQRCCF_CFSL_PARM_ID_ERROR) if the specified parameter does not exist in the PCFMessage. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v7.5 7.5.0.8 v8.0 8.0.0.6 v9.0 CD 9.0.2 v9.0 LTS 9.0.0.1 The latest available maintenance can be obtained from 'WebSphere MQ Recommended Fixes' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037 If the maintenance level is not yet available information on its planned availability can be found in 'WebSphere MQ Planned Maintenance Release Dates' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309 ---------------------------------------------------------------
Temporary fix
Comments
APAR Information
APAR number
IT16915
Reported component name
WMQ BASE MULTIP
Reported component ID
5724H7241
Reported release
750
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2016-09-06
Closed date
2016-10-28
Last modified date
2017-06-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WMQ BASE MULTIP
Fixed component ID
5724H7241
Applicable component levels
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSDEZSF","label":"IBM WebSphere MQ Managed File Transfer for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
31 March 2023