I am trying to invoke a secured EJB (Session bean) deployed in a Websphere application server (say Server-B)
from another EJB, deployed in different WebSphere application Server (say Server-A). In Both servers, the Global security
is enabled and both the servers are using same LDAP server as User Registry.
The EJB Client (in Server-A) is configured to Run-As a role (say 'Admin') which has access to all the methods od the
Server EJB (in Server-B).
Now while invoking the Server EJB, I am getting following exception. From the exception stack tyrace,
it seems that the Security Credentials are not getting passed to Callere Application Server.
**********************************************************************************
NMSV0610I: A NamingException is being thrown from a javax.naming.Context implementation. Details follow:
Exception stack trace: javax.naming.NoPermissionException: NO_PERMISSION exception caught. Root exception is org.omg.CORBA.NO_PERMISSION:
Trace from server: 1198777258 at host mrbc2b4 >>
org.omg.CORBA.NO_PERMISSION: Subject is null. Authentication Failed. vmcid: 0x49424000 minor code: 300 completed: No
at com.ibm.ISecurityLocalObjectBaseL13Impl.PrincipalAuthFailReason.map_auth_fail_to_minor_code(PrincipalAuthFailReason.java:83)
at com.ibm.ISecurityLocalObjectBaseL13Impl.CSIServerRI.receive_request(CSIServerRI.java:2048)
**********************************************************************************
I guess the problem is to do with the CSIv2 Inbound and Outbound Authentication configuration in WebSphere Server.
Please could any one help me out if you have done the same previously?
You help would be much appreciated.
Environment Details:
Server (Both) - Websphere Application v 5.1
User Registry - IBm Directory Server (common for bothe servers)
Looks like you're trying to call a protected EJB but are not passing an
identity. Check your CSIv2 outbound propagation.
Some of us think this is a bug ... you could try opening a PMR, but my
guess is you will get "working as designed" back from support.
> Thanks in advance!!
What about Outbound on the sending side ?
Do you have two separate cells? If so, are they sharing the same
registry? How you shared LTPA keys between them? And have you configured
Inbound and Outbound CSIv2 in both sides?
You should not have to do anything with CSIv2 to call an EJB in the same
appserver process. I thought from your other post that you had a
Portal server on one WAS talking to an EJB in a different WAS install.