Я следовал образцу проверки gwt 2.4 и внедрил все это в свое собственное приложение.Клиентская сторона прекрасно работает.
private void verifyRegistrationData(final RegistrationTO registration) throws ConstraintViolationException {
final Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
final Set<ConstraintViolation<RegistrationTO>> violations = validator.validate(registration);
if (violations.size() > 0) {
final Set<ConstraintViolation<?>> temp = new HashSet<ConstraintViolation<?>>(violations);
throw new ConstraintViolationException(temp);
...
, но если я делаю то же самое на стороне сервера:
public void update(final RegistrationTO registration) throws IllegalArgumentException, ConstraintViolationException, TestException {
final Set<ConstraintViolation<RegistrationTO>> violations = validator.validate(registration);
if (!violations.isEmpty()) {
final Set<ConstraintViolation<?>> temp = new HashSet<ConstraintViolation<?>>(violations);
throw new ConstraintViolationException(temp);
}
...
, все происходит сбой со следующим исключением:
javax.servlet.ServletContext log: Исключительная ситуация при отправке входящего RPC-вызоваSerializationPolicy или его объект Class не могут быть загружены.В целях безопасности этот тип не будет сериализован.
Вот так PathImpl выглядит как hibernate-validator-4.1.0.Final-sources.jar
public class PathImpl implements Path, Serializable {
private static final long serialVersionUID = 7564511574909882392L;
...
выглядит нормально (по крайней мере, дляя)
Я использую GWT 2.4, validation-api-1.0.0.GA, hibernate-validator-4.1.0.Final, gwt-servlet-deps ...
Спасибо взаранее!