Hi, I'm trying to put a simple handler on the request flow of a service. My handler extends org.apache.axis.handlers.BasicHandler (implementing invoke() and nothing else). The AdminClient deploys the service OK, but when viewing the list of deployed services, I get a ClassCastException:
Exception - org.apache.axis.ConfigurationException:
java.lang.ClassCastException java.lang.ClassCastException
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.makeNewInstance(WSDDDeployableItem.java:338)
(full stacktrace at the end of this message).
The relevant part of the wsdd file: <service ... > ... <requestFlow> <handler type="java:myPkg.MyHandler"/> </requestFlow> ... </service>
This is all using tomcat 5.5.4-compat and axis 1.1.
Others have had this problem trying to deploy JAX-RPC handlers as org.apache.axis.handlers.Handlers, and vice versa, but I'm not doing that - can anyone see where I'm going wrong?
Any help appreciated! James
(full stacktrace follows) Exception -
org.apache.axis.ConfigurationException: java.lang.ClassCastException
java.lang.ClassCastException
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.makeNewInstance(WSDDDeployableItem.java:338)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:310)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:296)
at org.apache.axis.deployment.wsdd.WSDDChain.makeNewInstance(WSDDChain.java:164)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:310)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:296)
at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:439)
at org.apache.axis.deployment.wsdd.WSDDDeployment.getDeployedServices(WSDDDeployment.java:559)
at org.apache.axis.configuration.FileProvider.getDeployedServices(FileProvider.java:321)
at org.apache.axis.transport.http.AxisServlet.reportAvailableServices(AxisServlet.java:681)
at
org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:262)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:526)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:731)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:534)