[jboss-user] [JBoss Seam] - SeamNavigationHandler is no javax.faces.application.Navigati
cmuth
do-not-reply at jboss.com
Fri Jul 21 18:50:07 EDT 2006
Hi Folks,
sorry for posting such a noobie issue, but i'm beginning to pull my hair out... i copied the jboss seam booking example as skeleton for my new application - the booking example unmodified works as it should, but my loanmarket application does not initialize properly. :-(
could you guys please have a look at my application files and tell me what the hell i am doing wrong? i dont see it :-(
Any help is greatly appreciated - thanks a lot in advance!
Stacktrace:
| 22:38:21,731 INFO [EJB3Deployer:450] Deployed: file:/opt/jboss/server/default/tmp/deploy/tmp37477loanmarket.ear-contents/loanmarket-ejb.jar
| 22:38:21,738 INFO [TomcatDeployer:126] deploy, ctxPath=/loanmarket, warUrl=.../tmp/deploy/tmp37477loanmarket.ear-contents/loanmarket-exp.war/
| 22:38:21,956 INFO [FacesConfigurator:94] Reading standard config org/apache/myfaces/resource/standard-faces-config.xml
| 22:38:21,984 INFO [FacesConfigurator:94] Reading config jar:file:/opt/jboss/server/default/tmp/deploy/tmp37477loanmarket.ear-contents/jboss-seam.jar!/META-INF/faces-config.xml
| 22:38:21,990 INFO [FacesConfigurator:94] Reading config jar:file:/opt/jboss/server/default/lib/jboss-seam-debug.jar!/META-INF/faces-config.xml
| 22:38:21,996 INFO [FacesConfigurator:94] Reading config jar:file:/opt/jboss/server/default/lib/jboss-seam.jar!/META-INF/faces-config.xml
| 22:38:22,006 INFO [FacesConfigurator:94] Reading config jar:file:/opt/jboss/server/default/lib/jboss-seam-ui.jar!/META-INF/faces-config.xml
| 22:38:22,025 INFO [FacesConfigurator:94] Reading config jar:file:/opt/jboss/server/default/tmp/deploy/tmp37477loanmarket.ear-contents/loanmarket-exp.war/WEB-INF/lib/jboss-seam-debug.jar!/META-INF/faces-config.xml
| 22:38:22,069 INFO [FacesConfigurator:94] Reading config jar:file:/opt/jboss/server/default/tmp/deploy/tmp37477loanmarket.ear-contents/loanmarket-exp.war/WEB-INF/lib/jboss-seam-ui.jar!/META-INF/faces-config.xml
| 22:38:22,364 INFO [FacesConfigurator:94] Reading config jar:file:/opt/jboss/server/default/tmp/deploy/tmp37477loanmarket.ear-contents/loanmarket-exp.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/faces-config.xml
| 22:38:22,370 INFO [FacesConfigurator:94] Reading config /WEB-INF/faces-config.xml
| 22:38:22,778 ERROR [StartupServletContextListener:119] Error initializing ServletContext
| java.lang.IllegalArgumentException: Class org.jboss.seam.jsf.SeamNavigationHandler is no javax.faces.application.NavigationHandler
| at org.apache.myfaces.config.FacesConfigurator.getApplicationObject(FacesConfigurator.java:536)
| at org.apache.myfaces.config.FacesConfigurator.configureApplication(FacesConfigurator.java:458)
| at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:141)
| at org.apache.myfaces.webapp.StartupServletContextListener.initFaces(StartupServletContextListener.java:66)
| at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:49)
| at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729)
| at org.apache.catalina.core.StandardContext.start(StandardContext.java:4187)
| at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
| at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
| at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
|
Okay, here we go...
___________________________________
EAR structure:
| |-- META-INF
| | |-- MANIFEST.MF
| | |-- application.xml
| | `-- jboss-app.xml
| |-- jboss-seam.jar
| |-- loanmarket-ejb.jar
| `-- loanmarket.war
|
loanmarket-ejb.jar structure:
| |-- META-INF
| | |-- MANIFEST.MF
| | |-- ejb-jar.xml
| | `-- persistence.xml
| |-- import.sql
| |-- org
| | `-- jboss
| | `-- seam
| | `-- example
| | `-- booking
| | |-- Booking.class
| | |-- BookingList.class
| ...snip....
|
and loanmarket.war structure:
| |-- META-INF
| | `-- MANIFEST.MF
| |-- WEB-INF
| | |-- classes
| | |-- components.xml
| | |-- faces-config.xml
| | |-- lib
| | | |-- el-api.jar
| | | |-- el-ri.jar
| | | |-- jboss-seam-debug.jar
| | | |-- jboss-seam-ui.jar
| | | |-- jsf-facelets.jar
| | | |-- myfaces-api-1.1.3.jar
| | | `-- myfaces-impl-1.1.3.jar
| | |-- pages.xml
| | `-- web.xml
| |-- book.xhtml
| |-- confirm.xhtml
| |-- conversations.xhtml
| ...snip...
|
my application.xml:
| <application>
| <display-name>Loan Market</display-name>
| <module>
| <web>
| <web-uri>loanmarket.war</web-uri>
| <context-root>/loanmarket</context-root>
| </web>
| </module>
| <module>
| <ejb>loanmarket-ejb.jar</ejb>
| </module>
| <module>
| <java>jboss-seam.jar</java>
| </module>
| </application>
|
jboss-app.xml:
| <jboss-app>
| <loader-repository>
| seam.jboss.org:loader=loanmarket
| </loader-repository>
| </jboss-app>
|
ejb-jar:
| <ejb-jar>
| <assembly-descriptor>
| <interceptor-binding>
| <ejb-name>*</ejb-name>
| <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
| </interceptor-binding>
| </assembly-descriptor>
| </ejb-jar>
|
seam.properties are empty?!
WEB-INF/components.xml:
| <components>
| <component name="org.jboss.seam.core.init">
| <property name="debug">true</property>
| <property name="myFacesLifecycleBug">true</property>
| <property name="jndiPattern">#{ejbName}/local</property>
| </component>
| <!-- 120 second conversation timeout -->
| <component name="org.jboss.seam.core.manager">
| <property name="conversationTimeout">120000</property>
| </component>
| <component class="org.jboss.seam.core.Ejb"
| installed="false"/>
| </components>
|
WEB-INF/faces-config:
| <faces-config>
|
|
|
| <!-- Navigation rules for the Booking demo app -->
|
| <navigation-rule>
|
|
| <navigation-case>
| <from-outcome>login</from-outcome>
| <to-view-id>/home.xhtml</to-view-id>
|
| <redirect />
| </navigation-case>
|
|
| <navigation-case>
| <from-outcome>register</from-outcome>
| <to-view-id>/register.xhtml</to-view-id>
|
| <redirect />
| </navigation-case>
|
|
| <navigation-case>
| <from-outcome>password</from-outcome>
| <to-view-id>/password.xhtml</to-view-id>
|
| <redirect />
| </navigation-case>
|
|
| <navigation-case>
| <from-outcome>main</from-outcome>
| <to-view-id>/main.xhtml</to-view-id>
|
| <redirect />
| </navigation-case>
|
|
|
| <navigation-case>
|
| <from-outcome>hotel</from-outcome>
|
| <to-view-id>/hotel.xhtml</to-view-id>
|
| <redirect />
|
| </navigation-case>
|
|
|
| </navigation-rule>
|
|
|
| <navigation-rule>
|
|
| <from-view-id>/hotel.xhtml</from-view-id>
|
|
| <navigation-case>
| <from-outcome>book</from-outcome>
| <to-view-id>/book.xhtml</to-view-id>
|
| <redirect />
| </navigation-case>
|
|
|
| </navigation-rule>
|
|
| <navigation-rule>
|
|
| <from-view-id>/book.xhtml</from-view-id>
|
|
| <navigation-case>
| <from-outcome>confirm</from-outcome>
| <to-view-id>/confirm.xhtml</to-view-id>
|
| <redirect />
| </navigation-case>
|
|
|
| </navigation-rule>
|
|
| <navigation-rule>
|
|
| <from-view-id>/confirm.xhtml</from-view-id>
|
|
| <navigation-case>
| <from-outcome>confirmed</from-outcome>
| <to-view-id>/main.xhtml</to-view-id>
|
| <redirect/>
| </navigation-case>
|
|
| <navigation-case>
| <from-outcome>back</from-outcome>
| <to-view-id>/book.xhtml</to-view-id>
|
| <redirect />
| </navigation-case>
|
|
| </navigation-rule>
|
|
| <!-- Facelets support -->
|
|
|
| <application>
|
| <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
|
| </application>
|
|
|
| <!-- Select one of the two standard persistence lifecycle models for the Seam application -->
|
|
| <lifecycle>
| <phase-listener>org.jboss.seam.jsf.SeamPhaseListener</phase-listener>
| </lifecycle>
|
|
| </faces-config>
|
|
web.xml:
| <?xml version="1.0" encoding="UTF-8"?>
|
|
| <web-app version="2.4"
| xmlns="http://java.sun.com/xml/ns/j2ee"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
|
|
| <!-- Seam -->
|
| <listener>
| <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
| </listener>
|
|
|
| <!-- Propagate conversations across redirects -->
|
| <filter>
|
| <filter-name>Seam Redirect Filter</filter-name>
|
| <filter-class>org.jboss.seam.servlet.SeamRedirectFilter</filter-class>
|
| </filter>
|
|
|
| <filter-mapping>
|
| <filter-name>Seam Redirect Filter</filter-name>
|
| <url-pattern>*.seam</url-pattern>
|
| </filter-mapping>
|
|
|
| <!-- JSF -->
|
|
|
| <context-param>
| <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
| <param-value>client</param-value>
| </context-param>
|
|
|
| <context-param>
|
| <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
|
| <param-value>.xhtml</param-value>
|
| </context-param>
|
|
| <context-param>
|
| <param-name>facelets.DEVELOPMENT</param-name>
|
| <param-value>true</param-value>
|
| </context-param>
|
|
|
| <servlet>
| <servlet-name>Faces Servlet</servlet-name>
| <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
| <load-on-startup>1</load-on-startup>
| </servlet>
|
|
| <!-- Faces Servlet Mapping -->
|
| <servlet-mapping>
| <servlet-name>Faces Servlet</servlet-name>
| <url-pattern>*.seam</url-pattern>
| </servlet-mapping>
|
|
| <!-- MyFaces -->
|
| <listener>
|
| <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
|
| </listener>
|
|
|
| <!-- JSF RI -->
|
| <!--
|
| <listener>
|
| <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
|
| </listener>
|
| -->
|
| </web-app>
|
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3960056#3960056
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3960056
More information about the jboss-user
mailing list