We installed this in our test environment and it worked as advertised BUT I have two questions: Why did you choose to throw a http status 500 "Internal Error" exception (as opposed to picking another number like 400 "Bad Request") and can this be changed?
The status code 500 error appear to be a catch all for anything not categorized and because of this they are the hardest to diagnose. Just look in these forums and you'll find several unrelated 500 threads. And BTW, I looked in every log file I could find and there was no reference to the cause so this took a while to figure out (as with all 500 errors). I don't really expect an answer here, I'm more in a venting mood (but an answer would be appreciated if there is one).
Europe, Middle East and Africa