2013-04-22 43 views
1

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

我只有在我尝试使用JAXB,即...时才会遇到以下问题,用于生成响应tye作为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 ...

问候 Puntih

回答

1

这些是下面罐需要使用..

泽西束

jersey-bundle-1.17.jar 

和对于JAXB低于重新将JAR

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

解决...感谢