Hi Simon,
Thanks very much, I added this code to my web.xml
<context-param>
<param-name>org.apache.myfaces.SERIALIZE_STATE_IN_SESSION</param-name>
<param-value>false</param-value>
</context-param>
but still gives the same error.
Just a thought, if it is a Serialization Error why does it not
gives an Exception when trying to serialize and only when trying
to de-serialize ?
Thanks again
tonio
On Thu, 2005-12-22 at 18:35, Simon Kitching wrote:
> Hi Tonio,
>
> Hmm. Method restoreAttachedState is for recreating Validator and
> Listener objects that were serialized along with their attached
> UIComponent. I can't see any custom validators or listeners in your JSP
> snippet below, though. Perhaps you have some somewhere else?
>
>
> In the 1.1.1 release of MyFaces, when server-side state saving was
> enabled, no serialization of the view tree was done at all; the whole
> tree was just put into the session unserialized. Of course when using
> client-side state saving serialization *must* occur. And when clustering
> or hot-deploy is enabled in the container, all objects in the session
> need to be serializable.
>
> In the SVN trunk code, serialization is always enabled unless
> SERIALIZE_STATE_IN_SESSION is set to false in the web.xml file. You
> might like to try setting this option to false and seeing if this fixes
> your problem. Of course if it does, that means that your code will *not*
> work if you ever enable hot-deploy or clustering as your http session
> info cannot be saved to disk or transferred to other servers.
>
> Alternatively, try enabling client-side state saving in your Sun RI
> environment and see whether your code breaks. I suspect it will.
>
> I suspect that the Sun RI works like MyFaces 1.1.1, ie doesn't bother to
> serialize the view state on the server. This means that the fact that
> your code isn't correctly serializable isn't actually noticed.
>
> Regards,
>
> Simon
>
> Tonio Caputo wrote:
> > Hi everybody,
> >
> > First of all, thank you very much.
> >
> > One thing to remember, this application is actually running
> > correctly with Sun reference implementation, I'm not using
> > any of MyFaces particularities.
> >
> >
> > Here goes the full stack trace, and some code snippets:
> >
> > java "Pages" are managed-beans with managed-scope -> Request.
> >
> > -------------------------------------------------------------------
> > ### - STACK TRACE
> > -------------------------------------------------------------------
> > 2005-12-22 12:59:52 StandardWrapperValve[Faces Servlet]:
> > Servlet.service() for servlet Faces Servlet threw exception
> > java.lang.RuntimeException: Could not restore StateHolder of type
> > com.avivacanada.pampa.util.jsf.BasePageBean$1 (missing no-args
> > constructor?)
> > at
> > javax.faces.component.UIComponentBase.restoreAttachedState(UIComponentBase.java:655)
> > at
> > javax.faces.component.UIComponentBase.restoreAttachedState(UIComponentBase.java:641)
> > at
> > javax.faces.component.UIComponentBase.restoreState(UIComponentBase.java:696)
> > at javax.faces.component.UICommand.restoreState(UICommand.java:188)
> > at
> > javax.faces.component.html.HtmlCommandButton.restoreState(HtmlCommandButton.java:421)
> > at
> > javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:511)
> > at
> > javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:502)
> > at
> > javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:502)
> > at
> > org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreComponentState(JspStateManagerImpl.java:129)
> > at
> > org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateManagerImpl.java:185)
> > at
> > org.apache.myfaces.application.jsp.JspViewHandlerImpl.restoreView(JspViewHandlerImpl.java:255)
> > at
> > org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:124)
> > at
> > org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:66)
> > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
> > at
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
> > at
> > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> > at
> > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > at
> > org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
> > at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
> > at
> > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> > at
> > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
> > at
> > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> > at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
> > at
> > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
> > at
> > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> > at
> > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> > at
> > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > at
> > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> > at
> > org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
> > at
> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
> > at
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
> > at
> > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
> > at
> > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
> > at java.lang.Thread.run(Thread.java:534)
> > Caused by: java.lang.InstantiationException:
> > com.avivacanada.pampa.util.jsf.BasePageBean$1
> > at java.lang.Class.newInstance0(Class.java:293)
> > at java.lang.Class.newInstance(Class.java:261)
> > at
> > javax.faces.component.UIComponentBase.restoreAttachedState(UIComponentBase.java:651)
> > ... 37 more
> >
> >
> > -------------------------------------------------------------------
> > ### - JAVA CLASSES
> > -------------------------------------------------------------------
> >
> > public class PageReferReason
> > extends BasePageBean
> > {
> > // =================================================================
> > // Components Definition
> > // =================================================================
> >
> > private HtmlForm formMain = new HtmlForm();
> >
> > .............
> > HtmlSelectOneMenu fCmbReferReason = new HtmlSelectOneMenu();
> > PmpLabel fLblVerbose = new PmpLabel();
> > HtmlInputTextarea fTaVerbose = new HtmlInputTextarea();
> > ..........
> > UISelectItems itmReferReason = new UISelectItems();
> >
> > public PageReferReason()
> > {
> > ........
> > }
> >
> > // =================================================================
> > // Getter and Setters
> > // =================================================================
> >
> > // Combo/List items
> > public UISelectItems getItmReferReason() {
> > return itmReferReason;
> > }
> > public void setItmReferReason(UISelectItems pList) {
> > itmReferReason = pList;
> > }
> >
> >
> > // Page components
> > public HtmlForm getForm() {
> > return formMain;
> > }
> > public void setForm(HtmlForm pComp) {
> > formMain = pComp;
> > }
> >
> > public HtmlSelectOneMenu getReferReason() {
> > return fCmbReferReason;
> > }
> > public void setReferReason(HtmlSelectOneMenu pComp) {
> > fCmbReferReason = pComp;
> > }
> >
> > public PmpLabel getLblVerbose() {
> > return fLblVerbose;
> > }
> > public void setLblVerbose(PmpLabel pComp) {
> > fLblVerbose = pComp;
> > }
> >
> > public HtmlInputTextarea getVerbose() {
> > return fTaVerbose;
> > }
> > public void setVerbose(HtmlInputTextarea pComp) {
> > fTaVerbose = pComp;
> > }
> >
> > .................
> > }
> >
> >
> > public abstract class BasePageBean implements ItfControlledComp
> > {
> > public BasePageBean() {
> > ...........
> > toolsActions();
> > }
> >
> > ...........
> > /** help option ================================== */
> > private HtmlCommandButton _fbtnMainHelpBtn = new HtmlCommandButton();
> > public HtmlCommandButton getMainHelpBtn()
> > {
> > return this._fbtnMainHelpBtn;
> > }
> >
> > public void setMainHelpBtn(HtmlCommandButton pMainHelpBtn)
> > {
> > this._fbtnMainHelpBtn = pMainHelpBtn;
> > }
> >
> > /** logout option ================================== */
> > private HtmlCommandButton _fbtnMainLogoutBtn =
> > new HtmlCommandButton();
> > public HtmlCommandButton getMainLogoutBtn()
> > {
> > return this._fbtnMainLogoutBtn;
> > }
> >
> > public void setMainLogoutBtn(HtmlCommandButton pMainLogoutBtn)
> > {
> > this._fbtnMainLogoutBtn = pMainLogoutBtn;
> > }
> >
> > ...............................
> >
> > public void toolsActions()
> > {
> > _fbtnMainLogoutBtn.addActionListener(new ActionListener()
> > {
> > public void processAction(ActionEvent e)
> > {
> > enqueueUG(new UserGesture(UserGesture.SIGN_OUT,this,null));
> > }
> > });
> >
> > _fbtnMainHelpBtn.addActionListener(new ActionListener()
> > {
> > public void processAction(ActionEvent e)
> > {
> > enqueueUG(new UserGesture(UserGesture.HELP,this,null));
> > }
> > });
> > }
> >
> > }
> >
> > -------------------------------------------------------------------
> > ### - JSP PAGE
> > -------------------------------------------------------------------
> >
> > <f:view>
> > <html>
> > ..............
> > <body>
> > <h:form onkeypress="return blockEnter(event);"
> > binding="#{PageReferReason.form}" id="form">
> >
> > <div class="avivaLogo">
> > .................
> > <h:commandButton
> > binding="#{PageReferReason.mainLogoutBtn}"/>
> > .................
> > <h:commandButton
> > binding="#{PageReferReason.mainHelpBtn}"/>
> > .................
> > </div>
> >
> > <div class="mainDiv">
> >
> > <!-- Combo: PageReferReason.referReason ====================-->
> > <h:selectOneMenu binding="#{PageReferReason.referReason}"
> > id="referReason">
> > <f:selectItems id="itmReferReason"
> > binding="#{PageReferReason.itmReferReason}"/>
> > </h:selectOneMenu>
> > <h:outputText binding="#{PageReferReason.lblVerbose}"
> > id="lblVerbose"/>
> > <h:inputTextarea binding="#{PageReferReason.verbose}"
> > id="verbose"/>
> > ..........................
> > </div>
> > </h:form>
> > ......
> > </body>
> > </html>
> > </f:view>
> >
> >
--
Tonio Caputo
[EMAIL PROTECTED]
4864-4154