It's all about the answers!

Ask a question

RAM bind group in LDAP error


pan tianming (4765644) | asked Feb 15 '12, 2:19 a.m.
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



permanent link
Rich Kulp (3.6k38) | answered Feb 15 '12, 10:23 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
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

permanent link
pan tianming (4765644) | answered Feb 16 '12, 12:22 a.m.
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.

permanent link
Rich Kulp (3.6k38) | answered Feb 16 '12, 9:53 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
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

permanent link
Gili Mendel (1.8k56) | answered Feb 16 '12, 12:17 p.m.
JAZZ 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?

permanent link
pan tianming (4765644) | answered Feb 16 '12, 9:18 p.m.
Rich & Gili,

Sorry, maybe my information is not enough.
I have email sent you the details for this defect.
Thanks.

Your answer


Register or to post 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.