2011-03-11 3 views
2

"javax.ws.rs.core.Response"엔티티를 반환하는 REST 웹 서비스가 있습니다. 내가 담아서 실행하면 출력 유형을 확인할 수 없기 때문에 발생 WADL의 응답이 비어 :이 같은 코드 모습Enunciate not가 javax.ws.rs.core.Response의 출력 유형을 결정할 수 없습니다.

경우

@GET 
@Path("/webservice") 
@Produces({"application/xml"}) 
@TypeHint(myClass.class) 
javax.ws.rs.core.Response methodCall(... 

WADL 읽기 :

어쨌든 응답 수익을 인식하게 발음 얻기 위해 여기

... 
    <wadl:representation mediaType="application/xml" element="ns1:myClass" xmlns:ns1="http://pathTo/schema"/> 
</wadl:response> 

그것을 :

... 
    <wadl:representation mediaType="application/xml"/> 
</wadl:response> 

보다는 타입?

답변

4

예. 메소드에 @ org.codehaus.enunciate.jaxrs.TypeHint 주석을 사용하면 출력 유형에 대한 힌트를 나타낼 수 있습니다.

+0

"@TypeHint (my.class)"를 내 메서드에 추가하고 "import org.codehaus.enunciate.jaxrs.TypeHint;". 내 pom.xml에서 다음 XML을 추가했지만 출력을 변경하지 않는 것 같습니다. 더 할 일이 있습니까? org.codehaus.enunciate 하게 발음 코어 - 주석 1.21.1 TERACytE

+0

@TypeHint 주석이 작동 증명 그래서, 우리가있어 테스트합니다. 테스트 모듈은 여기에서 볼 수 있습니다 : https://svn.codehaus.org/enunciate/trunk/enunciate/integration-tests/jersey-storage –

+0

@TypeHint에서 식별 된 클래스가 다음과 같은 경우 enunciate에 문제가있을 수 있습니다. 외부에있는 maven 모듈에서 가져온 것입니다 (http://jira.codehaus.org/browse/ENUNCIATE-535?focusedCommentId=260103#action_260103 참조). 라이언의 대답에 접근 할거야. – TERACytE