Dojo xhrGet with sync:false 问题与 xe:viewJsonLegacyService 和 Domino 8.5.3 SP1 [英] Dojo xhrGet with sync:false issue with xe:viewJsonLegacyService and Domino 8.5.3 SP1

查看:21
本文介绍了Dojo xhrGet with sync:false 问题与 xe:viewJsonLegacyService 和 Domino 8.5.3 SP1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

自从我们将开发服务器从 Domino 8.5.3 升级到 8.5.3 FP1 后,我们遇到了一个非常奇怪的问题.我们使用 xe:viewJsonLegacyService 以 json 格式输出视图内容,并使用参数 sync:false 的 dojo xhrGet.这样我们就可以一次向 xe:viewJsonLegacyService xagent 页面发出多个请求,并在请求完成后处理它们.

Since we upgraded our development servers from Domino 8.5.3 to 8.5.3 FP1 we encounter a very strange problem. We use the xe:viewJsonLegacyService to ouput the view contents in json format and dojo xhrGet with param sync:false. This way we are able to fire multiple requests at once to the xe:viewJsonLegacyService xagent page and process them when the request is done.

在 Lotus Domino FP1 之后,sync:false 不再可用,如果我们同时触发三个请求,它将为两个请求返回错误 500,并在一个请求上成功(每次).我创建了一个示例数据库,向您展示出了什么问题.但我不确定这是因为扩展库或 Xpages 中的问题.

After Lotus Domino FP1 the sync:false is not usable anymore, if we fire three simultaneous requests it will return error 500 for two requests and success on one request (every time). I created an example database which shows you what goes wrong. But I'm not sure this is because of a problem in the Extension Library or Xpages.

也许有人有这方面的经验,也许有解决方法?

Maybe someone have experience with this and maybe a workaround?

我创建了一个示例应用程序供下载此处 我演示这个问题的地方.它会在 Domino 8.5.3 SP1/SP2 安装上失败,但不会在 Domino 8.5.3 安装上失败.它需要扩展库.

I created a sample application for download here where I demostrate the issue. It will fail on a Domino 8.5.3 SP1/SP2 installation but not on a Domino 8.5.3 installation. It requires the Extension Library.

这是从服务器返回的堆栈跟踪java.lang.NullPointerExceptioncom.ibm.xsp.webapp.FacesServlet.acquireSyncToken(FacesServlet.java:285)com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:161)com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1281)com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:847)com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1265)com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:653)com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:476)com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:341)com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:297)com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)

this is the stacktrace that returns from the server java.lang.NullPointerException com.ibm.xsp.webapp.FacesServlet.acquireSyncToken(FacesServlet.java:285) com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:161) com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160) com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138) com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103) com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576) com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1281) com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:847) com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796) com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565) com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1265) com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:653) com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:476) com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:341) com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:297) com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)

我在 IBM 开设了一个 PMR.当您从 Domino 8.5.3 UP1 升级到 FP1+ 时也会发生这种情况.

I have opened up a PMR at IBM. This will also happen when you upgrade from Domino 8.5.3 UP1 to FP1+.

推荐答案

我已经完成了 PMR 流程,IBM 已将此确定为一个可重现的问题.他们无法告诉我是否以及何时修复此问题,但可能会在下一个维护版本或修复包中.

I've gone throught the PMR process and IBM has indentified this as an reproducable issue. They could not tell me if and when this will be fixed but it could be in the next maintenance release or fixpack.

当前的解决方法是使用 FP 安装应用程序卸载 FP1 或 FP2.

The current workaround is to deinstall FP1 or FP2 using the FP installation application.

这篇关于Dojo xhrGet with sync:false 问题与 xe:viewJsonLegacyService 和 Domino 8.5.3 SP1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