My two cents.
Your SOP will never give the tx status as rollback as the transaction status is set to rollback if the runtime exception is thrown by the EJB method.
So, when your ejb's method is completed (by throwing an exception), then only it will be rolled back and not at the point you catch the exception in your code.
How many resources are participating in this transaction?
Just check if
this article helps you.
[ June 18, 2007: Message edited by: Nitesh Kant ]