2 Replies Latest reply on Dec 4, 2006 11:10 AM by Petr Matejka

    SocketException converted into UndeclaredThrowableException

    Petr Matejka Newbie

      Hi,
      I have a problem with exception reporting in EJB3 remote calls. My remote client has 20s timeout on remote calls and the timeout works fine, however the timeout exception is converted into UndeclaredThrowableException by jboss remoting/ejb3 invocation interceptors. I would expect to receive some kind of communication exception or remoting exception, which I could handle in my client code. Any ideas?
      Thanks

      SW versions: JBoss 4.0.4GA, EJB3 RC9, JBoss Remoting 1.4.4.

      My stacktrace:


      2006-11-30 17:01:37,334 FATAL [cz.tipsport.pluginsys.gui.ApplicationUncaughtExceptionHandler] (AWT-EventQueue-0:) Unchecked exception thrown!
      java.lang.reflect.UndeclaredThrowableException
      at $Proxy44.findAddressees(Unknown Source)
      at cz.tipsport.tip.dms.gui.addressee.gui.AddresseeSelectorPanelCtl.<init>(AddresseeSelectorPanelCtl.java:156)

      ... not important ...

      Caused by: java.rmi.MarshalException: Socket timed out. Waited 20000 milliseconds for response while calling on InvokerLocator [socket://172.16.19.42:3673/?timeout=20000]; nested exception is:
      java.net.SocketTimeoutException: Read timed out
      at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:302)
      at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143)
      at org.jboss.remoting.Client.invoke(Client.java:525)
      at org.jboss.remoting.Client.invoke(Client.java:488)
      at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:55)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
      at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
      at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:55)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
      at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:77)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
      at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102)
      ... 114 more
      Caused by: java.net.SocketTimeoutException: Read timed out
      at java.net.SocketInputStream.socketRead0(Native Method)
      at java.net.SocketInputStream.read(SocketInputStream.java:129)
      at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
      at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
      at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2200)
      at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2490)
      at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2500)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1267)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
      at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:128)
      at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:66)
      at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:279)
      ... 126 more