[
https://issues.jboss.org/browse/SOLDER-311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12653734#comment-12653734
]
Tobias Sarnowski commented on SOLDER-311:
-----------------------------------------
We had the same problem with the HttpServletResponse with was not injectable
anymore after upgrade from CR1 to Final. We dug into the code and found the
following comment on the ServletEventBridgeFilter: "This filter is
auto-registered in Servlet 3.0 environments." - this was also our expected
behaviour but it failed and the servlet was not registered. The simple
workaround is to configure the servlet in your web.xml:
{code:xml|title=web.xml}
<filter>
<filter-name>Seam 3.1 Servlet Filter</filter-name>
<filter-class>org.jboss.solder.servlet.event.ServletEventBridgeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Seam 3.1 Servlet Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
{code}
> HttpServletRequest cannot be @Inject-ed
> ---------------------------------------
>
> Key: SOLDER-311
> URL: https://issues.jboss.org/browse/SOLDER-311
> Project: Solder
> Issue Type: Bug
> Components: Servlet
> Affects Versions: 3.1.0.Final
> Environment: JBossAS 7.1beta1b
> Reporter: Juergen Zimmermann
> Attachments: testcase.ear.zip, testcase.src.zip
>
>
> "@Inject HttpServletRequest request;" results in the stacktrace below, when I
> invoke "request(myusername, mypassword);" using JBossAS 7.1beta1b. I'll
> attach a testcase as an EAR. Just invoke http://localhost:8080/testcase and
> you'll see a form where you click the OK button. Then you'll see the
> stacktrace in the JBoss console.
> Stacktrace:
> 09:11:00,535 Warnung [javax.enterprise.resource.webcontainer.jsf.lifecycle]
> (http--127.0.0.1-8080-1) #{cust.findCustomer}:
> org.jboss.weld.exceptions.IllegalProductException: WELD-000052 Cannot return
> null from a non-dependent producer method: [method] @Produces @Typed
> @RequestScoped protected
> org.jboss.solder.servlet.http.ImplicitHttpServletObjectsProducer.getHttpServletRequest():
> javax.faces.FacesException: #{cust.findCustomer}:
> org.jboss.weld.exceptions.IllegalProductException: WELD-000052 Cannot return
> null from a non-dependent producer method: [method] @Produces @Typed
> @RequestScoped protected
> org.jboss.solder.servlet.http.ImplicitHttpServletObjectsProducer.getHttpServletRequest()
> at
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:]
> at javax.faces.component.UICommand.broadcast(UICommand.java:315)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:]
> at
> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:]
> at
> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:]
> at
> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:]
> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:]
> at
> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:]
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
> [weld-core-1.1.4.Final.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.3.Final.jar:]
> at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:126)
> [prettyfaces-jsf2-3.3.2.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:397)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
> [jboss-as-jpa-7.1.0.Beta1b.jar:]
> at
> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:151)
> [jboss-as-web-7.1.0.Beta1b.jar:]
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
> [jbossweb-7.0.3.Final.jar:]
> at java.lang.Thread.run(Thread.java:722) [:1.7.0_02]
> Caused by: javax.faces.el.EvaluationException:
> org.jboss.weld.exceptions.IllegalProductException: WELD-000052 Cannot return
> null from a non-dependent producer method: [method] @Produces @Typed
> @RequestScoped protected
> org.jboss.solder.servlet.http.ImplicitHttpServletObjectsProducer.getHttpServletRequest()
> at
> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:]
> at
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:]
> ... 28 more
> Caused by: org.jboss.weld.exceptions.IllegalProductException: WELD-000052
> Cannot return null from a non-dependent producer method: [method] @Produces
> @Typed @RequestScoped protected
> org.jboss.solder.servlet.http.ImplicitHttpServletObjectsProducer.getHttpServletRequest()
> at
> org.jboss.weld.bean.AbstractProducerBean.checkReturnValue(AbstractProducerBean.java:217)
> [weld-core-1.1.4.Final.jar:]
> at
> org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:300)
> [weld-core-1.1.4.Final.jar:]
> at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:107)
> [weld-core-1.1.4.Final.jar:]
> at
> org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:90)
> [weld-core-1.1.4.Final.jar:]
> at
> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:104)
> [weld-core-1.1.4.Final.jar:]
> at
> org.jboss.weld.proxies.HttpServletRequest$83012492$Proxy$_$$_WeldClientProxy.login(HttpServletRequest$83012492$Proxy$_$$_WeldClientProxy.java)
> at testcase.CustomerController.findCustomer(CustomerController.java:43)
> [classes:]
> at
> testcase.CustomerController$Proxy$_$$_WeldClientProxy.findCustomer(CustomerController$Proxy$_$$_WeldClientProxy.java)
> [classes:]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [:1.7.0_02]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> [:1.7.0_02]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [:1.7.0_02]
> at java.lang.reflect.Method.invoke(Method.java:601) [:1.7.0_02]
> at org.apache.el.parser.AstValue.invoke(AstValue.java:196)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
> [jbossweb-7.0.3.Final.jar:]
> at
> org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
> [weld-core-1.1.4.Final.jar:]
> at
> org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
> [weld-core-1.1.4.Final.jar:]
> at
> com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:]
> at
> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:]
> ... 29 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
seam-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-issues