[jboss-jira] [JBoss JIRA] (WFLY-10752) NPE on deploy, when Email validation annotation present
Guillaume Smet (JIRA)
issues at jboss.org
Tue Aug 7 12:40:00 EDT 2018
[ https://issues.jboss.org/browse/WFLY-10752?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13615947#comment-13615947 ]
Guillaume Smet commented on WFLY-10752:
---------------------------------------
So the thing is that you're trying to use Bean Validation 2.0 constraints whereas by default WildFly 13 is using BV 1.1.
If you want to use BV 2, you need to use the EE8 preview mode when launching your server:
{code}
./standalone.sh -Dee8.preview.mode=true
{code}
Note that this will also upgrade a couple of other subsystems.
If you don't want to use the EE8 preview mode (note that this will be the default in the upcoming WildFly 14), you can use BV 1.1. In this case, {{@Email}} is an Hibernate Validator specific constraint so you should add HV as a provided dependency and use the {{@Email}} constraint coming from HV (and you will be able to remove the BV dependency as it's coming with HV).
If you can, I think the best is to use the EE8 preview mode considering WF 14 will be released soon and it will be the default.
I tried to confirm by posting something to your app but it didn't work. Not sure what I should do.
{code}
[gsmet:~/Downloads/wildfly-13.0.0.Final/bin] $ curl -d '{"email":"test"}' -H "Content-Type: application/json" -X POST 'http://127.0.0.1:8080/bvbug-1.0-SNAPSHOT(2)/'
javax.ws.rs.ProcessingException: RESTEASY008200: JSON Binding deserialization error
at org.jboss.resteasy.plugins.providers.jsonb.JsonBindingProvider.readFrom(JsonBindingProvider.java:64)
at org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.readFrom(AbstractReaderInterceptorContext.java:66)
at org.jboss.resteasy.core.interception.ServerReaderInterceptorContext.readFrom(ServerReaderInterceptorContext.java:61)
at org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:56)
at org.jboss.resteasy.security.doseta.DigitalVerificationInterceptor.aroundReadFrom(DigitalVerificationInterceptor.java:36)
at org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:59)
at org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:203)
{code}
> NPE on deploy, when Email validation annotation present
> -------------------------------------------------------
>
> Key: WFLY-10752
> URL: https://issues.jboss.org/browse/WFLY-10752
> Project: WildFly
> Issue Type: Bug
> Components: Bean Validation
> Affects Versions: 13.0.0.Final
> Environment: Arch linux, openjdk 8, Wildfly 13.0.0.Final
> Reporter: d3coder d3coder
> Assignee: Jason Greene
> Attachments: bvbug-1.0-SNAPSHOT.war, bvbug-1.0-SNAPSHOT.war, bvbug-1.0-SNAPSHOT.war, bvbug.zip
>
>
> I'm making simple app. In one of my DTO's i have field with `javax.validation.constraints.Email` annotation. When this annotation present, wildfly fails to deploy my app with this exception:
> https://gist.github.com/XakepSDK/daa2531203b365ad1969e01b4466b8a1
> My DTO class:
> https://gist.github.com/XakepSDK/a78245b262315437d2800be524018d2e
> CrossField annotation:
> https://gist.github.com/XakepSDK/fde1553339c18bc442820868f573a53a
> CrossField validator:
> https://gist.github.com/XakepSDK/391783e3b79f839a93a8f45c886b38e0
> java -version
> openjdk version "1.8.0_172"
> OpenJDK Runtime Environment (build 1.8.0_172-b11)
> OpenJDK 64-Bit Server VM (build 25.172-b11, mixed mode)
> <------------------ UPD: ------------------>
> I got it, this happens if @Size present with @Email.
> Simple test class:
> https://gist.github.com/XakepSDK/892ec3d886ec2cac7f44d93faa0868c1
> UPD: this happens if field annotated with Email and any other validation annotation.
> It failed with Email and NotNull.
> UPD: Maven project and WAR with [^bvbug-1.0-SNAPSHOT.war] minimal repro. code
> Actually, this project doesn't show issue like my first app, but Email validation doesn't work too.
> Make a POST request to `/` with this:
> `{"email":"test"}` or {"email":"test at test.test"}`
> `Content-Type: application/json`
> You will get `NullPointerException` in response, without any extended message.(i made special mapper for that, but seems it doesn't work with that exception)
> In another project, wilfdly refuses to start with NullPointerException, here it work only for request. I don't know, how to make it work like in another project.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list