> Well, it must be my lucky week because I have found a very weird bug
> in SupportPac MS0B.  It has to do with non mqm accounts doing a PCF
> command to get queue attribute information via client mode connection.
> I believe the problem is with the SupportPac rather than WMQ.
> ...

Thanks very much for your post and careful explanation. I'm a bit
mystified about how connecting a dummy agent should make any difference
to anything -- but there are a couple of things I can suggest right
away.

First, there are two things you can do if you want to see exactly what
PCFMessages the agent is receiving, under the conditions where you get
an exception:
- You can retrieve the array of PCFMessages received from the
  exceptionSource field of the PCFException; it contains all the
  responses received.
- Alternatively, you can use the variant of the PCFMessageAgent.send()
  method with the check flag:

    public PCFMessage [] send (PCFMessage request, boolean check)

  and set the check flag to false. This means the agent won't look at
  the completion and reason codes in the responses; it will just return
  them all to you directly without ever throwing a PCFException.

Now, the interesting thing is where you say you get a non-zero reason
code in the middle of the set of list queue depth responses. That's not
something I've seen before. The agent only checks the first response
message when evaluating whether or not the command succeeded (the
PCFException is thrown based upon the content of the first response).
But, if you have different authorities set on different queues, it
seems plausible that some individual items might succeed while others
fail.

It would be interesting to compare the list of responses you get in
the PCFMessageListQueueDepth and PCFMessageListQueueDepth2 cases. One
explanation could be that connecting the dummy agent affects the order
in which individual queue records are returned, such that a response
with a reason code of zero appears first when you connect the dummy
agent. If you're able to extract the two sets of responses from running
the code on your system, that would be very useful.

If this turns out to be the case, then I may need to consider something
like checking through all the responses looking for MQRCCF_FAILED
(which indicates an error summary response) in order to determine
whether or not to throw the exception.

Chris Markes

IBM Hursley
[EMAIL PROTECTED]

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Reply via email to