1

我在尝试访问以下REST服务时遇到以下问题...我正在使用 Apache Jersey 实现来开发 REST 服务。

仅当我尝试 JAXB 时,我才面临以下问题,即...,用于将响应类型生成为 JSON。

下面是我正在使用的 JAR 列表。

jersey-bundle_1.0.0.0_1-1-5-1.jar
jsr311-api-1.0.jar
jackson-core-asl_1.0.0.0_1-1-1.jar
jettison_1.0.0.0_1-1.jar

下面是异常跟踪...

Problem accessing /service/calender/testRest. Reason:


javax.ws.rs.core.Response$Status.getReasonPhrase()Ljava/lang/String;
Caused by:

java.lang.

NoSuchMethodError: javax.ws.rs.core.Response$Status.getReasonPhrase()Ljava/lang/String;
        at com.sun.jersey.spi.container.ContainerResponse.traceException(ContainerResponse.java:477)
        at com.sun.jersey.spi.container.ContainerResponse.onException(ContainerResponse.java:452)
        at com.sun.jersey.spi.container.ContainerResponse.mapWebApplicationException(ContainerResponse.java:407)
        at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1036)
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:941)
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:932)
        at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:384)
        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:451)
        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:632)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

我的 web.xml

<servlet>
    <servlet-name>Calender</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>javax.ws.rs.Application</param-name>
        <param-value>com.punith.calender.application.CalenderApp</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>Calender</servlet-name>
    <url-pattern>/service/*</url-pattern>
</servlet-mapping>

和我的处理程序..

@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/testRest")
public TestObject testJson() {
    TestObject testObj = new TestObject("test", "value");
    return testObj;
    /*return "Hello World";*/
}

我的 TestObject 类..

import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="testObject")

public class TestObject {
    public String name;
    public String value;


    public TestObject(String objName, String objValue) {
        this.name = objName;
        this.value = objValue;
    }

我非常怀疑使用的罐子,我猜我必须为 JAXB 使用更多的罐子。如果请让我知道下载 JAR 的链接…

问候蓬蒂

4

1 回答 1

1

这些是需要使用的下面的jar..

泽西捆绑

jersey-bundle-1.17.jar

下面的 JAXB 是 JAR

jaxb-api.jar
jaxb-impl-javadoc.jar
jaxb-impl.jar
jaxb-xjc-javadoc.jar
jaxb-xjc.jar

解决了...谢谢

于 2013-04-22T18:18:23.577 回答