0

我有一个 EAR 模块,它包含 ejb 客户端、结构 web 模块和由注释创建的 web 服务。应用程序工作正常,wsdl 发布在 JBOSS 中。但在 websphere 中,它给出了

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

在我的库中有以下 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>

我用谷歌搜索了很多,但仍然没有任何帮助。有些地方我读过它是因为 jar 冲突,但我找不到它。

4

2 回答 2

1

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

于 2012-09-01T07:19:57.363 回答
0

确保您的 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 对此非常严格。

于 2012-09-05T04:12:56.970 回答