2013-11-01 30 views
1

我有一個非常簡單的服務,返回一個500錯誤 - 這裏是在錯誤的詳細信息:JAX RS 500錯誤

[EL信息]:2013年11月1日11:09:05.61 - 的ServerSession( EclipseLink,版本:Eclipse持久性服務 - 2.3.2.v20111125-r10461

[EL Info]:2013-11-01 11:09:06.452 - ServerSession(741529784) - file:/ C :/Users/Fred/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/cheese-ws/WEB-INF/lib/cheese-jpa.jar_cheese登錄成功

34442 [http-bio-8080-exec-1] ERROR org.apache.wink.server.internal.handlers.Flus hResultHandler - 系統無法爲java.util.Vector類型和application/json mediaType找到javax.ws.rs.ext.MessageBodyWriter或DataSourceProvider類。確保JAX-RS應用程序中存在指定類型和媒體類型的javax.ws.rs.ext.MessageBodyWriter。

34446 [http-bio-8080-exec-1] INFO org.apache.wink.server.internal.RequestProcessor - 調用處理程序鏈期間發生以下錯誤:WebApplicationException(500 - Internal Server Error)with消息「空」,而發送到處理GET請求......

的代碼非常簡單,非常相似,做工精細等服務:

公共類StudentTeacherCommunicationService擴展BaseService {

@GET 
@Path("classroomId/{classroomId}/studentId/{studentId}") 

@Produces(MediaType.APPLICATION_JSON) 

public List<ClassroomStudentCommunication> getCandidatesAsJson(@PathParam("classroomId") int classroomId, @PathParam("studentId") int studentId) { 

    EntityManager em = createEM(); 

    TypedQuery<ClassroomStudentCommunication> query; 

    if(studentId==0) { 

     query = em.createQuery("SELECT csc FROM ClassroomStudentCommunication csc where csc.classroomId = :classroomId ORDER BY csc.threadOrder", ClassroomStudentCommunication.class); 
     query.setParameter("classroomId", classroomId); 

     List <ClassroomStudentCommunication> classCommunication = query.getResultList(); 

     return classCommunication; 

任何想法?

+0

你使用Maven?如果是,請告訴我們pom.xml。 –

回答

0

這似乎是一個Rest問題而不是JPA問題。 如果您碰巧使用Maven並使用原型或IDE生成項目,那麼檢查生成的pom.xml是值得的。 JSON支持可以在pom.xml中默認關閉。

例如,如果你使用的球衣和你的項目與新澤西州的快速啓動,webapp的原型產生的,那麼你應該手動取消以下部分在pom.xml:

<!-- uncomment this to get JSON support 
<dependency> 
    <groupId>org.glassfish.jersey.media</groupId> 
    <artifactId>jersey-media-moxy</artifactId> 
</dependency> 
--> 
+1

通過刪除服務器並將其添加回來解決了我的問題。 – user1810305