Details
-
Task
-
Resolution: Done
-
Minor - P4
-
None
-
3.6.4
-
None
-
windows 10, 1.8.0_181, java mongodb driver 3.6.4
Description
I'm developing a REST service where response is a GridFS instance and I receive following error log:
11:17:41,143 ERROR [org.jboss.resteasy.resteasy_jaxrs.i18n] (default task-2) RESTEASY002025: Unknown exception while executing GET (omitted): com.fasterxml.jackson.databind.JsonMappingException: No contentType data for this GridFS file (through reference chain: com.mongodb.client.gridfs.model.GridFSFile["contentType"]) |
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:391) |
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:351) |
at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:316) |
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:727) |
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) |
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) |
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) |
at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1396) |
at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:913) |
at org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider.writeTo(ResteasyJackson2Provider.java:240) |
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.writeTo(AbstractWriterInterceptorContext.java:137) |
at org.jboss.resteasy.core.interception.ServerWriterInterceptorContext.writeTo(ServerWriterInterceptorContext.java:61) |
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:124) |
at org.jboss.resteasy.security.doseta.DigitalSigningInterceptor.aroundWriteTo(DigitalSigningInterceptor.java:146) |
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:129) |
at org.jboss.resteasy.core.ServerResponseWriter.lambda$writeNomapResponse$2(ServerResponseWriter.java:140) |
at org.jboss.resteasy.core.interception.ContainerResponseContextImpl.filter(ContainerResponseContextImpl.java:395) |
at org.jboss.resteasy.core.ServerResponseWriter.executeFilters(ServerResponseWriter.java:207) |
at org.jboss.resteasy.core.ServerResponseWriter.writeNomapResponse(ServerResponseWriter.java:85) |
at org.jboss.resteasy.core.ServerResponseWriter.writeNomapResponse(ServerResponseWriter.java:59) |
at org.jboss.resteasy.core.SynchronousDispatcher.writeResponse(SynchronousDispatcher.java:530) |
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:461) |
at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:231) |
at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:137) |
at org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:361) |
at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:140) |
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:217) |
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:227) |
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56) |
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51) |
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) |
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) |
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) |
at io.undertow.websockets.jsr.JsrWebSocketFilter.doFilter(JsrWebSocketFilter.java:171) |
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) |
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) |
at io.swagger.api.ApiOriginFilter.doFilter(ApiOriginFilter.java:16) |
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) |
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) |
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) |
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) |
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) |
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) |
at org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.lambda$handleRequest$1(ElytronRunAsHandler.java:68) |
at org.wildfly.security.auth.server.FlexibleIdentityAssociation.runAsFunctionEx(FlexibleIdentityAssociation.java:101) |
at org.wildfly.security.auth.server.Scoped.runAsFunctionEx(Scoped.java:150) |
at org.wildfly.security.auth.server.Scoped.runAs(Scoped.java:62) |
at org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.handleRequest(ElytronRunAsHandler.java:67) |
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132) |
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) |
at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33) |
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) |
at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:53) |
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) |
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) |
at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:59) |
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) |
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) |
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) |
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) |
at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68) |
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) |
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292) |
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81) |
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138) |
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135) |
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) |
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) |
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) |
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) |
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) |
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) |
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) |
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272) |
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81) |
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104) |
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:360) |
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830) |
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) |
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985) |
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487) |
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378) |
at java.lang.Thread.run(Thread.java:748) |
Caused by: com.mongodb.MongoGridFSException: No contentType data for this GridFS file |
at com.mongodb.client.gridfs.model.GridFSFile.getContentType(GridFSFile.java:189) |
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) |
at java.lang.reflect.Method.invoke(Method.java:498) |
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:688) |
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) |
... 79 more11:17:41,147 ERROR [io.undertow.request] (default task-2) UT005023: Exception handling request to /siact/rest/tracciato/1722/reportErrori/5ba0b992756f1a4134ce751e: org.jboss.resteasy.spi.UnhandledException: com.fasterxml.jackson.databind.JsonMappingException: No contentType data for this GridFS file (through reference chain: com.mongodb.client.gridfs.model.GridFSFile["contentType"]) |
at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:257) |
at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:195) |
at org.jboss.resteasy.core.SynchronousDispatcher.writeResponse(SynchronousDispatcher.java:539) |
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:461) |
at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:231) |
at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:137) |
at org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:361) |
at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:140) |
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:217) |
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:227) |
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56) |
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51) |
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) |
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) |
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) |
at io.undertow.websockets.jsr.JsrWebSocketFilter.doFilter(JsrWebSocketFilter.java:171) |
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) |
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) |
at io.swagger.api.ApiOriginFilter.doFilter(ApiOriginFilter.java:16) |
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) |
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) |
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) |
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) |
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) |
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) |
at org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.lambda$handleRequest$1(ElytronRunAsHandler.java:68) |
at org.wildfly.security.auth.server.FlexibleIdentityAssociation.runAsFunctionEx(FlexibleIdentityAssociation.java:101) |
at org.wildfly.security.auth.server.Scoped.runAsFunctionEx(Scoped.java:150) |
at org.wildfly.security.auth.server.Scoped.runAs(Scoped.java:62) |
at org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.handleRequest(ElytronRunAsHandler.java:67) |
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132) |
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) |
at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33) |
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) |
at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:53) |
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) |
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) |
at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:59) |
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) |
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) |
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) |
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) |
at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68) |
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) |
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292) |
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81) |
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138) |
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135) |
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) |
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) |
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) |
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) |
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) |
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) |
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) |
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272) |
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81) |
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104) |
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:360) |
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830) |
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) |
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985) |
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487) |
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378) |
at java.lang.Thread.run(Thread.java:748) |
Caused by: com.fasterxml.jackson.databind.JsonMappingException: No contentType data for this GridFS file (through reference chain: com.mongodb.client.gridfs.model.GridFSFile["contentType"]) |
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:391) |
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:351) |
at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:316) |
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:727) |
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) |
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) |
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) |
at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1396) |
at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:913) |
at org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider.writeTo(ResteasyJackson2Provider.java:240) |
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.writeTo(AbstractWriterInterceptorContext.java:137) |
at org.jboss.resteasy.core.interception.ServerWriterInterceptorContext.writeTo(ServerWriterInterceptorContext.java:61) |
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:124) |
at org.jboss.resteasy.security.doseta.DigitalSigningInterceptor.aroundWriteTo(DigitalSigningInterceptor.java:146) |
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:129) |
at org.jboss.resteasy.core.ServerResponseWriter.lambda$writeNomapResponse$2(ServerResponseWriter.java:140) |
at org.jboss.resteasy.core.interception.ContainerResponseContextImpl.filter(ContainerResponseContextImpl.java:395) |
at org.jboss.resteasy.core.ServerResponseWriter.executeFilters(ServerResponseWriter.java:207) |
at org.jboss.resteasy.core.ServerResponseWriter.writeNomapResponse(ServerResponseWriter.java:85) |
at org.jboss.resteasy.core.ServerResponseWriter.writeNomapResponse(ServerResponseWriter.java:59) |
at org.jboss.resteasy.core.SynchronousDispatcher.writeResponse(SynchronousDispatcher.java:530) |
... 62 more |
Caused by: com.mongodb.MongoGridFSException: No contentType data for this GridFS file |
at com.mongodb.client.gridfs.model.GridFSFile.getContentType(GridFSFile.java:189) |
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) |
at java.lang.reflect.Method.invoke(Method.java:498) |
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:688) |
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) |
... 79 more |
I've found a little bit confusing how to set correctly contenType for GridFS file, because it's mandatory to store this information inside metadata for GridFS file.
Could someone how to specify this information ?