我编写了一个Xpage扩展库休息服务,它一直工作到今天,在我的开发环境中它工作但不是生产(相同的文档): 这里是ajax联系休息服务时的响应:
{
"code":400,
"text":"Bad Request",
"message":"Unable to read Unread Marks",
"type":"text",
"data":"com.ibm.domino.services.ServiceException:
at com.ibm.domino.services.rest.das.view.RestViewNavigatorFactory$NOINavigator.getRead(RestViewNavigatorFactory.java:175)
at com.ibm.domino.services.rest.das.view.RestViewItemFileService.writeSystemColumns(RestViewItemFileService.java:359)
at com.ibm.domino.services.rest.das.view.RestViewItemFileService.writeEntryAsJson(RestViewItemFileService.java:308)
at com.ibm.domino.services.rest.das.view.RestViewItemFileService.renderServiceJSONGet(RestViewItemFileService.java:280)
at com.ibm.domino.services.rest.das.view.RestViewItemFileService.renderService(RestViewItemFileService.java:77)
at com.ibm.domino.services.HttpServiceEngine.processRequest(HttpServiceEngine.java:167)
at com.ibm.xsp.extlib.component.rest.UIBaseRestService._processAjaxRequest(UIBaseRestService.java:242)
at com.ibm.xsp.extlib.component.rest.UIBaseRestService.processAjaxRequest(UIBaseRestService.java:219)
at com.ibm.xsp.util.AjaxUtilEx$1.invokeContextCallback(AjaxUtilEx.java:194)
at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:862)
at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:878)
at com.ibm.xsp.component.UIDataPanelBase.invokeOnComponent(UIDataPanelBase.java:416)
at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:878)
at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:878)
at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:878)
at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:878)
at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:878)
at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:878)
at com.ibm.xsp.component.UIViewRootEx.invokeOnComponent(UIViewRootEx.java:1552)
at com.ibm.xsp.util.AjaxUtilEx.renderAjaxPartialLifecycle(AjaxUtilEx.java:188)
at com.ibm.xsp.webapp.FacesServletEx.renderAjaxPartial(FacesServletEx.java:225)
at com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:170)
at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:583)
at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1281)
at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:854)
at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:803)
at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:572)
at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1265)
at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:658)
at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:481)
at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:341)
at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:297)
at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
Caused by: NotesException: Unable to read Unread Marks
at lotus.domino.local.ViewEntry.getRead(Unknown Source)
at com.ibm.domino.services.rest.das.view.RestViewNavigatorFactory$NOINavigator.getRead(RestViewNavigatorFactory.java:173)
... 35 more
"
}
我不知道出了什么问题。 它只是停止工作
答案 0 :(得分:0)
您是否正在使用提供的示例之一来获取documentCollection?如果没有,您的生产数据库是否有未读标记?您的REST调用是否具有访问权限/您的数据库是否允许通过REST进行匿名访问?
您的错误在这里: 在lotus.domino.local.ViewEntry.getRead(未知来源)
NotesViewEntry类的此方法查找用户名,以便知道是否返回一个布尔值,告知是否已读取该条目。如果未指定用户,则返回当前用户,可能是服务器或在REST服务中进行身份验证的用户。
此外,我发现此http://www-10.lotus.com/ldd/nd8forum.nsf/5f27803bba85d8e285256bf10054620d/2f8ee50784b70b06852577dc0050efeb?OpenDocument表示未读标记在某些版本中无效,但我无法对其进行验证。
如果您可以删除调用getRead()的行并运行它,那将为您确认。
干杯, 布赖恩