0

ejbクライアントを構成し、アノテーションによって作成されたWebモジュールとWebサービスを構築するEARモジュールがあります。アプリケーションは正常に動作し、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

サーブレットのlibディレクトリにjavaee-api-5.jarがあるのはなぜですか?
これは、アプリケーションサーバーによって「提供」されるべきではありませんか?(つまり、JBoss ASまたはWebsphere)?
これが問題だと思います。

于 2012-09-01T07:19:57.363 に答える
0

Web.xmlが正しいことを確認してください。特に、サーブレット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 に答える