我在申请中收到以下错误:
错误说明:无法准备搜索结果。
错误消息: [DM_API_E_BADATTRNAME]错误:“文档/对象的错误属性名称'str_en'。”
技术跟踪详情:
DfTypedObjectException:: THREAD: http-9082-Processor19; MSG: [DM_API_E_BADATTRNAME]error:
"Bad attribute name 'str_en' for document/object."; ERRORCODE: 100; NEXT: null
at com.documentum.fc.client.DfTypedObjectException.newBadAttrNameException(DfTypedObjectException.java:39)
at com.documentum.fc.client.DfType.getTypeAttr(DfType.java:282)
at com.documentum.fc.client.DfType.getTypeAttrDataType(DfType.java:131)
at com.documentum.fc.client.DfType___PROXY.getTypeAttrDataType(DfType___PROXY.java)
at se.project.osi.util.dfc.OsiType.getTypeAttrDataType(OsiType.java:630)
at org.apache.jsp.portal.administration.equipment.resultset_jsp._jspService(resultset_jsp.java:342)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at se.filter.LoginFilter.doFilter(LoginFilter.java:55)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at se.filter.EncodingFilter.doFilter(EncodingFilter.java:33)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
错误仅在我最近从5.3(sp6)将dfc升级到版本6.7(sp1)时才开始。我在本地运行一切。我的5.3(sp6)版本仍然可以正常工作,但我想知道什么可能导致错误,即使它们运行在相同的文档库,相同的应用程序(dfc更改除外)和同一服务器上。
以下是result.jsp的代码片段,它应显示搜索结果:
<%
java.util.Collection col = null;
se.project.osi.util.dfc.OsiDQL q = new se.project.osi.util.dfc.OsiDQL(org.apache.commons.logging.LogFactory.getLog(this.getClass()));
q.setDQL("select str_en from osi_localized where str_category = 'Title'");
col = q.toCollectionString();
java.util.Iterator it = col.iterator();
while(it.hasNext()){
out.println((String) it.next()+ "<br>");
}
%>
还有search.jsp:
<%
try {
queryBean.parse(request, "");
queryBean.doAction(request, "");
// Get the Query Mgr Model
OsiQueryMgrModel model = (OsiQueryMgrModel) session.getAttribute(IProjectType.MODEL_SEARCH_CONTENT);
String onSubmit = "";
if (model == null) {
// Create new Query Mgr Model
model = new OsiQueryMgrModel();
}
if(request.getParameter("osi_localized.str_en") != null)
onSubmit = "onLoad=\"parent.resultview.location.href = '" +
request.getContextPath() + "/portal/administration/material/resultset.jsp?run=T';\"";
// Assign the updated QueryMgr
model.setQueryMgr(queryBean.getQueryMgr());
session.setAttribute(IProjectType.MODEL_SEARCH_CONTENT, model);
%>
提前谢谢你,
版
答案 0 :(得分:0)
看看这里:https://community.emc.com/message/90845#90845
从它的声音来看,com.documentum.fc.client.qb
命名空间现在已经被弃用了许多版本,并被com.documentum.fc.client.search
取代,所以这肯定是个问题。它似乎在5.3或甚至更早的时候被弃用,所以升级到6.x可能会对这些类产生意想不到的结果,如果它们存在的话。
答案 1 :(得分:0)
当我将属性名称放在不区分大小写的“ dqlCount”或“ dql_count”中时,我遇到了同样的问题。之后,我从属性“ dqlcount”中删除了不区分大小写和字母数字符号,然后对我来说很好用。