RAM bind group in LDAP error
In our RAM 7.5.0.2, after the following step will show error:
1) Use RAM admin user login, visit administration -> communities 2) select the community, in the first "Users" tab, click the button "New User Group" 3) Specify the name and description, click "Create" link beside "Public group" 4) In the popup window, input the "group name' we have created in LDAP before, and click "search" 5) Select the group in the window and click "Bind" button. The following error show: Error Network server name:usaxram012ccxraCell01/usaxram012ccxraNode01/server1 An unexpected error has occurred. Specific details regarding this error have been recorded in ramDebug.log file with the following ID: E0D491FF-9035-6B7F-D2DC-A1125E291725 The log in the error is: 2/15/12 7:01:09:865 GMT] 00000041 WebApp E -: javax.faces.FacesException: #{pc_UserGroupDetail.doBindToSearchGroups}: javax.faces.el.EvaluationException: java.lang.NullPointerException at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:79) at javax.faces.component.UICommand.broadcast(UICommand.java:312) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:302) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:419) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:220) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:91) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1152) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1087) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145) at com.ibm.ram.repository.web.security.RAMServletFilter.doFilter(RAMServletFilter.java:515) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) at com.ibm.ram.repository.web.filters.JavascriptSecurityFilter.doFilter(JavascriptSecurityFilter.java:33) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) at com.ibm.ram.repository.web.filters.GZipFilter.doFilter(GZipFilter.java:45) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:848) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:691) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:588) at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:526) at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:764) at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:133) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:450) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:508) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:296) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102) at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1551) Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:131) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:73) ... 41 more Caused by: java.lang.NullPointerException at com.ibm.ram.repository.security.SecurityManager.isRepositoryUserId(SecurityManager.java:1748) at com.ibm.ram.repository.security.UserGroupInstance.addUser(UserGroupInstance.java:769) at com.ibm.ram.repository.security.UserGroupInstance.addUser(UserGroupInstance.java:924) at com.ibm.ram.repository.security.UserGroupInstance$SynchronizeController.containsUser(UserGroupInstance.java:1393) at com.ibm.ram.repository.security.CustomUserInformationManager$1.synchronize(CustomUserInformationManager.java:635) at com.ibm.ram.repository.security.UserGroupInstance.synchronize(UserGroupInstance.java:1471) at com.ibm.ram.repository.security.CustomUserInformationManager.updateRAMGroup(CustomUserInformationManager.java:627) at pagecode.admin.group.UserGroupDetail.bindToExternalGroup(UserGroupDetail.java:701) at pagecode.admin.group.UserGroupDetail.doBindToSearchGroups(UserGroupDetail.java:714) at sun.reflect.GeneratedMethodAccessor919.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:127) ... 42 more 00000041 SystemOut O CRRAM0001E 88206204 ERROR web pagecode.error.Error - 390F54ED-A1A2-F4E3-462D-B1BEAF6A6651 - javax.faces.FacesException: #{pc_UserGroupDetail.doBindToSearchGroups}: javax.faces.el.EvaluationException: java.lang.NullPointerException at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:79) at javax.faces.component.UICommand.broadcast(UICommand.java:312) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:302) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:419) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:220) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:91) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1152) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1087) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145) at com.ibm.ram.repository.web.security.RAMServletFilter.doFilter(RAMServletFilter.java:515) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) at com.ibm.ram.repository.web.filters.JavascriptSecurityFilter.doFilter(JavascriptSecurityFilter.java:33) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) at com.ibm.ram.repository.web.filters.GZipFilter.doFilter(GZipFilter.java:45) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:848) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:691) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:588) at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:526) at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:764) at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:133) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:450) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:508) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:296) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102) at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1551) Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:131) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:73) ... 41 more Caused by: java.lang.NullPointerException at com.ibm.ram.repository.security.SecurityManager.isRepositoryUserId(SecurityManager.java:1748) at com.ibm.ram.repository.security.UserGroupInstance.addUser(UserGroupInstance.java:769) at com.ibm.ram.repository.security.UserGroupInstance.addUser(UserGroupInstance.java:924) at com.ibm.ram.repository.security.UserGroupInstance$SynchronizeController.containsUser(UserGroupInstance.java:1393) at com.ibm.ram.repository.security.CustomUserInformationManager$1.synchronize(CustomUserInformationManager.java:635) at com.ibm.ram.repository.security.UserGroupInstance.synchronize(UserGroupInstance.java:1471) at com.ibm.ram.repository.security.CustomUserInformationManager.updateRAMGroup(CustomUserInformationManager.java:627) at pagecode.admin.group.UserGroupDetail.bindToExternalGroup(UserGroupDetail.java:701) at pagecode.admin.group.UserGroupDetail.doBindToSearchGroups(UserGroupDetail.java:714) at sun.reflect.GeneratedMethodAccessor919.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:127) ... 42 more |
5 answers
Hi,
There is a user in the group that doesn't have the "userid" field set to a value in the LDAP entry for the user. RAM can't handle that situation. Normally an LDAP entry would not be set up in this way. I don't know what LDAP you have configured to have the "userid" field (or unique id field) set to. Rich |
hi, Rich,
We just tested the same process betweenversion 7.2 and 7.5, if we create same name and structure group in LDAP, in 7.2 no any problem to bind group but 7.5 throw the exception like I describe. I will email you the screen shot for our LDAP group configuration, I suppose what you mean "userid" is "uid'. Refer to screen, all of our members have this "uid" field, but we have a default one which name is "secAuthority=Default" , it not includes this "uid" field. Is this the root cause? But seems 7.2 never check this one, is this the new feature in 7.5? If yes, any fixpack for this? Thanks. |
Hi,
No the code was there in 7.2.0.2 also. If the 'uid' field returns null (versus "" empty string) then even in 7.2.0.2 it would throw an NPE. Also, please give exact versions of RAM, do not give just 7.2 or 7.5. 7.5 and 7.5.0.1 are vastly different, just as 7.2 and 7.2.0.2 are vastly different. I can't tell if you actually mean 7.2.0.0 or 7.2.0.2. -- Rich Kulp Rational Asset Manager developer |
As Rich noted above, the problem is the folloiwing:
isRepositoryUserId(SecurityManager.java:1748) Is the user group you are binding to have a user with uid in LDAP that is empty? |
Rich & Gili,
Sorry, maybe my information is not enough. I have email sent you the details for this defect. Thanks. |
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.