Pessoas,
Estou tendo problemas em capturar a mensagem real de exceção disparada pelo meu objeto remoto…
@Stateless(name="TestSecurity")
public class MySecurity extends UnicastRemoteObject implements IMySecurityLocal, IMySecurityRemote{
.....
public boolean login( final String login, final String senha) throws RemoteException {
....
else throw new RemoteException("A senha informada não confere");
.....
}
}
Nesta classe tenho um método que dispara uma RemoteException. Tá disparando normalmente, só que do lado cliente tá a seguinte msg:
13:26:37,399 ERROR SocketClientInvoker:297 - Error loading classes from remote call result.
java.lang.ClassNotFoundException: [Ljava.lang.StackTraceElement;
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.jboss.remoting.loading.RemotingClassLoader.loadClass(RemotingClassLoader.java:50)
at org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.resolveClass(ObjectInputStreamWithClassLoader.java:139)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1624)
E deveria na verdade ter a msg de “Senha incorreta”. Se eu printar a msg no servidor, um JBoss 4.0.2, ela sai correta, mas no lado cliente nada, só essa ClassNotFoundException.
O problema é que o cliente precisa saber qual o motivo do erro, mas ao disparar a exceção esse motivo não está vindo… Só estourando essa tripa de exceção aí, que para o cliente não diz nada, só que falhou mas sem o motivo da falha.
Estou usando o Eclipse como IDE, caso seja alguma configuração de compilação que eu não tenha feito.
Alguém sabe como resolver essa parada ?
Vlw !
Fabiano