3 Replies Latest reply on Jan 2, 2007 10:50 AM by bhupesh ravish

    unable to resolve beanClass method from remote proxy call.

    Nick Betteridge Newbie

      Excellent work guys - the whole ejb3/aop solution is really excellent - well done.

      Tried the tutorial - worked fine as expected. I tried to extend the entity example and, bearing in mind that I'm no ejb expert, I keep getting an exception when I try and get a previously persisted entity object (Order)

      I added the following to the ShoopingCart/ShoppingCartBean

       public Order findOrder(int orderKey)
       return manager.find(Order.class, orderKey);

      I added the following to the end of the Client code

       Order oldOrder = cart.findOrder(1);
       System.out.println("oldOrder = " + oldOrder.getTotal());

      Before running the cliient I can see that the PURCHASE_ORDER table already has an order entry with an id of 1 (from previous runs)

      When I run the client, everything works and then throws the exception when it gets down to picking up the old order ....

      Buying 2 memory sticks
      2004-10-28 12:14:49,685 INFO org.jboss.remoting.InvokerRegistry[main] - Failed to load soap remoting transport: org/apache/axis/AxisFault
      Buying a laptop
      Print cart:
      Total: $3000.0
      2 Memory stick 1000.0
      1 Laptop 2000.0
      Exception in thread "main" java.lang.RuntimeException: unable to resolve beanClass method from remote proxy call.
       at org.jboss.ejb3.stateful.StatefulContainer.remoteInvoke(StatefulContainer.java:132)
       at org.jboss.ejb3.remoting.EJB3RemotingInvocationHandler.invoke(EJB3RemotingInvocationHandler.java:76)
       at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:369)
       at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:282)
       at org.jboss.remoting.transport.socket.SocketServerInvoker$Client.run(SocketServerInvoker.java:208)

      I have also tried the following to try and get persisted order objects and the same exception is always thrown

       public java.util.List findOldOrders () {
       return manager.createQuery ("SELECT * FROM PURCHASE_ORDER").listResults();

      This has to be a mistake on my part, but I've spent two days reading through the ejb3 spec etc to try and work out what the problem is. Any ideas?