Dropwizard throws NPE and responds with 500 while accessing a POST
resource. The resource method has validation over body
Resource Snippet:
public Response aPost(@Valid @NotEmpty List<Model> models) {
Stack Trace:
[2018-03-16 14:14:16,425] [] [WARN] MSG - o.e.j.s.HttpChannel /aPost
javax.servlet.ServletException: java.lang.NullPointerException
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(
WebComponent.java:489)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.
java:427)
at org.glassfish.jersey.servlet.ServletContainer.service(
ServletContainer.java:388)
at org.glassfish.jersey.servlet.ServletContainer.service(
ServletContainer.java:341)
at org.glassfish.jersey.servlet.ServletContainer.service(
ServletContainer.java:228)
at io.dropwizard.jetty.NonblockingServletHolder.handle(
NonblockingServletHolder.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
ServletHandler.java:1650)
at io.dropwizard.servlets.ThreadNameFilter.doFilter(ThreadNameFilter
.java:34)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
ServletHandler.java:1637)
at io.dropwizard.jersey.filter.AllowedMethodsFilter.handle(
AllowedMethodsFilter.java:45)
at io.dropwizard.jersey.filter.AllowedMethodsFilter.doFilter(
AllowedMethodsFilter.java:39)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
ServletHandler.java:1637)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(
ManagedFilterPipeline.java:120)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:
135)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
ServletHandler.java:1637)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.
java:533)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(
ScopedHandler.java:188)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(
ContextHandler.java:1253)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(
ScopedHandler.java:168)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.
java:473)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(
ScopedHandler.java:166)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(
ContextHandler.java:1155)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(
ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(
HandlerWrapper.java:132)
at com.codahale.metrics.jetty9.InstrumentedHandler.handle(
InstrumentedHandler.java:241)
at io.dropwizard.jetty.RoutingHandler.handle(RoutingHandler.java:52)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(
GzipHandler.java:455)
at io.dropwizard.jetty.BiDiGzipHandler.handle(BiDiGzipHandler.java:
68)
at org.eclipse.jetty.server.handler.RequestLogHandler.handle(
RequestLogHandler.java:56)
at org.eclipse.jetty.server.handler.StatisticsHandler.handle(
StatisticsHandler.java:169)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(
HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:561)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:334)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection
.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(
AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:
124)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
QueuedThreadPool.java:679)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(
QueuedThreadPool.java:597)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException: null
at sun.reflect.annotation.TypeAnnotationParser.mapTypeAnnotations(
TypeAnnotationParser.java:356)
at sun.reflect.annotation.AnnotatedTypeFactory$AnnotatedTypeBaseImpl
.<init>(AnnotatedTypeFactory.java:139)
at sun.reflect.annotation.AnnotatedTypeFactory.buildAnnotatedType(
AnnotatedTypeFactory.java:65)
at sun.reflect.annotation.TypeAnnotationParser.buildAnnotatedType(
TypeAnnotationParser.java:79)
at java.lang.reflect.Field.getAnnotatedType(Field.java:1170)
at org.hibernate.validator.internal.metadata.provider.
TypeAnnotationAwareMetaDataProvider.findTypeAnnotationConstraintsForMember(
TypeAnnotationAwareMetaDataProvider.java:65)
at org.hibernate.validator.internal.metadata.provider.
AnnotationMetaDataProvider.findPropertyMetaData(AnnotationMetaDataProvider.
java:246)
at org.hibernate.validator.internal.metadata.provider.
AnnotationMetaDataProvider.getFieldMetaData(AnnotationMetaDataProvider.java:
229)
at org.hibernate.validator.internal.metadata.provider.
AnnotationMetaDataProvider.retrieveBeanConfiguration(
AnnotationMetaDataProvider.java:137)
at org.hibernate.validator.internal.metadata.provider.
AnnotationMetaDataProvider.getBeanConfiguration(AnnotationMetaDataProvider.
java:125)
at org.hibernate.validator.internal.metadata.provider.
AnnotationMetaDataProvider.getBeanConfigurationForHierarchy(
AnnotationMetaDataProvider.java:108)
at org.hibernate.validator.internal.metadata.BeanMetaDataManager.
createBeanMetaData(BeanMetaDataManager.java:203)
at org.hibernate.validator.internal.metadata.BeanMetaDataManager.
getOrCreateBeanMetaData(BeanMetaDataManager.java:231)
at org.hibernate.validator.internal.metadata.BeanMetaDataManager.
getBeanMetaData(BeanMetaDataManager.java:178)
at org.hibernate.validator.internal.engine.ValidatorImpl.
buildNewLocalExecutionContext(ValidatorImpl.java:770)
at org.hibernate.validator.internal.engine.ValidatorImpl.
validateCascadedConstraint(ValidatorImpl.java:753)
at org.hibernate.validator.internal.engine.ValidatorImpl.
validateCascadedConstraints(ValidatorImpl.java:680)
at org.hibernate.validator.internal.engine.ValidatorImpl.
validateParametersInContext(ValidatorImpl.java:1117)
at org.hibernate.validator.internal.engine.ValidatorImpl.
validateParameters(ValidatorImpl.java:301)
at org.hibernate.validator.internal.engine.ValidatorImpl.
validateParameters(ValidatorImpl.java:255)
at io.dropwizard.jersey.validation.DropwizardConfiguredValidator.
validateResourceAndInputParams(DropwizardConfiguredValidator.java:45)
at org.glassfish.jersey.server.model.internal.
AbstractJavaResourceMethodDispatcher.invoke(
AbstractJavaResourceMethodDispatcher.java:134)
at org.glassfish.jersey.server.model.internal.
JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(
JavaResourceMethodDispatcherProvider.java:160)
at org.glassfish.jersey.server.model.internal.
AbstractJavaResourceMethodDispatcher.dispatch(
AbstractJavaResourceMethodDispatcher.java:99)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(
ResourceMethodInvoker.java:389)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
ResourceMethodInvoker.java:347)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
ResourceMethodInvoker.java:102)
at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
java:326)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(
RequestScope.java:317)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.
java:305)
at org.glassfish.jersey.server.ApplicationHandler.handle(
ApplicationHandler.java:1154)
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(
WebComponent.java:473)
... 39 common frames omitted
*The request is passing through, when @Valid annotation is absent*
Thanks
--
You received this message because you are subscribed to the Google Groups
"dropwizard-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.