Adding a response here for anyone that stumbles upon this post and has the same problem.
When utilizing apikey for authentication, we do not establish a session and release any sets opened during the request. For stable pagination (where a single set needs to stay in memory), you need to add a query parameter enablesession=1 to enable the set to be persisted.
Stable pagination is also dependent on you routing to the same JVM because only that one JVM has that set for you to continue traversing. This makes it important that you capture the cookies (such as jsessionid) from the response headers on the first request and provide them as request headers on subsequent requests to ensure you get routed to the same JVM.
------------------------------
Steven Shull
------------------------------
Original Message:
Sent: Wed January 31, 2024 12:49 AM
From: Pankaj Bhide
Subject: MAXIMO OSLC JSON Rest API - Stable paging not working?
Hello,
Please see my following HTTP Get request that fetches the data from "assetspec" table using object structure "lbl_ds_assetspec" (apikey is masked with ***)
https://maximo.lbl.gov/maximo/api/os/LBL_DS_ASSETSPEC?lean=1&oslc.select=assetnum%2Casset.description--asset_desc%2Cclassstructureid%2Cclassstructure.description--classstruct_description%2Cassetattrid%2Cassetattribute.description--assetattrib_description%2Cmeasureunitid%2Calnvalue%2Cnumvalue%2Cdisplaysequence&apikey=****&_dropnulls=0
&oslc.pageSize=50&stablepaging=1
The above immediately fetches the initial rows and displays "nextPage"'s "href" with pageno=2 and "stableid". However once I click that URL, it gives me the following error:
I changed the value of "mxe.oslc.idleexpiry" to 600 (10 mins) with live refresh. However, it does NOT work. Even, I immediately click on the "nextPage" URL, it gives me the above error.
What could be wrong?
Please help.
------------------------------
Pankaj Bhide
------------------------------