While an EMS client application tries to do a JNDI lookup on an EMS server, Why the EMS server reports the error "create sender failed: access denied for queue [$sys.lookup]", if authorization is enabled for the EMS server.

While an EMS client application tries to do a JNDI lookup on an EMS server, Why the EMS server reports the error "create sender failed: access denied for queue [$sys.lookup]", if authorization is enabled for the EMS server.

book

Article ID: KB0092865

calendar_today

Updated On:

Products Versions
TIBCO Enterprise Message Service -
Not Applicable -

Description

Resolution:
NOTE:  This FAQ refers to EMS 4.4.1 Hotfix 2

When a user does a JNDI lookup on EMS server, he needs access on the system queue $sys.lookup. If you do not have send requisite permission on that queue for the user that is doing JNDI lookup, the lookup will fail, if authorization is enabled.

The queue '$sys.lookup' is a system queue and as its name indicates is used by applications to send the JNDI lookup requests. When an application performs a JNDI lookup, the client API sends a request to that queue. The JMS Server then returns the object to the requestor by replying on a temporary queue.

So in order to make the JNDI lookup from the client application work while authorization is enabled in the EMS server, at least "send" permission should be granted to the user running the client application for the system queue $sys.lookup, otherwise the user cannot do a JNDI lookup through the client application.

Issue/Introduction

While an EMS client application tries to do a JNDI lookup on an EMS server, Why the EMS server reports the error "create sender failed: access denied for queue [$sys.lookup]", if authorization is enabled for the EMS server.