RTFM: You have to annotate your runtime exception using javax.ejb.ApplicationException annotation. Then your runtime exceptions are regarded as application exceptions. Read EJB 3.0 specification chapter 14.
Why SOAP fault code is env:Server and HTTP status code is 500 (internal server error) in case of the application exception?
How can I set SOAP fault code to env:Client and HTTP status code to 400 (bad request).