From issues at jboss.org Thu Feb 7 02:42:02 2019 Content-Type: multipart/mixed; boundary="===============5290617891676391844==" MIME-Version: 1.0 From: =?utf-8?q?Marek_Kopeck=C3=BD_=28Jira=29_=3Cissues_at_jboss=2Eorg=3E?= To: jboss-jira at lists.jboss.org Subject: [jboss-jira] [JBoss JIRA] (WFLY-11680) jax-rs and CDI: FormParam in BeanParam is not injected Date: Thu, 07 Feb 2019 02:42:02 -0500 Message-ID: In-Reply-To: JIRA.12790962.1549525283000@Atlassian.JIRA --===============5290617891676391844== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Marek Kopeck=C3=BD created WFLY-11680: ------------------------------------ Summary: jax-rs and CDI: FormParam in BeanParam is not injected Key: WFLY-11680 URL: https://issues.jboss.org/browse/WFLY-11680 Project: WildFly Issue Type: Bug Components: CDI / Weld, REST Reporter: Marek Kopeck=C3=BD Assignee: Ron Sigal RESTEasy with CDI is unable to inject FormParam in BeanParam if BeanParam i= s with RequestScoped This issue is not a regression against WF11. But this issue looks like spec= violation. This issue is not present on Payara with Jersey (reference jax-= rs implementation) Example: {code:java} @Path("/a") public class Resource { @POST @Consumes(MediaType.APPLICATION_FORM_URLENCODED) public Integer a(@BeanParam CustomBean customBean) { return customBean.getParam().length(); } } @RequestScoped public class CustomBean { @FormParam("param") private String param; public String getParam() { return param; } } {code} {code:html}

{code} {noformat} 08:25:18,584 ERROR [io.undertow.request] (default task-1) UT005023: Excepti= on handling request to /jaxrs-wf/a: org.jboss.resteasy.spi.UnhandledExcepti= on: java.lang.NullPointerException at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(Exc= eptionHandler.java:78) at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandl= er.java:222) at org.jboss.resteasy.core.SynchronousDispatcher.writeException(Synchronou= sDispatcher.java:193) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatc= her.java:455) at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(Synchrono= usDispatcher.java:229) at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(Synch= ronousDispatcher.java:135) at org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.fi= lter(PreMatchContainerRequestContext.java:355) at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDis= patcher.java:138) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatc= her.java:215) at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.se= rvice(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:791) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandle= r.java:74) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(Fil= terHandler.java:129) at io.opentracing.contrib.jaxrs2.server.SpanFinishingFilter.doFilter(SpanF= inishingFilter.java:55) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(Fil= terHandler.java:131) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.= java:84) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handle= Request(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.= java:68) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(Se= rvletDispatchingHandler.java:36) at org.wildfly.extension.undertow.security.SecurityContextAssociationHandl= er.handleRequest(SecurityContextAssociationHandler.java:78) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHan= dler.java:43) 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.PredicateHandler.handleRequest(PredicateHan= dler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequ= est(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintH= andler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleReq= uest(AuthenticationMechanismsHandler.java:60) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler= .handleRequest(CachedAuthenticatedSessionHandler.java:77) at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest= (NotificationReceiverHandler.java:50) at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler= .handleRequest(AbstractSecurityContextAssociationHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHan= dler.java:43) at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handl= eRequest(JACCContextIdHandler.java:61) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHan= dler.java:43) at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandle= r.handleRequest(GlobalRequestControllerHandler.java:68) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHan= dler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(S= ervletInitialHandler.java:292) at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletIn= itialHandler.java:81) at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitia= lHandler.java:138) at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitia= lHandler.java:135) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(= ServletRequestContextThreadSetupAction.java:48) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextCl= assLoaderSetupAction.java:43) at org.wildfly.extension.undertow.security.SecurityContextThreadSetupActio= n.lambda$create$0(SecurityContextThreadSetupAction.java:105) at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService= $UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.ja= va:1502) at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService= $UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.ja= va:1502) at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService= $UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.ja= va:1502) at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService= $UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.ja= va:1502) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(Serv= letInitialHandler.java:272) at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletIn= itialHandler.java:81) at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(Serv= letInitialHandler.java:104) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:364) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830) at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoad= erSavingRunnable.java:35) at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.j= ava:1982) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQu= eueExecutor.java:1486) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExe= cutor.java:1348) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NullPointerException at org.resteasy.simple.deployment.Resource.a(Resource.java:18) at org.resteasy.simple.deployment.Resource$Proxy$_$$_WeldClientProxy.a(Unk= nown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja= va:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso= rImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.ja= va:139) at org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(Re= sourceMethodInvoker.java:509) at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter= (ResourceMethodInvoker.java:399) at org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$0(R= esourceMethodInvoker.java:363) at org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.fi= lter(PreMatchContainerRequestContext.java:355) at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMe= thodInvoker.java:365) at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvo= ker.java:337) at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvo= ker.java:310) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatc= her.java:439) ... 55 more {noformat} ---- * [Forum link|https://developer.jboss.org/thread/279572] * cc [~asoldano] -- This message was sent by Atlassian Jira (v7.12.1#712002) --===============5290617891676391844==--