javax.servlet.ServletException : Servlet execution threw an exception:org. apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

标签 java web-services rest tomcat

您好,我在运行 JAX-RS WebService 时收到此错误。我正在使用 Jersey 创建 JAX-Rs Web 服务。通过以下链接 http://www.vogella.com/articles/REST/article.html

异常

javax.servlet.ServletException: Servlet execution threw an exception
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

根本原因

java.lang.IncompatibleClassChangeError: Class javax.ws.rs.core.Response$Status does not implement the requested interface javax.ws.rs.core.Response$StatusType
    com.sun.jersey.spi.container.ContainerResponse.getStatus(ContainerResponse.java:599)
    com.sun.jersey.spi.container.ContainerResponse$CommittingOutputStream.commitWrite(ContainerResponse.java:157)
    com.sun.jersey.spi.container.ContainerResponse$CommittingOutputStream.write(ContainerResponse.java:134)
    sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
    sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source)
    sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
    sun.nio.cs.StreamEncoder.flush(Unknown Source)
    java.io.OutputStreamWriter.flush(Unknown Source)
    java.io.BufferedWriter.flush(Unknown Source)
    com.sun.jersey.core.util.ReaderWriter.writeToAsString(ReaderWriter.java:191)
    com.sun.jersey.core.provider.AbstractMessageReaderWriterProvider.writeToAsString(AbstractMessageReaderWriterProvider.java:128)
    com.sun.jersey.core.impl.provider.entity.StringProvider.writeTo(StringProvider.java:88)
    com.sun.jersey.core.impl.provider.entity.StringProvider.writeTo(StringProvider.java:58)
    com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:302)
    com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1510)
    com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
    com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
    com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
    com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540)
    com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:715)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

注意:根本原因的完整堆栈跟踪可在 Apache Tomcat/7.0.47 日志中找到。

有人可以帮忙吗

最佳答案

导致的错误是,我需要为 Jersey 客户端 JAX-RS-WS 使用相同版本的 jar。这消除了我的错误。现在我正在成功运行应用程序。

关于javax.servlet.ServletException : Servlet execution threw an exception:org. apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20801961/

相关文章:

c# - 这种网络服务方法有什么问题?

java - 如何使用 WebServiceTemplate 发送 SOAP 请求?

rest - 配置tomcat怎么会产生503错误?

java - 如何修复 'Unknown type -1 when trying to add field ID to record '

java - 如何将参数传递给回调方法

java - Apache poi Style 设置在一段时间后停止

android 上的 java.lang.outofmemory 错误(Web 服务)

java - Spring 通用 REST Controller : parsing request body

web-services - Tomcat,JAX-RS( Jersey ),@PathParam : how to pass two variables containing slashes

java - android studio无法连接到本地主机WCF服务