25323

Dojo xhrGet with sync:false issue with xe:viewJsonLegacyService and Domino 8.5.3 SP1

Question:

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.

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?

I created a sample application for download <a href="http://www.openntf.org/Projects/pmt.nsf/C3765C6C79C09D5A86257A68003D3149/%24file/xhrprobl.zip" rel="nofollow">here</a> 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.

Edit: 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)

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

Answer1:

Just want to confirm that this works on IBM Domino 9.0 and IBM XWork Server 9.0.

So if you experience this issue, then consider upgrading to 9.0.

Answer2:

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.

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

Answer3:

Same problem here, my workaround is to put as much as I can into the applicationScope so that one request will be returned very fast. This way, if I make two requests in a short time, the chance to get this error is lowered... But it can still occur, so I'm not happy with that :(

Recommend

  • autosave function Ajax Mode - second part
  • Build Automatically versus Build Manually
  • I want to bind the click event to the li elements in the xpages type-ahead
  • How do I access SQL from XPages
  • Detect language of Word document
  • VB.NET 2012 Property Set on Property Get
  • Distributed JMS based logging .. falling flat?
  • How to know which Linq statement produced the SQL on hand during runtime?
  • ZipList with Scalaz
  • Implement JwtBearer Authentication in NSwag SwaggerUi
  • Easiest way to get current unix timestamp via XSL
  • Sensibility of combined Maven/Ant+Ivy build management for dual platform Desktop/Android deployment?
  • How to get current document uri in XSLT?
  • Reading a file into a multidimensional array
  • Android application: how to use the camera and grab the image bytes?
  • Does it make sense to call System.gc() and Thread.sleep() when working on Bitmaps?
  • azure media services - The request body is too large and exceeds the maximum permissible limit
  • Combining SpatialPolygonsDataFrame of two neighbour countries
  • Meteor: Do Something On Email Verification Confirmation
  • How to clear text inside text field when radio button is select
  • Scrapy recursive link crawler
  • Controls, properties, events and timers running in design time
  • Does CUDA 5 support STL or THRUST inside the device code?
  • Where to put my custom functions in Wordpress?
  • Updated Ionic CLI but shows previous version (Windows)
  • Why winpcap requires both .lib and .dll to run?
  • RestKit - RKRequestDelegate does not exist
  • WPF Applying a trigger on binding failure
  • Hits per day in Google Big Query
  • FormattedException instead of throw new Exception(string.Format(…)) in .NET
  • Setting background image for body element in xhtml (for different monitors and resolutions)
  • Can Visual Studio XAML designer handle font family names with spaces as a resource?
  • Linking SubReports Without LinkChild/LinkMaster
  • XCode 8, some methods disappeared ? ex: layoutAttributesClass() -> AnyClass
  • Django query for large number of relationships
  • reshape alternating columns in less time and using less memory
  • Why is Django giving me: 'first_name' is an invalid keyword argument for this function?
  • How can I use `wmic` in a Windows PE script?
  • Why do underscore prefixed variables exist?
  • How to push additional view controllers onto NavigationController but keep the TabBar?