ClassCastException following hot deployment
stephanenicoll Oct 8, 2003 2:16 AMHello,
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