Askok,
The idea is not to check to see if there is an exception, but the understand that by the very nature that you are in the catch block that an error has occurred. If you are concerned about the type of error, and wish to trap, perhaps database errors, then you can filter by error type thrown.
pub.flow:getLastError will extract the very last error from that occurred by the user running the service. Make sure it is the FIRST flow service in the catch block. Otherwise, if something else throws an error in the catch block, it will return that particular error. And since the catch block is set to done, it will continue.
Once you filter and determine that you have a transient error, then you set your flag value that the outside branch executes against.
The main thing that you accomplish with this is to resend the document to the flow.
Of course, if you have db calls and other things running, then you need to use start/commit/rollback or you will not be happy. The rollback should be in the catch block.
This is about the best explanation I can give you. I am using this in 6.01, although it was designed for 6.1.
HTH
Ray
#Integration-Server-and-ESB#Flow-and-Java-services#webMethods