2011-12-19 5 views
3

웹 서비스 환경에서 타사 라이브러리 구현에지도 자바 인터페이스는
public void validate(Foo foo) throws javax.validation.ConstraintViolationException;JAXB - 나는 웹 서비스로 다음과 같은 방법을 노출하려고

문제는 ConstraintViolationException는 인터페이스 인 javax.validation.ConstraintViolationSet 내장되어 . API 구현으로 hibernate-validator을 사용합니다.

사실, JAXB는 인터페이스를 처리 할 수 ​​없습니다. 런타임에 org.hibernate.validator.engine.ConstraintViolationImplConstraintViolation으로 매핑하는 중입니다.

필자가 변경할 수있는 유일한 코드는 웹 서비스입니다.

이 컨텍스트에서 내가 가지고있는 모든 인터페이스에 사용하려는 구현 집합을 어떻게 정의 할 수 있습니까?

감사합니다.

답변

1

당신이하고있는 일은 나쁜 습관입니다.

Java 특정 개체를 반환하거나 던지지 마십시오.

"번역 된"인터페이스는 모든 플랫폼에만 공개해야합니다.

+1

+1 -이 경우 ConstraintValidation의 Hibernate 구현을 매핑하려는 JAX-WS friendly 예외를 던지는 것이 좋습니다. –