2011-08-12 92 views
2

我已经写了一个web服务,它在UI上正常工作并且所有单元测试都通过了。 我可以向Webservice发送请求和响应。在运行web服务和AXIS2的tomcat服务器日志中的java.lang.ClassCastException

但是,当我检查服务器日志,我看到这种堆栈跟踪。 有没有人看过这个例外?

我使用Axis2,Java 6中,和Tomcat 6

java.lang.ClassCastException: org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver cannot be cast to org.apache.axis2.engine.MessageReceiver 
    at org.apache.axis2.deployment.DescriptionBuilder.loadMessageReceiver(DescriptionBuilder.java:192) 
    at org.apache.axis2.deployment.DescriptionBuilder$1.run(DescriptionBuilder.java:145) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.apache.axis2.java.security.AccessController.doPrivileged(AccessController.java:139) 
    at org.apache.axis2.deployment.DescriptionBuilder.processMessageReceivers(DescriptionBuilder.java:141) 
    at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:102) 
    at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:641) 
    at org.apache.axis2.deployment.WarBasedAxisConfigurator.<init>(WarBasedAxisConfigurator.java:157) 
    at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:516) 
    at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:436) 
    at org.apache.axis2.transport.http.AxisAdminServlet.init(AxisAdminServlet.java:55) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 

回答

1

当类是从不同的类加载器加载可能发生这种情况。

请确保类路径中只有一个axis2 JAR,并且您的应用程序无法从同一台服务器上的其他应用程序看到Axis2 JAR。

+1

+1 - Axis已经看过很多类似的东西。 – serg10