2017-01-23 1 views
1

나는 다음과 같은 몇 가지 도움이 필요 - 여기에 내가 점점 오전 오류입니다 첫째 :ArrayList 및 내 목록 <CustomType>에 대한 메시지 본문 작성자 및 MIME 미디어 유형 application/xml을 찾을 수 없습니까?

SEVERE: A message body writer for Java class java.util.ArrayList, and Java type java.util.List<CustomType>, and MIME media type application/xml was not found 

가 여기에 내가 작성한 엔드 포인트입니다 : 이제

@GET 
@Path("/getListOfObjects") 
@Produces(MediaType.APPLICATION_XML) 
public Response getListOfObjects() 
{ 
    List<CustomType> results = customTypeService.getListOfObjects(); 

    GenericEntity<List<CustomType>> genericList 
    = new GenericEntity<List<CustomType>>(results){}; 

    return Response.ok(genericList).build(); 
} 

, 그 I를 추가합니다 실제로 처음의 목록 ("결과")을 사용하여 응답을 작성하려고 할 때 실제로이 오류가있었습니다. 그러나 여러 다른 사람들이 여기에 비슷한 질문을했고, 모두 내가 위에했던 방식으로 일반 엔터티라고 말했습니다. ... 그러나 그것은 나를 위해 아무런 영향을 미치지 않은 것 같습니다.

누구나 나를위한 입력이 있습니까?

@GET 
@Path("/getListOfObjects") 
@Produces(MediaType.APPLICATION_XML) 
public Response getListOfObjects(){ 
     List<CustomType> results = customTypeService.getListOfObjects(); 
     GenericEntity<List<CustomType>> genericList= new GenericEntity<List<CustomType>>(results){}; 
     return Response.ok().entity(genericList).build(); 
} 
+0

당신이'CustomType' 정의하는 방법을 포함 할 수 있습니까? – manouti

+0

사용자 정의 유형은 길이가 긴 ID와 ID에 사용되는 속성과 레코드의 이름 인 두 속성이있는 객체입니다. – MickeyThreeSheds

답변

1

사용자 정의 유형이 제대로 XML 마샬링을 허용하도록 JAXB 주석을 사용하여 주석되지 않은 경우이 오류는 일반적으로 발생합니다

+0

감사합니다 !! 바로 그걸 고쳐 줬어. - 내가 이것을 이미 알고 있다는게 짜증이야. 나는 이미 수업 시간에 수업을 들었다고 생각했다. :( – MickeyThreeSheds

0

당신은 같은 Response.ok().entity(genericList).build()을 시도 할 수 있습니다.

멤버 필드 바인딩과 함께 클래스 선언에 @XmlRootElement를 추가하는 시도 :

@XmlAccessorType(XmlAccessType.FIELD) 
@XmlRootElement 
public class CustomType { 
    long id; 
    String name; 

    ... 
} 
+0

그냥 시도해보십시오 - 불행히도 같은 오류! – MickeyThreeSheds

관련 문제