Ao lançar um exceção customizada em um EJB, o cliente recebe uma Unexpected Exception

Boa tarde a todos.

Tenho uma aplicação utilizando EJB 2.1. O problema consiste no seguinte. Possuo uma classe e exceção chamada ExcecaoDeNegocio. Esta classe extende java.lang.Exception.
Quando um Session Bean gera esta exceção (através de throws new ExcecaoDeNegocio), a exceção que é propagada ao cliente do EJB, não é esta, e sim uma UnexpectedException.
Ou seja, eu gero uma exceção de um tipo no EJB, porém a exceção que é repassada ao cliente, é uma UnexpectedException.
O método do EJB que lança esta exceção, já está prevendo ela na declaração do método.

Método no EJB que lança a exceção:

public void salvar(Object obj) throws RemoteException, ExcecaoDeNegocio {
  
   (...)

   /** Neste ponto lanço a exceção **/
   throws new ExcecaoDeNegocio(msgErro);
}

No cliente deste EJB, temos :

public void salvar(Object obj) {

   (...)
   /** Captura a exceção **/
   try {
      ejbRef.salva(obj);
   } catch (Exception e) {
      /** Neste ponto, se eu verificar a exceção, o e = UnexpectException
            porém deveria chegar aqui, uma ExcecaoDeNegocio, pois é ela
            que está sendo gerada no EJB **/
   }

}

Gostaria de saber se alguém sabe o motivo deste problema, e como pode ser contornado.

Estou utilizando servidor de aplicações WebSphere 6.1

Abraço.

exception.getRootCouse() ?

Nada, cara. Ele retorna null.