With the next (not yet released) version of the Community commons you can throw a Webservice exception that communicates through soap faults back to the client.
(The current version has this method as well, but did not follow the conventions correctly)
UPDATE
For those that can't wait:
In the webservice exception that is thrown, the first param should be, WebserviceException.clientFaultcode, so change the code to:
throw new WebserviceException(WebserviceException.clientFaultCode, faultstring)
UPDATE 28-2
Things are getting more clear now, so you want to throw an exception while performing the mapping? In that case I think you should either (or both)
Or for now just create a new WebserviceException in a java action, fill in the information and throw it.