Split it into 2 phases: Phase 1: Submit form Do the work (webservice + version increment) Generate a link to the generatePDF event Return the page to be re-rendered
Phase 2: Re-render the page Use javascript to download the PDF once the page has loaded.