从FP6升级到FP8时,Rest服务在分类视图的键和列上不返回任何内容

时间:2017-12-11 12:27:37

标签: rest xpages

我正在使用我已实施搜索的应用程序,并通过Rest Service xpage在URL中传递“searchKeys”,

在修订包6中,我得到了预期的结果,但是我在Feature Pack 8服务器中配置了相同的应用程序,Rest服务中的密钥simple什么都不返回,在Categorized视图中我更新了Keys with Categorized列值返回空指针。

如果我尝试获取分类列结果,我会收到错误

{
    "code":500,
    "text":"Interner Fehler",
    "message":"",
    "type":"text",
    "data":"java.lang.NullPointerException\r\n\tat com.ibm.domino.services.rest.das.view.RestViewNavigatorFactory$ViewNavigatorNavigator.getTopLevelEntryCount(RestViewNavigatorFactory.java:644)\r\n\tat com.ibm.domino.services.rest.das.view.RestViewNavigatorFactory$SearchKeyNavigatorNavigator.getTopLevelEntryCount(RestViewNavigatorFactory.java:581)\r\n\tat com.ibm.domino.services.rest.das.view.RestViewItemFileService.renderServiceJSONGet(RestViewItemFileService.java:263)\r\n\tat com.ibm.domino.services.rest.das.view.RestViewItemFileService.renderService(RestViewItemFileService.java:77)\r\n\tat com.ibm.domino.services.HttpServiceEngine.processRequest(HttpServiceEngine.java:168)\r\n\tat com.ibm.xsp.extlib.component.rest.UIBaseRestService._processAjaxRequest(UIBaseRestService.java:257)\r\n\tat com.ibm.xsp.extlib.component.rest.UIBaseRestService.processAjaxRequest(UIBaseRestService.java:234)\r\n\tat com.ibm.xsp.util.AjaxUtilEx.renderAjaxPartialLifecycle(AjaxUtilEx.java:206)\r\n\tat com.ibm.xsp.webapp.FacesServletEx.renderAjaxPartial(FacesServletEx.java:249)\r\n\tat com.ibm.xsp.webapp.FacesServletEx.serviceAjaxPartialView(FacesServletEx.java:200)\r\n\tat com.ibm.xsp.webapp.FacesServletEx.serviceAjaxPartialViewSync(FacesServletEx.java:169)\r\n\tat com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:155)\r\n\tat com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:159)\r\n\tat com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)\r\n\tat com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)\r\n\tat com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:588)\r\n\tat com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)\r\n\tat com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:865)\r\n\tat com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:808)\r\n\tat com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:577)\r\n\tat com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)\r\n\tat com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)\r\n\tat com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)\r\n\tat com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)\r\n\tat com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)\r\n\tat com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)\r\n"
}

在搜索“休息服务中的密钥”的情况下,错误只是空的

  {
"@timestamp":"2017-12-11T12:24:41Z",
"@toplevelentries":1799,
"items":
[
]
}

注意:同样适用于FP6但不适用于FP8

1 个答案:

答案 0 :(得分:1)

我在项目中遇到了类似的问题。您会得到nullPointerException,因为REST服务未返回任何内容(空)。因此,在REST服务中将数据(空数据)加载到网格中时,加载数据的代码应处理异常。下面的代码可能会帮助您。

listeners: {
    exception : function(proxy, response, operation) {
    operation.records = []; //set the value of exceptional data to blank.
}