Important Update: Archer Community Scheduled Maintenance on November 23–24 - New Community Launching Soon! Learn More..
2020-04-23 05:08 AM
Hello,
I am currently working with the Web Services API, I use the "SearchRecordsByReport" operation.
In the request body I have to specify a "page number" integer of the report and this request returns only the records in the specified page.
Is there a way to get all records only with one request?
Regards,
Anthony
2020-04-23 05:21 AM
Nope, you have to respect and do pagination yourself
Sergei Bakhaev had nice demo: https://community.rsa.com/message/914938?commentID=914938#comment-914938
2020-04-23 05:21 AM
Nope, you have to respect and do pagination yourself
Sergei Bakhaev had nice demo: https://community.rsa.com/message/914938?commentID=914938#comment-914938
2020-04-23 05:56 AM
Anytime
2020-04-23 09:12 AM
You *can* increase the page size to a very large number, but if the result set is larger than the page number, you'll need to paginate as Ilya says.
I think 1000 is a common size for API apps.
2020-04-23 12:14 PM
Users will need to be use caution when working with this setting, though, as very large page sizes will negatively impact performance, and may also run up against HTTP timeout settings.
2020-04-27 11:37 AM
I agree there could be a performance concern for large reports. But if your search has only a few fields returned (Content ID, Status, etc.), you could build your own XML search criteria. I typically use the Archer Search 2.0 tool written by Jeff Letterman and specify your max records returned and not have to iterate through. I do this a lot in JavaScript Transporter data feeds. No issues so far with ~15k records and 5 fields in the Devices application with great performance.
Instead of using SearchRecordsByReport, you use ExecuteSearch instead.