[JBoss Seam] - seam cannot reference EJB, why?
by hsiung
Hi
I want to refer to an EJB from JSF without backing bean in the web container, but I got the following exception:
javax.faces.el.PropertyNotFoundException: Error testing property 'departureAirport' in bean of type null
my JSP refer to the EJB and looks like this
<h:inputText id="departureAirportInput" value="#{bookingBean.departureAirport}">
my EJB is specified as Seam component and looks like this
@Stateful
| @Name("bookingbean")
| @Local(Booking.class)
| public class BookingBean implements Booking, Serializable{
| ..
| private String departureAirport;
| ..
| public String getDepartureAirport() {
| return departureAirport;
| }
|
| public void setDepartureAirport(String departureAirport) {
| this.departureAirport = departureAirport;
| }
| ..
My faces.config integrates Seam in JSF and looks like this
<faces-config >
| <lifecycle>
| <phase-listener>org.jboss.seam.jsf.SeamPhaseListener</phase-listener>
| </lifecycle>
| ..
My components.xml configure Seam in JSF and looks like this
<?xml version="1.0" encoding="UTF-8"?>
| <components xmlns="http://jboss.com/products/seam/components"
| xmlns:core="http://jboss.com/products/seam/core"
| xmlns:security="http://jboss.com/products/seam/security"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation=
| "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-1.2.xsd
| http://jboss.com/products/seam/security http://jboss.com/products/seam/security-1.2.xsd
| http://jboss.com/products/seam/components http://jboss.com/products/seam/components-1.2.xsd">
|
| <core:init jndi-name="#{ejbName}/local" />
|
| <core:manager conversation-timeout="120000"
| concurrent-request-timeout="500"
| conversation-id-parameter="cid"
| conversation-is-long-running-parameter="clr"/>
|
| <!-- <core:transactionListener/> -->
|
| <!--<core:ejb installed="@embeddedEjb@"/> -->
|
| <security:identity authenticate-method="#{authenticator.authenticate}"/>
|
| </components>
My web.xml integrates Seam in JSF and enables Seam exception handling and looks like this
<web-app..
| <listener>
| <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
| </listener>
|
| <servlet>
| <servlet-name>Seam Resource Servlet</servlet-name>
| <servlet-class>org.jboss.seam.servlet.ResourceServlet</servlet-class>
| </servlet>
|
| <servlet-mapping>
| <servlet-name>Seam Resource Servlet</servlet-name>
| <url-pattern>/seam/resource/*</url-pattern>
| </servlet-mapping>
|
| <filter>
| <filter-name>Seam Filter</filter-name>
| <filter-class>org.jboss.seam.web.SeamFilter</filter-class>
| </filter>
|
| <filter-mapping>
| <filter-name>Seam Filter</filter-name>
| <url-pattern>/*</url-pattern>
| </filter-mapping>
| ..
| </web-app>
The ejb.jar declares the Seam interceptor and register it to the EJB and look like this
<?xml version="1.0" encoding="UTF-8"?>
| <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
| http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
| version="3.0">
|
| <interceptors>
| <interceptor>
| <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
| </interceptor>
| </interceptors>
|
| <assembly-descriptor>
| <interceptor-binding>
| <ejb-name>*</ejb-name>
| <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
| </interceptor-binding>
| </assembly-descriptor>
|
| </ejb-jar>
What is my mistake?
Note that I can refer to the EJB from JSF using the standard EJB lookup mechanism either local or remote. I use JBoss 4.0.5, JSF 1.0, EJB 3.0 and Seam 1.2.1GA.
The whole stack trace looks like this
| 23:43:17,521 ERROR [ProcessValidationsPhase] Error testing property 'departureAirport' in bean of type null
| javax.faces.el.PropertyNotFoundException: Error testing property 'departureAirport' in bean of type null
| at com.sun.faces.el.PropertyResolverImpl.getType(PropertyResolverImpl.java:342)
| at com.sun.faces.el.impl.ArraySuffix.getType(ArraySuffix.java:240)
| at com.sun.faces.el.impl.ComplexValue.getType(ComplexValue.java:208)
| at com.sun.faces.el.ValueBindingImpl.getType(ValueBindingImpl.java:338)
| at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:111)
| at javax.faces.component.UIInput.getConvertedValue(UIInput.java:702)
| at javax.faces.component.UIInput.validate(UIInput.java:627)
| at javax.faces.component.UIInput.executeValidate(UIInput.java:838)
| at javax.faces.component.UIInput.processValidators(UIInput.java:412)
| at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:904)
| at javax.faces.component.UIForm.processValidators(UIForm.java:170)
| at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:904)
| at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:342)
| at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:78)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
| at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:595)
| 23:43:17,521 ERROR [ExceptionFilter] uncaught exception
| javax.servlet.ServletException: Error testing property 'departureAirport' in bean of type null
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:209)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:595)
| 23:43:17,531 ERROR [ExceptionFilter] exception root cause
| javax.faces.el.PropertyNotFoundException: Error testing property 'departureAirport' in bean of type null
| at com.sun.faces.el.PropertyResolverImpl.getType(PropertyResolverImpl.java:342)
| at com.sun.faces.el.impl.ArraySuffix.getType(ArraySuffix.java:240)
| at com.sun.faces.el.impl.ComplexValue.getType(ComplexValue.java:208)
| at com.sun.faces.el.ValueBindingImpl.getType(ValueBindingImpl.java:338)
| at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:111)
| at javax.faces.component.UIInput.getConvertedValue(UIInput.java:702)
| at javax.faces.component.UIInput.validate(UIInput.java:627)
| at javax.faces.component.UIInput.executeValidate(UIInput.java:838)
| at javax.faces.component.UIInput.processValidators(UIInput.java:412)
| at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:904)
| at javax.faces.component.UIForm.processValidators(UIForm.java:170)
| at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:904)
| at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:342)
| at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:78)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
| at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:595)
| 23:43:17,621 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception
| javax.faces.el.PropertyNotFoundException: Error testing property 'departureAirport' in bean of type null
| at com.sun.faces.el.PropertyResolverImpl.getType(PropertyResolverImpl.java:342)
| at com.sun.faces.el.impl.ArraySuffix.getType(ArraySuffix.java:240)
| at com.sun.faces.el.impl.ComplexValue.getType(ComplexValue.java:208)
| at com.sun.faces.el.ValueBindingImpl.getType(ValueBindingImpl.java:338)
| at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:111)
| at javax.faces.component.UIInput.getConvertedValue(UIInput.java:702)
| at javax.faces.component.UIInput.validate(UIInput.java:627)
| at javax.faces.component.UIInput.executeValidate(UIInput.java:838)
| at javax.faces.component.UIInput.processValidators(UIInput.java:412)
| at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:904)
| at javax.faces.component.UIForm.processValidators(UIForm.java:170)
| at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:904)
| at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:342)
| at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:78)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
| at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:595)
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4041034#4041034
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4041034
18 years, 12 months
[JBoss Portal] - Alpha to CR login.jsp change?
by glarenzie
In ALPHA1 I modified the C:\jboss-portal-2.6-ALPHA1\server\default\deploy\jboss-portal.sar\portal-server.war\login.jsp When I copied that jsp to the CR1 release it still displays the original jboss login.jsp. I restarted to make sure it would pick it up and changed the xml to pick up changes immediately C:\jboss-portal-2.6-ALPHA1\server\default\deploy\jbossweb-tomcat55.sar\conf
web.xml
<!--- [ I added this ]------------
<init-param>
<param-name>development</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>modificationTestInterval</param-name>
<param-value>0</param-value>
</init-param>
<!--- [ I added this ]------------
Was the login.jsp moved, deprecated or changed? I didn't see any mention of this in the docs.
Thanks,
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4041032#4041032
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4041032
18 years, 12 months