By default, Seam always display a "Transaction Failed" message.
Inside Nuxeo, this may be confusing since a listener (or any other processing) could do some check prior to commit and rollback the transaction.
In these cases, Nuxeo normally bubbles a RecoverableClientException that will then be displayed in Nuxeo UI.
A typical example is the QuotaExceededException
This task will require to do some changes directly inside of Seam.