1 Reply Latest reply on Nov 3, 2012 7:36 AM by Volker Biermann

    JBoss 4 to JBoss 6 - remoting client invocation - Exception due to not being connected to server

    Volker Biermann Newbie

      Hello,

      following a hint from a user we post the question into the AS forum. Originally it was posted into the remoting forum.

       

      We have an Web Start application using JBoss. The client application works fine with JBoss 4.2.3.GA but throws Exception using JBoss 6. We use a code sniplet to invoke a bean home interface:

       

       

      try
              {
                  writeLog("connectionStr:", connectionStr);
                  writeLog("jndiName:", jndiName);
                  
                  EJBHome home = getHome(connectionStr, jndiName, homeClass);
                  writeLog("Home", "ok");
                  writeLog("Home", home.toString());
                  Method createMethod = homeClass.getMethod("create", (Class[])null);
                  writeLog("createMethod", "ok");
                  writeLog("createdMethod ", createMethod.toString());
                  
                  Object bean = createMethod.invoke(home, (Object[])null);
                  writeLog("bean", "ok");
                  // sessionCache.put(jndiName, bean);
                  return bean;
                  // }
                  // return sessionCache.get(jndiName);
              }
              catch (ILServiceLocatorException e)
              {
                  writeLog("bean", e.getMessage());
                  throw e;
              }
              catch (Exception ex)
              {
                  writeLog("Exception type", ex.toString());
                  PrintWriter pw = null;
                  try 
                  {
                      pw = new PrintWriter(new FileWriter("c:\\test\\properties.txt", true));
                      ex.printStackTrace(pw);
                      pw.flush();
                      pw.close();
                  } 
                  catch (IOException e) 
                  {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
                  }
                  throw new ILServiceLocatorException(
                          getMessageString("ErrorCreateBusinessDelegate.001"), ex);
              }
      

       

      As a result we will get:

      --- JBoss 4.2.3.GA ---

       

      Okt 25,2012 15:26 - connectionStr:: jnp://192.168.16.220:10000

      Okt 25,2012 15:26 - jndiName:: ILUserAuthentication

      Okt 25,2012 15:26 - Home: ok

      Okt 25,2012 15:26 - Home: ILUserAuthenticationHome

      Okt 25,2012 15:26 - createMethod: ok

      Okt 25,2012 15:26 - createdMethod : public abstract com.identalink.bpauth.ILUserAuthentication com.identalink.bpauth.ILUserAuthenticationHome.create() throws java.rmi.RemoteException,javax.ejb.CreateException

      Okt 25,2012 15:26 - bean: ok

       

       

      --- JBoss 6.1.Final ---

       

      Okt 25,2012 15:50 - connectionStr:: jnp://192.168.16.220:10000

      Okt 25,2012 15:50 - jndiName:: ILUserAuthentication

      Okt 25,2012 15:51 - Home: ok

      Okt 25,2012 15:51 - Home: ILUserAuthenticationHome

      Okt 25,2012 15:51 - createMethod: ok

      Okt 25,2012 15:51 - createdMethod : public abstract com.identalink.bpauth.ILUserAuthentication com.identalink.bpauth.ILUserAuthenticationHome.create() throws java.rmi.RemoteException,javax.ejb.CreateException

      Okt 25,2012 15:51 - Exception type: java.lang.reflect.InvocationTargetException

      java.lang.reflect.InvocationTargetException

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

          at java.lang.reflect.Method.invoke(Unknown Source)

          at com.identalink.utils.ILServiceLocator.getSessionBean(ILServiceLocator.java:283)

          ... 43 more

       

      Caused by: java.lang.Exception: Can not make remoting client invocation due to not being connected to server.

          at org.jboss.remoting.Client.invoke(Client.java:2075)

          at org.jboss.remoting.Client.invoke(Client.java:879)

          at org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy.invoke(UnifiedInvokerProxy.java:184)

          at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:365)

          at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:197)

          at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)

          at org.jboss.proxy.ejb.SecurityContextInterceptor.invoke(SecurityContextInterceptor.java:64)

          at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:68)

          at org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:184)

          at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:101)

          ... 44 more

       

      First we thought it has something to do of changes on jboss-remoting.jar. Now it looks like it is a problem in the invoker proxy. The client is not connected. Just for completeness a couple of files are added. To make the files easier to read all information of other than the erroneous bean have been removed.

       

      How can we solve the problem?

       

      Thank you for your help

      Volker