You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by "Feng Xie (fxie)" <fx...@cisco.com> on 2005/08/30 23:28:07 UTC

classCastError after deploy a customized handler

I developed a customized handler which extends GenericHandler and
implemented it to log soap request message, its complete code is like :
 
 
public class SoapMsgLogHandler extends GenericHandler {
      private Logger soapLogger = null;
 
    public void init(HandlerInfo config) {
      soapLogger = SubscriberDataMgrBindingImpl.baseContext.getCtxLog();
    }
 

    public QName[] getHeaders() {
        return new QName[0];
    }
 
    private boolean logMessage(MessageContext context, OutputStream out)
{
       if ((soapLogger != null) && (soapLogger.getLevel().toInt() <=
Level.DEBUG.toInt()))
       {
         SOAPMessageContext smg = (SOAPMessageContext) context;
         try {
         smg.getMessage().writeTo(out);
         soapLogger.debug(out.toString());
         } catch (Exception e) {}
 
         return true;
       }
       else
           return false;
    }
 
    public boolean handleRequest(MessageContext context) {
       return logMessage(context,System.out);
    }
 
    public boolean handleResponse(MessageContext context) {
        return logMessage(context,System.out);
    }
}
 
I add it into the requestFlow of one service, I did deploy it. However,
while I was to invoke that service, I got SoapFault which indicates
following error 
 
 faultString: org.apache.axis.ConfigurationException:
java.lang.ClassCastException
java.lang.ClassCastException
 at
org.apache.axis.deployment.wsdd.WSDDDeployableItem.makeNewInstance(WSDDD
eployableItem.java:302)
 at
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDe
ployableItem.java:274)
 at
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeplo
yableItem.java:260)
 at
org.apache.axis.deployment.wsdd.WSDDChain.makeNewInstance(WSDDChain.java
:125)
 at
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDe
ployableItem.java:274)
 at
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeplo
yableItem.java:260)
 at
org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.
java:422)
 at
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDe
ployableItem.java:274)
 at
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeplo
yableItem.java:260)
 at
org.apache.axis.deployment.wsdd.WSDDDeployment.getService(WSDDDeployment
.java:460)
 at
org.apache.axis.configuration.FileProvider.getService(FileProvider.java:
231)
 at org.apache.axis.AxisEngine.getService(AxisEngine.java:311)
 at
org.apache.axis.MessageContext.setTargetService(MessageContext.java:755)
 at org.apache.axis.handlers.http.URLMapper.invoke(URLMapper.java:50)
 at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.j
ava:32)
 at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
 at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
 at org.apache.axis.server.AxisServer.invoke(AxisServer.java:239)
 at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:697)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
 at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.j
ava:327)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:252)
 at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)
 at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:214)
 at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
 at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
 at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCon
textValve.java:198)
 at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:152)
 at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
 at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
 at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:137)
 at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
 at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:118)
 at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102)
 at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
 at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:109)
 at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
 at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
 at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
 at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
 at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:79
9)
 at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:705)
 at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:57
7)
 at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:684)
 at java.lang.Thread.run(Thread.java:534)
 
Has anyone run into this kind of problem before ?
 
Feng