互联网服务安全商业智能

请教:CM-REQ-4049 访问安全系统时出现错误

问题情况:
cognos身份验证采用custom java provider,用户来源于数据库。配置好后,用户可以登录系统。奇怪的是在后台管理,点击 命名空间 MYCJP时,正常情况下应该显示用户列表,但此时显示错误,如下

CM-REQ-4049 访问安全系统时出现错误。
111:335c4142-c09f-77dc-6ea1-66b8f902ada5:2871386265falseerrorcamInternalErrorAAA-SYS-0001 An internal error occurred.1java.lang.NullPointerException2java.lang.NullPointerException at com.ibm.cognos.camaaa.internal.admin.soap.IQueryResultConverter.populateQueryResult(IQueryResultConverter.java:291) at com.ibm.cognos.camaaa.internal.customLegacy.auth.NamespaceAuthProviderBaseAdapter.search(NamespaceAuthProviderBaseAdapter.java:138) at com.ibm.cognos.camaaa.internal.customLegacy.common.handler.CustomJavaProviderHandler.processAuthProviderRequest(CustomJavaProviderHandler.java:154) at com.ibm.cognos.camaaa.internal.customLegacy.common.handler.CustomJavaProviderHandler.handleInboundRequest(CustomJavaProviderHandler.java:114) at com.ibm.cognos.camaaa.internal.common.handler.DefaultHandler.handleMessage(DefaultHandler.java:72) at com.ibm.cognos.camaaa.internal.auth.handler.AuthHandler.handleMessage(AuthHandler.java:150) at com.ibm.cognos.camaaa.internal.auth.handler.AuthHandlerChain.invokeHandlersForward(AuthHandlerChain.java:78) at com.ibm.cognos.camaaa.internal.common.handler.HandlerChain.handleMessage(HandlerChain.java:211) at com.ibm.cognos.camaaa.internal.common.handler.HandlerBindingImpl.handleRequestRequired(HandlerBindingImpl.java:176) at com.ibm.cognos.camaaa.internal.common.handler.HandlerDispatcher.handleRequestRequired(HandlerDispatcher.java:122) at com.ibm.cognos.camaaa.internal.common.handler.InvokeNamespaceHandler.dispatchRequestToNamespace(InvokeNamespaceHandler.java:81) at com.ibm.cognos.camaaa.internal.common.handler.InvokeNamespaceHandler.handleInboundRequest(InvokeNamespaceHandler.java:154) at com.ibm.cognos.camaaa.internal.common.handler.DefaultHandler.handleMessage(DefaultHandler.java:72) at com.ibm.cognos.camaaa.internal.admin.handler.AdminHandler.handleMessage(AdminHandler.java:103) at com.ibm.cognos.camaaa.internal.common.handler.HandlerChain.invokeHandlersForward(HandlerChain.java:315) at com.ibm.cognos.camaaa.internal.common.handler.HandlerChain.handleMessage(HandlerChain.java:211) at com.ibm.cognos.camaaa.internal.admin.handler.QueryMultiple.processSingleQuery(QueryMultiple.java:64) at com.ibm.cognos.camaaa.internal.admin.handler.QueryMultiple.handleInboundRequest(QueryMultiple.java:94) at com.ibm.cognos.camaaa.internal.common.handler.DefaultHandler.handleMessage(DefaultHandler.java:72) at com.ibm.cognos.camaaa.internal.admin.handler.AdminHandler.handleMessage(AdminHandler.java:103) at com.ibm.cognos.camaaa.internal.common.handler.HandlerChain.invokeHandlersForward(HandlerChain.java:315) at com.ibm.cognos.camaaa.internal.common.handler.HandlerChain.handleMessage(HandlerChain.java:211) at com.ibm.cognos.camaaa.internal.common.handler.HandlerBindingImpl.handleRequestRequired(HandlerBindingImpl.java:176) at com.ibm.cognos.camaaa.internal.common.handler.HandlerBindingImpl.handleRequest(HandlerBindingImpl.java:158) at com.ibm.cognos.camaaa.internal.common.handler.HandlerDispatcher.handleRequest(HandlerDispatcher.java:107) at com.ibm.cognos.camaaa.internal.common.service.CAMAsyncServiceHandler.processRequest(CAMAsyncServiceHandler.java:664) at com.ibm.cognos.camaaa.internal.common.service.CAMAsyncServiceHandler.invokeImpl(CAMAsyncServiceHandler.java:439) at com.ibm.cognos.camaaa.internal.common.service.CAMAsyncServiceHandler.invokeImpl(CAMAsyncServiceHandler.java:391) at com.ibm.cognos.camaaa.internal.bridge.CmBridge.processSoapRequest(CmBridge.java:656) at com.ibm.cognos.camaaa.internal.bridge.CmBridge.Search(CmBridge.java:758) at com.cognos.cm.cam.AAAProvider_CAM.Search(AAAProvider_CAM.java:85) at com.cognos.cm.cam.AAACounterProxy.Search(AAACounterProxy.java:162) at com.cognos.cm.cam.CMAAAProxyBase.Search(CMAAAProxyBase.java:82) at com.cognos.cm.dbstore.CMDbStoreSecurityQueryResults.fetchMoreRecords(CMDbStoreSecurityQueryResults.java:372) at com.cognos.cm.dbstore.CMDbStoreSecurityQueryResults.advance(CMDbStoreSecurityQueryResults.java:281) at com.cognos.cm.dbstore.CMDbStoreSecurityQueryResults.next(CMDbStoreSecurityQueryResults.java:626) at com.cognos.cm.request.AbstractQuery.executeQuery(AbstractQuery.java:593) at com.cognos.cm.request.AbstractQuery.executeQuery(AbstractQuery.java:522) at com.cognos.cm.request.AbstractQuery.executeQuery(AbstractQuery.java:2189) at com.cognos.cm.request.query.doQuery(query.java:844) at com.cognos.cm.request.query.emitQueryReplyElements(query.java:790) at com.cognos.cm.request.query.emitQueryResult(query.java:596) at com.cognos.cm.request.query.handle(query.java:550) at com.cognos.cm.server.RequestManager.performRequest(RequestManager.java:2114) at com.cognos.cm.server.RequestManager.handleRequest(RequestManager.java:2520) at com.cognos.cm.server.RequestManager.executeTheRequest(RequestManager.java:1170) at com.cognos.cm.server.RequestManager.handle(RequestManager.java:520) at com.cognos.cm.server.CMServlet.doPost(CMServlet.java:647) at com.cognos.cm.server.ContentManager.doPost(ContentManager.java:135) at javax.servlet.http.HttpServlet.service(HttpServlet.java:738) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at com.cognos.pogo.isolation.ServletWrapper.service(ServletWrapper.java:258) 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:181) at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864) 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.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:1646)
参与11

