I am facing a problem while invoking getHandle() method on remote.
A client program does a remote lookup to Stateless SB. Since it is to be used frequently, I have used the getHandle method to cache the reference.
However the
EJB on this server throws NullPointerException at
exactly the same point where getHandle is called.
The stack trace is:
java.lang.NullPointerException at weblogic.ejb20.internal.HandleImpl.readExternal(HandleImpl.java:101)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedO
bjectInputStream.java:128) at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedO
bjectInputStream.java:152) at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
at weblogic.rmi.internal.BasicRemoteRef.unmarshalReturn(BasicRemoteRef.j
ava:233) at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteR
ef.java:264) at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteR
ef.java:230) at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
at $Proxy2.getHandle(Unknown Source)
at com.dhl.apis.bis.socket.SocketServerForDCI.setBookingServiceRemoteHan
dle(SocketServerForDCI.java:228)
However this works fine for another instance of same application on other server.
Note that there is no clustering used anywhere.
I want to know is there some console or server setting which is causing the problem.
From the stacktrace my primary guess is that the server is not able to serialize the handle.
~a