8 Replies Latest reply on Oct 14, 2011 6:22 AM by tong123123

    error when migrate from jboss 4.0.3 to 4.2.0

    tong123123

      the error message in E:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\server1\systemout.log is as follows

       

      [10/14/11 14:38:47:472 CST] 00000032 SystemOut O [2011-10-14 14:38:47,425] WebContainer : 0 td.es.common.external.utils.RequestMocker ERROR - Exception raised in receiveOnlineRequest()

      hk.gov.ogcio.egis.rm.common.exception.ServiceException

      at hk.gov.ogcio.egis.rm.common.utils.ServiceLocator.getRemoteHome(ServiceLocator.java:270)
      at hk.gov.ogcio.egis.rm.onlinerequest.utils.EJBLocator.getEJBRemote(EJBLocator.java:92)
      at td.es.common.external.utils.RequestMocker.getOnlineRequestBusinessManagerEJB(RequestMocker.java:258)
      at td.es.common.external.utils.RequestMocker.send(RequestMocker.java:140)
      at td.es.common.external.struts.action.GenericAction.send(GenericAction.java:70)
      at td.es.common.external.struts.action.GenericCheckClientConfigAction.execute(GenericCheckClientConfigAction.java:193)
      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
      at td.es.common.external.servlet.PreprocessServlet.doPost(PreprocessServlet.java:43)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
      at td.es.common.external.servlet.PreprocessServlet.service(PreprocessServlet.java:69)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:907)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
      at td.es.common.external.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:47)
      at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
      at td.es.common.external.CheckSessionFilter.doFilter(CheckSessionFilter.java:117)
      at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:696)
      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:641)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:475)
      at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
      at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3107)
      at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
      at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
      at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
      at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
      at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
      at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
      at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
      at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
      at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:193)
      at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:725)
      at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:847)
      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)

      Caused by:

      javax.naming.CommunicationException [Root exception is java.lang.ClassNotFoundException: org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy (no security manager: RMI class loader disabled)]

      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:713)
      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572)
      at javax.naming.InitialContext.lookup(InitialContext.java:363)
      at hk.gov.ogcio.egis.rm.common.utils.ServiceLocator.getRemoteHome(ServiceLocator.java:267)
      ... 43 more

      Caused by:

      java.lang.ClassNotFoundException: org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy (no security manager: RMI class loader disabled)

      at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:386)
      at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:180)
      at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:632)
      at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:259)
      at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:212)
      at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1553)
      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1475)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1708)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1314)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:354)
      at java.util.HashMap.readObject(HashMap.java:1068)
      at sun.reflect.GeneratedMethodAccessor124.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:615)
      at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1001)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1828)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1314)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1927)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1851)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1314)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:354)
      at org.jboss.proxy.ClientContainer.readExternal(ClientContainer.java:143)
      at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1768)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1726)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1314)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1927)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1851)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1314)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:354)
      at java.rmi.MarshalledObject.get(MarshalledObject.java:163)
      at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:57)
      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:637)
      ... 46 more

       

      I think the main problem is

       

      java.lang.ClassNotFoundException: org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy (no security manager: RMI class loader disabled)

       

      I google and see many people face the same error when migrate from 4.0.3 to jboss 4.2, but no one post a clear solution. Some just mention jbossall-client.jar is not in the client classpath, some said the invocagtion method is different, so what is the final answer? is it need to change code?

        • 1. Re: error when migrate from jboss 4.0.3 to 4.2.0
          meme

          Hi Tong Tong,

           

          you might be on the wrong page:

           

          WebSphere != JBoss

           

           

           

          yours

          marc

          • 2. Re: error when migrate from jboss 4.0.3 to 4.2.0
            tong123123

            oh, but this error only happen after I migrate from jboss as 4.0.3 to jboss as 4.2.0, I think it related to jboss migration problem.

            • 3. Re: error when migrate from jboss 4.0.3 to 4.2.0
              meme

              If I understand your posts correctly, you've got an WebSphere AS where this application runs on. And you also have an JBoss AS which is the backend you're trying to connect to, correct?

               

              When upgrading the JBoss AS you should also take care that the remote-system (here: the application on the websphere) should also have the corresponding client-libraries from the used jboss-version. So, when updating jboss 4.0.3 to 4.2.0 you should also change the client jar.(This is what is meant with the jbossall-client.jar)

               

              marc

              • 4. Re: error when migrate from jboss 4.0.3 to 4.2.0
                tong123123

                yes, after I copy the jbossall-client.jar to E:\IBM\WebSphere\AppServer, the problem is solved.

                Anyway, one thing seems very strange, before I copy jbossall-client.jar, I search E:\IBM\WebSphere\AppServer for any client.jar but no jar is found. so how can the frontend websphere call application in jboss 4.0.3?

                • 5. Re: error when migrate from jboss 4.0.3 to 4.2.0
                  meme

                  What about your application. Is it an war? If it's an web-archive, you can also find further jars in the /WEB-INF/lib-folder. The war can also be deployed as a single file (not-exploded) a search might not show the jar.

                  If I were you, I would look for the deployment (possible war) and look inside the mentioned folder. I wouldn't like to have two diffrent versions of the same library in my classpath (could lead to strange effects). I would exchange the client jar in the folder (/WEB-INF/lib) with the new one and remove the jbossall-client.jar from the applicationserver-classpath. Currently it only works because the classloader of the websphere was used first. If that's not the case you'll get your error back. Try to avoid it, change the jar in the application.

                   

                  m.

                  1 of 1 people found this helpful
                  • 6. Re: error when migrate from jboss 4.0.3 to 4.2.0
                    tong123123

                    but what is the name of the old jboss 4.0.3 client jar? also named jbossall-client.jar, which include the class org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy?

                    • 7. Re: error when migrate from jboss 4.0.3 to 4.2.0
                      meme

                      I think it should be jbossall-client.jar, but there can be others as well for some reason. Just look for jboss*.jar then you should find the correct one.

                      When there are no such files, have a look at the websphere classpath, may be they're added to on startup.

                      • 8. Re: error when migrate from jboss 4.0.3 to 4.2.0
                        tong123123

                        ok, I find the old jar at E:\u04\tder3\lib\jbossall-client.jar, although I don't know why it will be there