1

我编写了一个 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
"
}   

我不知道出了什么问题。它只是停止工作

4

1 回答 1

0

您是否使用提供的示例之一来获取 documentCollection?如果没有,您的生产数据库是否有未读标记?您的 REST 调用是否有权访问/如果没有,您的数据库是否允许通过 REST 进行匿名访问?

您的错误在这里: at lotus.domino.local.ViewEntry.getRead(Unknown Source)

This method of the NotesViewEntry class looks for the user name in order to know whether to return a boolean telling if the entry has been read. If no user is specified, it returns for the current user, and that may be the server or who is authenticated in the REST service.

Also, I find this http://www-10.lotus.com/ldd/nd8forum.nsf/5f27803bba85d8e285256bf10054620d/2f8ee50784b70b06852577dc0050efeb?OpenDocument saying unread marks are not working in some releases, but I've not been able to verify it.

If you can remove the line calling for getRead() and run it, that will confirm for you.

Cheers, Brian

于 2013-03-06T20:32:00.290 回答