I am trying to make the dialog work on top of clay in a WebSphere Portal Server 5.1 test environment using RAD 6.0. Clay is working fine. When I try to navigate to the dialog "DialogAddPerson", it gave this exception: 2005.10.24 12:32:30.481 I javax.portlet.Portlet - java.lang.IllegalArgumentException: DialogAddPerson at org.apache.shale.dialog.faces.DialogNavigationHandler.start( DialogNavigationHandler.java:445) at org.apache.shale.dialog.faces.DialogNavigationHandler.handleNavigation( DialogNavigationHandler.java:182) at org.apache.myfaces.application.ActionListenerImpl.processAction( ActionListenerImpl.java:84) at javax.faces.component.UICommand.broadcast(UICommand.java:106) at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90) at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:132) at org.apache.myfaces.lifecycle.LifecycleImpl.applyRequestValues( LifecycleImpl.java:200) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:71) at org.apache.myfaces.portlet.MyFacesGenericPortlet.processAction( MyFacesGenericPortlet.java:221) at com.ibm.wps.pe.pc.std.cmpf.impl.PortletFilterChainImpl.processAction( PortletFilterChainImpl.java:104) at com.ibm.wps.propertybroker.standard.filter.PropertyBrokerActionFilter.processAction (PropertyBrokerActionFilter.java:253) at com.ibm.wps.pe.pc.std.cmpf.impl.PortletFilterChainImpl.processAction( PortletFilterChainImpl.java:95) at com.ibm.wps.pe.pc.std.invoker.impl.PortletServlet.dispatch( PortletServlet.java:148) at com.ibm.wps.pe.pc.std.invoker.impl.PortletServlet.doPost( PortletServlet.java:76) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at com.ibm.wps.pe.pc.std.cache.CacheablePortlet.service( CacheablePortlet.java:256) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService( StrictServletInstance.java:110) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service( StrictLifecycleServlet.java:174) at com.ibm.ws.webcontainer.servlet.IdleServletState.service( StrictLifecycleServlet.java:313) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service( StrictLifecycleServlet.java:116) at com.ibm.ws.webcontainer.servlet.ServletInstance.service( ServletInstance.java:283) at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch( ValidServletReferenceState.java:42) at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch( ServletInstanceReference.java:40) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch( WebAppRequestDispatcher.java:1033) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch( WebAppRequestDispatcher.java:603) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include( WebAppRequestDispatcher.java:257) at com.ibm.wps.pe.pc.std.invoker.impl.PortletInvokerImpl.invoke( PortletInvokerImpl.java:204) at com.ibm.wps.pe.pc.std.invoker.impl.PortletInvokerImpl.invoke( PortletInvokerImpl.java:168) at com.ibm.wps.pe.pc.std.invoker.impl.PortletInvokerImpl.action( PortletInvokerImpl.java:82) at com.ibm.wps.pe.pc.std.event.ActionEvent.execute(ActionEvent.java:107) at com.ibm.wps.pe.pc.std.event.EventQueueManager.processEventLoop( EventQueueManager.java:85) at com.ibm.wps.pe.pc.std.PortletContainerImpl.performEvents( PortletContainerImpl.java:175) at com.ibm.wps.pe.pc.PortletContainerImpl.performEvents( PortletContainerImpl.java:213) at com.ibm.wps.engine.phases.WPActionPhase.processPortlets( WPActionPhase.java:1170) at com.ibm.wps.engine.phases.WPActionPhase.execute(WPActionPhase.java:561) at com.ibm.wps.state.phases.AbstractActionPhase.next( AbstractActionPhase.java:130) at com.ibm.wps.engine.Servlet.callPortal(Servlet.java:638) at com.ibm.wps.engine.Servlet.doGet(Servlet.java:496) at com.ibm.wps.engine.Servlet.doPost(Servlet.java:664) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService( StrictServletInstance.java:110) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service( StrictLifecycleServlet.java:174) at com.ibm.ws.webcontainer.servlet.IdleServletState.service( StrictLifecycleServlet.java:313) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service( StrictLifecycleServlet.java:116) at com.ibm.ws.webcontainer.servlet.ServletInstance.service( ServletInstance.java:283) at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch( ValidServletReferenceState.java:42) at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch( ServletInstanceReference.java:40) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter( WebAppFilterChain.java:76) at com.ibm.wps.state.filter.StateCleanup.doFilter(StateCleanup.java:71) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter( FilterInstanceWrapper.java:132) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter( WebAppFilterChain.java:71) at com.ibm.wps.mappingurl.impl.URLAnalyzer.doFilter(URLAnalyzer.java:174) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter( FilterInstanceWrapper.java:132) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter( WebAppFilterChain.java:71) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch( WebAppRequestDispatcher.java:1029) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch( WebAppRequestDispatcher.java:603) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward( WebAppRequestDispatcher.java:204) at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java :125) at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook( WebAppInvoker.java:286) at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation( CachedInvocation.java:71) at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI( ServletRequestProcessor.java:182) at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service( OSEListener.java:334) at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest( HttpConnection.java:56) at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java :615) at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:912) I noticed in the server startup log, it didn't mention dialog-config.xmlbeing loaded, as you can see below: [10/24/05 12:57:53:531 EDT] 30d2432e ApplicationMg A WSVR0200I: Starting application: MyTestEAR [10/24/05 12:57:55:534 EDT] 30d2432e WebContainer A SRVE0169I: Loading Web Module: MyTest. [10/24/05 12:57:55:974 EDT] 30d2432e ChainListener I org.apache.commons.chain.web.ChainListener Initializing chain listener [10/24/05 12:57:56:725 EDT] 30d2432e ContextLoader I org.springframework.web.context.ContextLoader Root WebApplicationContext: initialization started [10/24/05 12:57:56:735 EDT] 30d2432e WebGroup I SRVE0180I: [MyTest] [/.MyTest] [Servlet.LOG]: Loading Spring root WebApplicationContext [10/24/05 12:57:57:146 EDT] 30d2432e XmlBeanDefini I org.springframework.beans.factory.xml.XmlBeanDefinitionReader Loading XML bean definitions from ServletContext resource [/WEB-INF/spring-portlet.xml] [10/24/05 12:57:57:166 EDT] 30d2432e XmlWebApplica I org.springframework.web.context.support.XmlWebApplicationContext Bean factory for application context [Root WebApplicationContext]: org.springframework.beans.factory.support.DefaultListableBeanFactorydefining beans []; root of BeanFactory hierarchy [10/24/05 12:57:57:256 EDT] 30d2432e XmlWebApplica I org.springframework.web.context.support.XmlWebApplicationContext No beans defined in application context [Root WebApplicationContext] [10/24/05 12:57:57:296 EDT] 30d2432e CollectionFac I org.springframework.core.CollectionFactory JDK 1.4+ collections available [10/24/05 12:57:57:346 EDT] 30d2432e CollectionFac I org.springframework.core.CollectionFactory Commons Collections 3.x available [10/24/05 12:57:57:366 EDT] 30d2432e XmlWebApplica I org.springframework.web.context.support.XmlWebApplicationContext Unable to locate MessageSource with name 'messageSource': using default [ [EMAIL PROTECTED] [10/24/05 12:57:57:386 EDT] 30d2432e XmlWebApplica I org.springframework.web.context.support.XmlWebApplicationContext Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [ [EMAIL PROTECTED] ] [10/24/05 12:57:57:396 EDT] 30d2432e UiApplication I org.springframework.ui.context.support.UiApplicationContextUtils No ThemeSource found for [Root WebApplicationContext]: using ResourceBundleThemeSource [10/24/05 12:57:57:426 EDT] 30d2432e DefaultListab I org.springframework.beans.factory.support.DefaultListableBeanFactoryPre-instantiating singletons in factory [ org.springframework.beans.factory.support.DefaultListableBeanFactorydefining beans []; root of BeanFactory hierarchy] [10/24/05 12:57:57:456 EDT] 30d2432e ContextLoader I org.springframework.web.context.ContextLoader Using context class [ org.springframework.web.context.support.XmlWebApplicationContext] for root WebApplicationContext [10/24/05 12:57:57:456 EDT] 30d2432e ContextLoader I org.springframework.web.context.ContextLoader Root WebApplicationContext: initialization completed in 731 ms [10/24/05 12:57:57:477 EDT] 30d2432e ClayConfigure I org.apache.shale.clay.config.ClayConfigureListener Begin loading config files. [10/24/05 12:57:57:537 EDT] 30d2432e ComponentConf I org.apache.shale.clay.config.beans.ComponentConfigBean Loading file "file:/C:/jsf/workspace/MyTest/WebContent/WEB-INF/lib/shale- clay.jar!/META-INF/clay-config.xml". [10/24/05 12:57:57:547 EDT] 30d2432e ClayXmlParser I org.apache.shale.clay.config.ClayXmlParser Loading digester rules. [10/24/05 12:57:57:757 EDT] 30d2432e ComponentConf I org.apache.shale.clay.config.beans.ComponentConfigBean Loading file "/C:/jsf/workspace/MyTest/WebContent/WEB-INF/clay-config.xml". [10/24/05 12:57:57:797 EDT] 30d2432e ComponentConf I org.apache.shale.clay.config.beans.ComponentConfigBean Begin resolving inheritance @:-< [10/24/05 12:57:57:807 EDT] 30d2432e ComponentConf I org.apache.shale.clay.config.beans.ComponentConfigBean Finding parents ?:-[ [10/24/05 12:57:57:807 EDT] 30d2432e ComponentConf I org.apache.shale.clay.config.beans.ComponentConfigBean Checking for circular inheritance %:-{ [10/24/05 12:57:57:807 EDT] 30d2432e ComponentConf I org.apache.shale.clay.config.beans.ComponentConfigBean Realizing heritage $:-< [10/24/05 12:57:57:817 EDT] 30d2432e ComponentConf I org.apache.shale.clay.config.beans.ComponentConfigBean Inheritance resolved @:-) [10/24/05 12:57:57:867 EDT] 30d2432e ClayConfigure I org.apache.shale.clay.config.ClayConfigureListener Done loading config file(s). [10/24/05 12:57:58:278 EDT] 30d2432e FacesConfigur I org.apache.myfaces.config.FacesConfigurator Reading standard config org/apache/myfaces/resource/standard-faces-config.xml [10/24/05 12:57:58:368 EDT] 30d2432e FacesConfigur I org.apache.myfaces.config.FacesConfigurator Reading config wsjar:file:/C:/jsf/workspace/MyTest/WebContent/WEB-INF/lib/myfaces- all.jar!/META-INF/faces-config.xml [10/24/05 12:57:58:418 EDT] 30d2432e FacesConfigur I org.apache.myfaces.config.FacesConfigurator Reading config wsjar:file:/C:/jsf/workspace/MyTest/WebContent/WEB-INF/lib/shale- clay.jar!/META-INF/faces-config.xml [10/24/05 12:57:58:428 EDT] 30d2432e FacesConfigur I org.apache.myfaces.config.FacesConfigurator Reading config wsjar:file:/C:/jsf/workspace/MyTest/WebContent/WEB-INF/lib/shale- core.jar!/META-INF/faces-config.xml [10/24/05 12:57:58:538 EDT] 30d2432e FacesConfigur I org.apache.myfaces.config.FacesConfigurator Reading config wsjar:file:/C:/jsf/workspace/MyTest/WebContent/WEB-INF/lib/shale- spring.jar!/META-INF/faces-config.xml [10/24/05 12:57:58:568 EDT] 30d2432e FacesConfigur I org.apache.myfaces.config.FacesConfigurator Reading config /WEB-INF/faces- config.xml [10/24/05 12:57:58:598 EDT] 30d2432e FacesConfigur I org.apache.myfaces.config.FacesConfigurator Reading config /WEB-INF/faces- config.xml [10/24/05 12:57:58:909 EDT] 30d2432e LocaleUtils E org.apache.myfaces.util.LocaleUtils Locale name null or empty, ignoring [10/24/05 12:57:58:959 EDT] 30d2432e ClayViewHandl I org.apache.shale.clay.faces.ClayViewHandler Loading Clay View Handler [10/24/05 12:58:00:581 EDT] 30d2432e StartupServle I org.apache.myfaces.webapp.StartupServletContextListener ServletContext 'C:\jsf\workspace\MyTest\WebContent' initialized. [10/24/05 12:58:00:581 EDT] 30d2432e WebGroup I SRVE0180I: [MyTest] [/.MyTest] [Servlet.LOG]: JSP 1.2 Processor: init [10/24/05 12:58:00:952 EDT] 30d2432e WebGroup I SRVE0180I: [MyTest] [/.MyTest] [Servlet.LOG]: SimpleFileServlet: init [10/24/05 12:58:00:972 EDT] 30d2432e WebGroup I SRVE0180I: [MyTest] [/.MyTest] [Servlet.LOG]: com_ibm_wps_AdminServlet: init [10/24/05 12:58:00:982 EDT] 30d2432e ApplicationMg A WSVR0221I: Application started: MyTestEAR My /WEB-INF/dialog-config.xml content is:
<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright 2004-2005 The Apache Software Foundation. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. $Id: dialog-config.xml 289940 2005-09-18 15:46:04Z wsmoak $ --> <!-- Dialog definitions for Shale Use Cases Example Web Application --> <!DOCTYPE dialogs PUBLIC "-//Apache Software Foundation//DTD Shale Dialog Configuration 1.0//EN" "http://struts.apache.org/dtds/shale-dialog-config_1_0.dtd"> <dialogs> <!-- Edit Profile Dialog --> <dialog name="DialogAddPerson" start="Setup"> <!-- Global transitioh definitions --> <transition outcome="cancel" target="Cancel"/> <action name="Setup" method="#{dummy.alwaysTrue}"> <transition outcome="true" target="Page 1"/> </action> <view name="Page 1" viewId="/add.html"> </view> <action name="Cancel" method="#{dummy.alwaysTrue}"> <transition outcome="true" target="Exit"/> </action> <end name="Exit" viewId="/view.html"/> </dialog> </dialogs> Did I miss something? Any help would be highly appreciated!