JAXB - сопоставление Java-интерфейса с реализацией сторонней библиотеки в контексте веб-службы - PullRequest
3 голосов
/ 19 декабря 2011

Я пытаюсь представить следующий метод в качестве веб-службы
public void validate(Foo foo) throws javax.validation.ConstraintViolationException;

Проблема в том, что ConstraintViolationException встраивает Set из javax.validation.ConstraintViolation, который является интерфейсом.Я использую hibernate-validator в качестве реализации API javax.validation.

Как есть, JAXB не может обрабатывать интерфейс.Я застрял на сопоставлении org.hibernate.validator.engine.ConstraintViolationImpl с ConstraintViolation во время выполнения.

Очевидно, что единственный код, который я могу изменить, - это мой веб-сервис.

Как я могу определить, в этом контексте,набор реализации, который я хочу использовать для всего интерфейса, который у меня есть?

Спасибо

1 Ответ

1 голос
/ 19 декабря 2011

То, что вы делаете, это плохая практика.

Вы не должны возвращать или бросать какие-либо Java конкретные объекты.

Вы должны предоставлять только интерфейсы, которые можно «переводить» на любую платформу.

...