2016-07-04 5 views
0

Im usign gwt 2.7.0 request factory. Редактировать: Я не использую проверки на стороне клиента, только проверки на стороне сервера (аннотации спящего режима)GWT requestfactory проверяет сущности на внешнем сервере

Объект, который пытается изменить, называется «Article.java».

В нормальном сценарии я бы отредактировал статью на стороне клиента с помощью ArticleEditor (Extends from Editor). Когда статья достигает сервера, проверки исключаются. Если какая-либо проверка пойдет не так, клиентская сторона получит «Set < ConstraintViolation <?>> OErrors», который я могу использовать в EditorFramework для отображения ошибок в форме.

В моем конкретном случае, у меня есть два сервера:

A = Один использует GWT редактировать ValueProxy (POJO), (Не сохраняются сущность).

B = Другое имеет доступ к базе данных (спящий режим), доступ к которой осуществляется через A через безгаранный EJB.

Я сделал копию статьи (не содержит аннотации спящего режима, простое pojo), называемое PersistentArticle.java (содержит всю логику аннотации гибернации). Классы Bothe имеют одинаковые атрибуты и методы.

После того, как статья отредактирована, она достигает стороны сервера A, затем я отправляю объект через ejb-сообщение на сервер B. В B я создаю экземпляр PersistentArticle из класса Article и пытаюсь сохранить его. Если какая-либо проверка не соответствует действительности, генерируется исключение javax.validation.ConstraintViolationException.

Проблема в том, что я не знаю, как связать исключение ValidationException, сгенерированное сервером B, с помощью requestFavtory и EditorFramework, которые находятся на сервере A, поэтому я могу показывать ошибки в форме. (В обычном случае это делается автоматически requestfactory в сервере А)

Назад в Clien стороны, я получить ValidationException в

общественного ничтожной OnFailure метод (ServerFailure oError) из приемника запроса и не в методе

onConstraintViolation (Set < < ConstraintViolation? >> oErrors, который является идеальным.

возможно ли, что им пытаются делать? Что вы посоветуете?

Английский не мой родной язык; пожалуйста, извините, никаких ошибок с моей стороны.

Thaks в продвинутом состоянии.

ответ

0

RequestFactory будет проверять ваши объекты перед вызовом методов обслуживания и отменять все, если есть нарушения. Если ваша проверка не соответствует этой схеме, вы не можете ее использовать.

Ваша валидация выполняется в рамках метода обслуживания, поэтому ошибки должны быть отправлены обратно в возвращаемое значение, если вы хотите обрабатывать их на стороне клиента. Это означает, что они перемещают их на ценные прокси и возвращаются к нарушениям ограничений на стороне клиента.

Смежные вопросы