Author |
Message
|
vastare |
Posted: Tue May 24, 2005 11:41 pm Post subject: MQRC_NOT_AUTHORIZED Error |
|
|
 Novice
Joined: 24 May 2005 Posts: 11 Location: India
|
Hi,
I am opening a Queue throw an APIExit Code by MQOPEN call, once in a while the MQ is throwing an error like "user is not authorized to open the object for the option(s) specified " Its throwing an Error 2035 "MQRC_NOT_AUTHORIZED" to the application. I have set "mqm" in MCAUSER in the server connection channel.
Please give a Corrective action for this issue.
Please note this Error is occuring Intermittently.
It will be great full to you if you send me the solution immediately,
Thanks in Advance.
Naveen |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed May 25, 2005 2:58 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Okay.
You are opening a queue, and occasionally getting a 2035.
There is an API exit involved.
There is, somehow, a server connection channel invovled.
You have done nothing to try to identify in what cases a 2035 is returned.
My magic crystal ball says "There is something wrong with your code". _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
vastare |
Posted: Wed May 25, 2005 4:19 am Post subject: |
|
|
 Novice
Joined: 24 May 2005 Posts: 11 Location: India
|
Hi,
I mean actually namelist object not queue. Our code runs around 30000 cycles (it is a message processing utility which processes messages in batch and transfers it into another queue and commit on successful operation , It is an API exit )per day . But we get 2035 error only some times (around 15 times). I want to know, in what all cases this sort of error occurs. I am not using any security settings in my 'C' code.
In my C code, the Entrypoint is there. In Entrypoint i have registered the OPEN_EXIT and CLOSE_EXIT. in OPEN_EXIT i have Registered GET_EXIT for the particular seniors, the seniors is, i will register only for particular Queue, that queue names will declare in the name list object. i wrote a function to access the names from the namelist in OPEN_EXIT, then we compare system Queue which thrown by the OPEN_EXIT with Queue what you we have define in namlist object. I am displaying the reason code in user log.
I am accessing the name list object, at that point of time 2035 error is coming for some cycle. For rest of the cycle it will work...........
Is there any chance that this is showing this error for any code problem?
Or once 2035 is displayed is it means it is only settings problem (MQ Admin problem)
If at message level proper user id is not set for the messages ... does this sort of error comes.
I am thinking it’s not a code problem.....
Regards,
vastare _________________ cxvcxv |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed May 25, 2005 5:00 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Okay.
So inside your API Exit, when attempting to open a namelist, you occasionally get 2035s.
I would suggest that you add code to log the current userid and the queue that is being opened by the user (in the exit parameters) when you get this error. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
vastare |
Posted: Wed May 25, 2005 6:00 am Post subject: |
|
|
 Novice
Joined: 24 May 2005 Posts: 11 Location: India
|
Thanks,
So inside my OPEN_EXIT, i can print the Object name and for that object name there is no attributes like User ID.
WebSphere MQ API exit context structure (MQAXC), In this structure UserID field is there, but it is associated with application.
WebSphere MQ API exit parameter structure (MQAXP), in this structure there is no UserId fileld.
In the Queue Attributes also no UserId filed.
Then how to print the UserId for each Queue by the Exit???.
please give a Solution for this issue and Corrective action for this issue.
Regards,
vastare _________________ cxvcxv |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed May 25, 2005 6:05 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Errg. I'd thought the user id was in there somewhere - I was thinking of the mqmd, which is not available to an exit until there is a get or put!
Enable Authority Events on the qmgr. That will give you specifics of what userid is involved when a 2035 occurs. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
RogerLacroix |
Posted: Wed May 25, 2005 9:55 am Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Hi,
Don't forget that the API Exit runs in the application's address space and not the queue manager's address space.
Quote: |
WebSphere MQ API exit context structure (MQAXC), In this structure UserID field is there, but it is associated with application. |
So my guess is that this UserID does not have authority to access the namelist object.
Regards,
Roger Lacroix _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
vastare |
Posted: Wed May 25, 2005 9:53 pm Post subject: |
|
|
 Novice
Joined: 24 May 2005 Posts: 11 Location: India
|
Hi,
Quote: |
So my guess is that this UserID does not have authority to access the namelist object.
|
My API Exit is working fine but once in a while 2035 error is throwing.
Our application and Queue Manager under 'mqm' user only.
Every cycle it will access the name list for some cycle it's throwing an Exception.
Quote: |
Enable Authority Events on the qmgr. That will give you specifics of what userid is involved when a 2035 occurs.
|
Okay,
I am not getting any clue by enabling Authority Events on the qmgr.
Regards,
vastare _________________ cxvcxv |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu May 26, 2005 3:20 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
When you enable authority events, and a 2035 occurs, a message should be put on a queue (SYSTEM.AUTH.DATA.QUEUE) that will tell you what user received the 2035. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
vastare |
Posted: Thu May 26, 2005 4:24 am Post subject: |
|
|
 Novice
Joined: 24 May 2005 Posts: 11 Location: India
|
Quote: |
When you enable authority events, and a 2035 occurs, a message should be put on a queue (SYSTEM.AUTH.DATA.QUEUE) that will tell you what user received the 2035.
|
Okay,
In our Qmngr, the authority events are 'disable'.
By default if you see the SYSTEM.AUTH.DATA.QUEUE, it contain 400 messages.
If you enable the authority events, whether it will affect the Qmngr?
Regards,
vastare[/quote] _________________ cxvcxv |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu May 26, 2005 4:28 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
It's SYSTEM.ADMIN.QMGR.EVENT, not SYSTEM.AUTH.DATA.QUEUE. SADQ is used for storing permissions and such. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
vastare |
Posted: Thu May 26, 2005 4:47 am Post subject: |
|
|
 Novice
Joined: 24 May 2005 Posts: 11 Location: India
|
Thanks,
You mean to say that, i have to check the SYSTEM.ADMIN.QMGR.EVENT,
By enabling the authority events on the Qmngr
Quote: |
If you enable the authority events, whether it will affect the Qmngr?
|
Please I want to know that whether it will affect Qmngr or not?
Bcoz I am testing on production Qmngr.
Regards,
Vastare _________________ cxvcxv |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu May 26, 2005 5:04 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
No, it won't have significant effect on the qmgr. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
vastare |
Posted: Thu Jun 02, 2005 9:53 pm Post subject: |
|
|
 Novice
Joined: 24 May 2005 Posts: 11 Location: India
|
Hi Jefflowrey,
Thank you very much for your cooperation . _________________ cxvcxv |
|
Back to top |
|
 |
Vijay Kumar P |
Posted: Thu Jul 07, 2005 1:21 am Post subject: MUSR_MQADMIN |
|
|
Novice
Joined: 24 Jan 2005 Posts: 10
|
Hello Naveen,
Try making the MCA User ID as MUSR_MQADMIN. Actually it should be blank to accept all.
Reply me.
Regards,
Vijay. |
|
Back to top |
|
 |
|