Unless the client is a local client to the EJB and uses a no-interface view of the EJB, you cannot use the implementation class when casting the result of the lookup.
In your case, what I can tell is:
1. The client is not a local client of the EJB, since it seems to be executing in another JVM than the EJB.
2. The EJB implements a remote interface. If you haven't explicitly annotated the EJB implementation class with @LocalBean, then there is no local view of the EJB.