2013-04-22 70 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 

解決...感謝