CLM under Websphere showing errors when LDAP is switched
I am at a customer with CLM configured to run under WAS.
Originally for testing WAS was configured to use LDAP1. Things work fine. Logging in as "clmadmin" with jazzadmin role is fine and can create project, etc. Now, customer says LDAP1 is not complete, so we swtiched to using LDAP2. LDAP2 contains all users in LDAP1 and other users. Groups have to be created with different names in LDAP2. In WAS, the LDAP2 jazz groups are mapped to roles. WAS, apps etc restarted to make sure. Now, using LDAP2, I can log in as "clmadmin" and RTC page shows me as "ADMIN". But there are lots of things I can't do like create projects etc. Any advice on what may be happening is much appreciated. Looking at ccm.log I get: 2012-02-22 16:41:57,235 ERROR net.jazz.ajax.service.internal.http.ThemingHandler - ERROR : GET https://wwwqa2.pd-dv.jlrint.com/ccm/_theming/allThemeCSS HTTP/1.1 org.apache.http.HttpException: Problem initializing theme namespace: The user "CLMADMIN" does not exist in the database at net.jazz.ajax.service.internal.http.ThemingHandler.getHttpException(ThemingHandler.java:1353) at net.jazz.ajax.service.internal.http.ThemingHandler.initMetadata(ThemingHandler.java:1343) at net.jazz.ajax.service.internal.http.ThemingHandler.init(ThemingHandler.java:299) at net.jazz.ajax.service.internal.http.ThemingHandler.handle(ThemingHandler.java:245) at com.ibm.team.server.httpcore.bridge.AbstractHandlerWrapperServlet.doWrappedService(AbstractHandlerWrapperServlet.java:136) at net.jazz.ajax.service.internal.EndpointRegistrar$1.doWrappedService(EndpointRegistrar.java:83) at com.ibm.team.server.httpcore.bridge.AbstractHandlerWrapperServlet.service(AbstractHandlerWrapperServlet.java:109) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120) at com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:76) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179) at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3935) at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931) at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83) at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1784) 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:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604) Caused by: net.oauth.OAuthException: The user "CLMADMIN" does not exist in the database at com.ibm.team.repository.service.internal.oauth.OAuthServiceProvider.runAsUser(OAuthServiceProvider.java:1752) at com.ibm.team.repository.service.internal.oauth.OAuthServiceProvider.getKeyAndSecret(OAuthServiceProvider.java:1794) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy267.getKeyAndSecret(Unknown Source) at net.jazz.ajax.service.internal.http.ThemingHandler.sendLocalRequest(ThemingHandler.java:1508) at net.jazz.ajax.service.internal.http.ThemingHandler.sendJfsRequest(ThemingHandler.java:1493) at net.jazz.ajax.service.internal.http.ThemingHandler.sendBasicJFSGet(ThemingHandler.java:468) at net.jazz.ajax.service.internal.http.ThemingHandler.createRootNamespace(ThemingHandler.java:1362) at net.jazz.ajax.service.internal.http.ThemingHandler.initMetadata(ThemingHandler.java:1322) ... 35 more 2012-02-22 16:41:57,243 ERROR net.jazz.ajax.service.internal.http.ThemingHandler - ERROR : GET https://wwwqa2.pd-dv.jlrint.com/ccm/_theming/allThemeJS?dojo.preventCache=1329928914339 HTTP/1.1 org.apache.http.HttpException: Problem initializing theme namespace: The user "CLMADMIN" does not exist in the database at net.jazz.ajax.service.internal.http.ThemingHandler.getHttpException(ThemingHandler.java:1353) at net.jazz.ajax.service.internal.http.ThemingHandler.initMetadata(ThemingHandler.java:1343) at net.jazz.ajax.service.internal.http.ThemingHandler.init(ThemingHandler.java:299) at net.jazz.ajax.service.internal.http.ThemingHandler.handle(ThemingHandler.java:245) at com.ibm.team.server.httpcore.bridge.AbstractHandlerWrapperServlet.doWrappedService(AbstractHandlerWrapperServlet.java:136) at net.jazz.ajax.service.internal.EndpointRegistrar$1.doWrappedService(EndpointRegistrar.java:83) at com.ibm.team.server.httpcore.bridge.AbstractHandlerWrapperServlet.service(AbstractHandlerWrapperServlet.java:109) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120) at com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:76) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179) at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3935) at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931) at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83) at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1784) 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:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604) Caused by: net.oauth.OAuthException: The user "CLMADMIN" does not exist in the database at com.ibm.team.repository.service.internal.oauth.OAuthServiceProvider.runAsUser(OAuthServiceProvider.java:1752) at com.ibm.team.repository.service.internal.oauth.OAuthServiceProvider.getKeyAndSecret(OAuthServiceProvider.java:1794) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy267.getKeyAndSecret(Unknown Source) at net.jazz.ajax.service.internal.http.ThemingHandler.sendLocalRequest(ThemingHandler.java:1508) at net.jazz.ajax.service.internal.http.ThemingHandler.sendJfsRequest(ThemingHandler.java:1493) at net.jazz.ajax.service.internal.http.ThemingHandler.sendBasicJFSGet(ThemingHandler.java:468) at net.jazz.ajax.service.internal.http.ThemingHandler.createRootNamespace(ThemingHandler.java:1362) at net.jazz.ajax.service.internal.http.ThemingHandler.initMetadata(ThemingHandler.java:1322) ... 35 more |
3 answers
Hi Lewis
Random thought - are the licenses still correctly assigned to the users? Or can you try unassigning and reassigning the license to your clmadmin user? anthony |
Sudden flash of inspiratin.
In LDAP1, user id's are in lower case (so happens), so the original "clmadmin" user in RTC is also lower case. In LDAP2, user id's are in upper case. So I can log in since WAS does (and LDAPx) authenticate case insensitive. But I can' do anything useful in RTC because of case sensitive user id matching. Arrrrrrrrrrrrrrrr. When will RTC implement case insesitive user id matching (or at least allow user to chose). |
That is already implemented, check your advanced server configurations for a property.
Use case insensitive user ID matching http://publib.boulder.ibm.com/infocenter/rtc/v2r0m0/index.jsp?topic=/com.ibm.jazz.install.doc/topics/t_s_server_installation_setup_WAS.html Also the container can do this for via a setting in WAS. -Sean |
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.