10同行回答

hikeplayguitarhikeplayguitar研发工程师山东城市商业银行联盟
我也是类似错误,不过应该不是内容库的问题,而是从报表平台传递用户名给ldap的时候,ldap执行搜索的时候出错。显示全部
我也是类似错误,不过应该不是内容库的问题,而是从报表平台传递用户名给ldap的时候,ldap执行搜索的时候出错。收起
软件开发 · 2014-01-04
浏览938
cognoszgcognoszg其它威尔森
我的问题不是出在用户名上,是因为QueryUtil.java里的searchQuery方法中有两句代码有问题final boolean bIsUser = ((Integer) row[isUserCol]).intValue() == 1;final boolean bIsGroup = ((Integer) row[isGroupCol]).intValue() == 1;导入import java.math.BigDecimal;...显示全部
我的问题不是出在用户名上,是因为QueryUtil.java里的searchQuery方法中有两句代码有问题
final boolean bIsUser = ((Integer) row[isUserCol]).intValue() == 1;
final boolean bIsGroup = ((Integer) row[isGroupCol]).intValue() == 1;
导入import java.math.BigDecimal;
把上面两句改为
final boolean bIsUser = ((BigDecimal)row[isUserCol]).intValue() == 1;
final boolean bIsGroup = ((BigDecimal)row[isGroupCol]).intValue() == 1;

