Best practises error handling for portlets based on IS services

We are using CAF portlets as frontends for some IS services.

Errors thrown from inside the IS service cause a prominent display in the heading line of the portlet but the error message is quite technical and cryptic, even if the message thrown on the IS side was populated with a proper message. Using output fields in the IS service can transport a proper message, but per default it is not displayed in a separate error field.

Has anybody experiences and best practises to return error messages to the users of a portlet?