6 Replies Latest reply on Nov 12, 2003 10:13 AM by Stephane Nicoll

    ClassCastException following hot deployment

    Stephane Nicoll Master

      Hello,

      We used both 3.2.1 and 3.2.2RC4 and we got the same problem. We have an ear containing EJBs, WAR, and a WSR defining our web service.

      Attached the web-service.xml we use

      If we deploy the ear, eveything went fine, jboss-net found the web service and deploys it. We can access it throug our remote C++ client.

      If we then remove the ear and put it back again (that is hot deployment) we get a ClassCastException.

      2003-10-08 09:33:08,375 [Thread-6 ] INFO ls.bytecode.ParamNameExtractor - AXIS error:java.io.IOException: Unable to load bytecode for class "com.kiala.kialapointserver.scannersynch.interfaces.SyncherLocal"
      2003-10-08 09:33:08,448 [Thread-6 ] INFO org.apache.axis.EXCEPTIONS - AxisFault:
      AxisFault
      faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
      faultSubcode:
      faultString: java.lang.ClassCastException
      faultActor:
      faultNode:
      faultDetail:
      {http://xml.apache.org/axis/}stackTrace: java.lang.ClassCastException
      at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:293)
      at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:134)
      at org.apache.axis.providers.java.EJBProvider.createRemoteEJB(EJBProvider.java:168)
      at org.apache.axis.providers.java.EJBProvider.makeNewServiceObject(EJBProvider.java:147)
      at org.apache.axis.providers.java.JavaProvider.getNewServiceObject(JavaProvider.java:261)
      at org.apache.axis.providers.java.JavaProvider.getServiceObject(JavaProvider.java:138)
      at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:313)
      at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
      at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
      at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
      at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:481)
      at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323)
      at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
      at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
      at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:228)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:553)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
      at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
      at org.jboss.web.tomcat.tc4.statistics.ContainerStatsValve.invoke(ContainerStatsValve.java:76)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
      "axis.log" [readonly] 607L, 54964C

      Then we have this seems to be a *WELL KNOWN' error but got no infor regarding this

      2003-10-08 09:33:19,509 [Thread-7 ] INFO xis.providers.java.RPCProvider - Tried to invoke method public abstract com.kiala.kialapointserver.scannersynch.LoginResponse com.kiala.kialapointserver.scannersynch.interfaces.SyncherLocal.login(java.lang.String,java.lang.String) with arguments java.lang.String,java.lang.String. The arguments do not match the signature.
      java.lang.IllegalArgumentException: object is not an instance of declaring class


      If now I restart JBsos everything went fine. Is it a classloader issue or JbossNET (axis) caches some remote interface or something. When we remove the ear the web service is undeployed (it's not shown in the axis servlet)

      Regards,

      Stephane