是cognos10.2.1版本的,现可以看到了。

不过对于sdk里面建表语句
create table USERS (
        USERID                        integer not null ,
        USERNAME                varchar(255) not null ,
        PASSWORD                varchar(255) not null ,
        FULLNAME                varchar(255) ,
        EMAIL                        varchar(255) ,
        LOCALE                        char(5) ,
        TENANT                        varchar(128) ,
        constraint PK_USERS primary key (USERID)
);

create table GROUPS (
        GROUPID                        integer not null,
        GROUPNAME                varchar(255) NOT NULL,
        USERID                        integer,
        TENANT                        varchar(128) not null
);

users表中的LOCALE,TENANT和groups表中的TENANT字段用来做什么不清楚,怎么用也不清楚??

谢谢!收起
互联网服务 · 2013-10-24
浏览946
cognoszgcognoszg其它威尔森
回复 8# 贝克汉姆     之前test那个有cg_test 后面看了你的贴子后把数据库的cg_test 改为test应该没有特殊字符了的.谢谢!显示全部
回复 8# 贝克汉姆


    之前test那个有cg_test 后面看了你的贴子后把数据库的cg_test 改为test应该没有特殊字符了的.谢谢!收起
互联网服务 · 2013-10-24
浏览935
贝克汉姆贝克汉姆软件开发工程师IBM
回复 7# cognoszg     那是因为还有不识别的字符,比如 _ ? / < >,空格等显示全部
回复 7# cognoszg


    那是因为还有不识别的字符,比如 _ ? / < >,空格等收起
互联网服务 · 2013-10-24
浏览964
cognoszgcognoszg其它威尔森
版主,我也遇到这个情况,但是我的用户名只有5个字符 admin 和 test 2个用户,还是会出现这种情况显示全部
版主,我也遇到这个情况,但是我的用户名只有5个字符 admin 和 test 2个用户,还是会出现这种情况收起
互联网服务 · 2013-10-23
浏览926
贝克汉姆贝克汉姆软件开发工程师IBM
CJP用户名的显示方式 :Administrator(Administrator) 达到了28位LDAP和NTLM等没有这种限制显示全部
CJP用户名的显示方式 :Administrator(Administrator) 达到了28位
LDAP和NTLM等没有这种限制收起
互联网服务 · 2013-02-28
浏览892
hupingzhihupingzhi系统架构师PA
那以后碰到长用户名怎么办?显示全部
那以后碰到长用户名怎么办?收起
保险 · 2013-02-28
浏览937
贝克汉姆贝克汉姆软件开发工程师IBM
多谢各位答复。问题已经解决,非常诡异。custom java provder做身份验证时,用户名长度过长会出错。删除 “Administrator”用户,就正常了。显示全部
多谢各位答复。问题已经解决,非常诡异。
custom java provder做身份验证时,用户名长度过长会出错。
删除 “Administrator”用户,就正常了。收起
互联网服务 · 2013-02-27
浏览922
hupingzhihupingzhi系统架构师PA
浏览974
lionelynlionelynBI开发工程师交通银行
是不是CM库哪儿出问题了0 0   看看下面两个不知道有没有用。。。http://www-01.ibm.com/support/docview.wss?uid=swg21613381http://www-01.ibm.com/support/docview.wss?uid=swg21340088显示全部
是不是CM库哪儿出问题了0 0   看看下面两个不知道有没有用。。。
http://www-01.ibm.com/support/docview.wss?uid=swg21613381
http://www-01.ibm.com/support/docview.wss?uid=swg21340088收起
金融其它 · 2013-02-25
浏览942

提问者

贝克汉姆
软件开发工程师IBM

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2013-02-25
  • 关注会员:1 人
  • 问题浏览:5306
  • 最近回答:2014-01-04
  • X社区推广