【问题标题】:Websphere - javax.servlet.UnavailableException: Servlet not a servlet classWebsphere - javax.servlet.UnavailableException:Servlet 不是 servlet 类
【发布时间】:2018-06-27 15:00:57
【问题描述】:

我在尝试连接到我们的网络服务时收到此错误消息。

Error 404: javax.servlet.UnavailableException: SRVE0201E: Servlet [...] not a servlet class.

但是,括号内提到的类是一个servlet类:

@WebService(serviceName = "xxx", endpointInterface = "xxx")

我读到的是,在 Websphere 中,类加载器应该最后配置为 Parent;这就是我所做的,然后删除所有 jar - 使用 Servlet.jar 的文件 - 我想我也这样做了,因为我使用的唯一文件是这些文件:

antisamy-1.4.3.jar
api-7.9.0.0.jar
avalon-framework-4.1.3.jar
batik-css-1.7.jar
batik-ext-1.7.jar
batik-util-1.7.jar
bsh-core-2.0b4.jar
commons-beanutils-1.7.0.jar
commons-beanutils-core-1.7.0.jar
commons-codec-1.2.jar
commons-collections-3.2.jar
commons-configuration-1.5.jar
commons-digester-1.8.jar
commons-fileupload-1.2.jar
commons-httpclient-3.1.jar
commons-lang-2.3.jar
commons-logging-1.1.jar
core-7.9.0.0.jar
dom4j-1.6.1.jar
esapi-2.0_rc11.jar
istack-commons-runtime-2.16.jar
jaxb-api-2.2.9.jar
jaxb-core-2.2.8-b01.jar
jaxb-impl-2.2-promoted-b65.jar
jaxen-1.1-beta-8.jar
jdom-1.0.jar
log4j-1.2.16.jar
log4j-api-2.7.jar
log4j-core-2.7.jar
logkit-1.0.1.jar
nekohtml-1.9.12.jar
serializer-2.7.2.jar
xalan-2.7.2.jar
xercesImpl-2.11.0.jar
xml-apis-1.4.01.jar
xml-apis-ext-1.3.04.jar
xom-1.1.jar

也许有人可以给我一个提示或知道问题可能是什么?

非常感谢!

【问题讨论】:

    标签: servlets websphere


    【解决方案1】:

    如果您依赖您提到的注释,那将创建一个 Web 服务,而不是一个 servlet。当然,除非在扩展 javax.servlet.Servlet 中定义了 @WebService 类。你的意思是@WebServlet 吗?发布您的来源的相关部分会有所帮助。

    【讨论】:

    • 嗨,你是对的,那是创建一个 Web 服务,但是我在调​​用 URL 时收到此错误消息:类和接口都有注释 WebService,在 WAS 上调用 URL 时我总是得到前面提到的 Servlet 不是 servlet 类的消息。
    • 上述类是否有任何一个 servlet annos 或实现 Servlet ? @WebService 不是 servlet anno,单独用它装饰的类不能直接充当 servlet。
    • 好吧,我检查了所有类,没有一个类有任何 @WebServlet 注释——当这个错误总是出现在 Websphere 中时,这让我感到困惑。此外,我检查了 web.xml 和一些 servlet 映射,所以我也删除了整个 web.xml。当我用 ?wsdl 调用 URL 时,我得到的唯一信息是:HTTP ERROR 404。如果我在没有 ?wsdl 的情况下调用 URL,我会到达 Directory: /... META-INF... - 我被告知我应该得到wsdl 的一些输出。
    【解决方案2】:

    这是一种可能性:

    https://developer.ibm.com/answers/questions/171243/srve0201e-servlet-my-webservice-not-a-servlet-clas.html

    特别是这段文字:

    问题在部署时出现,与事实有关 我的 Web 服务正在引用共享库中的类。这 部署代码无权访问共享库,所以它不是 能够解决问题并放弃。

    经过一些疯狂的重构后,它开始工作了。

    【讨论】:

    • 嗨,谢谢你的消息,但很抱歉我已经知道这个了。我们试图完成的是:一个带有@Webservice 注解的简单类,在 Eclipse 中将其导出到 war 文件中而不生成 web.xml,然后将其上传到 Websphere 8.5.5 并使用 ?wsdl 调用 URL 但我永远不会得到正确的输出。我也跟着这个 turoial 但它从来没有用过:ibm.com/developerworks/websphere/library/techarticles/… - 我知道它是从 2007 年开始的,但希望这不是一个大问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-11
    • 2021-04-28
    • 2021-01-14
    • 1970-01-01
    相关资源
    最近更新 更多