| || |
Implementing Asynchronous protocol
Anyone knows how to implement Asynchronous protocol in Silkperformer wherein we need to poll for a report to come back.
This is what is needed.
Send the report execution URL to the server.
1. The report is returned quickly and my script avoids async or,
2. The report is not ready for viewing and enters async.
Assuming 2. I then enter the async loop. Every 30s the server will update the client with a status as long as the report is still running. These status statements are encoded but they are either 'Working', 'stillWorking', or 'responseReady'. As long as I receive 'Working' or 'stillWorking' I remain in the loop waiting for the report and respond with a 'Waiting' status. Of course, I can't explicitly know this but when I get 'responseReady' (this particular status doesn't wait 30s - it's sent once report is ready) the server will automatically send the client the report output. I look for the output each loop in async. When I find the output I exit async as I've gotten the report. If I don't find the output then I can safely assume that the server is still working on the report.
So for eg the following link returns a report but it takes time. So we need to poll continuosly and check for the status.
WebPageSubmit("formWarpRequest", FORMWARPREQUEST005, "Report Viewer - RS AP Benchmark Report 1 (#3)"); // Form 1
Any ideas on how to implement this .. It is for a tool called reportnet by cognos.