繁体   English   中英

Websphere:Web服务的ClassCastException

[英]Websphere : ClassCastException for Webservice

我有一个包含ejb客户端的EAR模块,构造通过注释创建的Web模块和Web服务。 应用程序运行良好,wsdl在JBOSS中发布。 但是在网络领域

java.lang.ClassCastException SourceId:com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadServlet ProbeId:213 Reporter:com.ibm.ws.webcontainer.servlet.ServletWrapper$1@3ae83ae8
java.lang.ClassCastException: com.test.eventmanagement.ws.EventManagementWS incompatible with javax.servlet.Servlet

我的lib中有以下jar文件。

commons-beanutils-1.7.0.jar,commons-digester-1.8.jar,commons-fileupload-1.1.1.jar,
freemarker-2.3.8.jar,gson-1.7.1.jar,itext-2.0.8.jar,javaee-api-5.jar,
jxl-2.6.10.jar,ognl-2.6.11.jar,retrotranslator-runtime-1.0.4.jar,
struts2-core-2.1.8.1.jar,struts2-tiles-plugin-2.1.8.1.jar,
tiles-api-2.1.0.jar,tiles-compat-2.1.0.jar,tiles-core-2.1.0.jar,
tiles-jsp-   2.1.0.jar,tiles-servlet-2.1.0.jar,xwork-core-2.1.6.jar

在我的web.xml中,我添加了

<!-- Web Service -->
<servlet>
    <servlet-name>EventManagementWS</servlet-name>
    <servlet-class>com.test.eventmanagement.ws.EventManagementWS</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>EventManagementWS</servlet-name>
    <url-pattern>/EventManagementWS</url-pattern>
</servlet-mapping>

我在Google上搜索了很多,但仍然没有任何帮助。 有些地方我读过它是因为jar冲突引起的,但是我找不到它。

为什么在servlet的lib目录中有javaee-api-5.jar?
您的应用服务器不应该“提供”吗? (即-JBoss AS或Websphere)?
我认为这是问题所在。

确保您的Web.xml是正确的,尤其是对于servlet 2.5,其版本应为2.5。 应该是这样的

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

WebSphere对此非常严格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM