You can absolutely set a parameter (can be anything) with the Survo ID for the next step. One common tactic is to have multiple Survo IDs stored in static parameters to identify the next step depending on the business rules.
So you could have a static parameter InvalidSurvoID=1234&ValidSurvoID=1235
If the response was determined invalid, you would pull the value of InvalidSurvoID and just respond with the proper XML. That way you can change the routing without changing the code.