2012-10-01 2 views
2

나는 완전히 작동하는 & REST API를 테스트했습니다. enunciate를 사용중인 문서를 만들려면 다음을 수행하십시오.JAXBElement를 인식하지 않음을 나타냅니다.

& 요청 개체는 jaxb를 사용하여 xsd 파일에서 생성됩니다. 설명서에서 응답 개체가 인식되지만 요청 본문 유형은 (사용자 지정)입니다.

요청 몸은 JAXBElement 첨부

코드 예제에 캡슐화되어

@POST 
@Consumes(
{ 
    MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON 
}) 
@Produces(
{ 
    MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON 
}) 
public ResponseObject post(JAXBElement<CreateRequestObject> JAXBCreateRequestObject, 
     @HeaderParam(value = "X") String x, 
     @HeaderParam(value = "Y") String y) throws WebApplicationException 

요청 객체의 유형을 지정 @TypeHint 같은 주석이 있습니까?

+0

, 당신이 매개 변수로 "JAXBElement 첨부 를"통과 볼, 이는 요청에서 복잡한 계층 적 구조를 기대한다는 의미입니다. 이 경우, 복잡한 유형 및 유효성 검증을 정의하는 오래된 SOAP 기반 WS를 사용하는 것이 낫습니다. – user1697575

답변

2

당신은 매개 변수에 @TypeHint을 적용 할 수 있어야한다 예 :

그냥 REST WS의 디자인에 호기심
public ResponseObject post(@TypeHint(...) JAXBElement<CreateRequestObject> JAXBCreateRequestObject, 
    @HeaderParam(value = "X") String x, 
    @HeaderParam(value = "Y") String y) 
+0

이것은 일을합니다! 감사. – ToHe

관련 문제