User 2 sees an error page, with a message like "Submission service error. Your submission is out of date. Server revision number is x, your revision number is y. Last modified user was xxxx."
Does anyone know if its possible to intercept this error programmatically server side? We would like User 2 (in this example) to be redirected to another page instead of seeing the error message. The client doesn't want the user to see the error.
The forms are built in Maestro.
Altering the behavior of the Submission Service would require lodging a change request.
Alternatively, you could consider writing a submission preprocessor service and detecting the potential conflict by comparing the submission revision numbers, then throwing a redirect exception as described at Submission Preprocessor.
Thanks for your help Bill, but the submission preprocessor idea doesn't work. Seems the error is triggered before the service gets called
A dynamic data service as suggested by Ben Warner at How do I prevent a submission in the submission preprocessor. might be the best option for you now. That particular scenario isn't exactly the same as yours, but the method should still be quite valid,
Thanks again Bill, I'll look into it. Really appreciate your help
You could create an onFailure rule on the Submit button to detect the error.
Fixing the condition on the server is a different matter though, so the page redirection would probably need to include some instructions on how to request support.
Thanks for responding Bill. Could you clarify what you mean about server server side interception? I don't understand
The error is generated by the Submission service on the Transact Manager server because of a conflict that has arisen from other submissions of that form having taken place since the problematic form was rendered.
If that conflict needs explaining to the user having the problem, they would need to be redirected to a page that explains how to recover from the situation, or how to contact support for further assistance.
OK I see. I think perhaps my question could have been clearer; I've updated it