1 Reply Latest reply on Mar 1, 2011 5:22 AM by Ilya Shaikovsky

    <rich:graphValidator> and NotSerializableException

    Jesper Vrelits Newbie

      Hi!

       

      Trying <rich:graphValidator) in RF 4-M6, but always gets:

       

      java.io.NotSerializableException: org.richfaces.validator.BeanValidatorServiceImpl
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
      at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
      at java.util.HashMap.writeObject(HashMap.java:1195)
      at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
      at com.sun.faces.renderkit.ClientSideStateHelper.doWriteState(ClientSideStateHelper.java:325)
      at com.sun.faces.renderkit.ClientSideStateHelper.writeState(ClientSideStateHelper.java:173)
      at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:124)
      at com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:161)
      at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225)
      at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:416)
      at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134)
      at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:275)
      at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
      at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
      at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:2

       

      I've tried putting implements Serialiable on bean but to no avail.

       

      xhtml:

      <rich:collapsiblePanel header="#{dps_msgs['filter']}" switchType="client">

                      <rich:graphValidator value="#{adminLogController.form}">

                          <rich:messages/>

                          <h:panelGrid columns="2">

                              <h:outputLabel value="#{dps_msgs['from']}" for="from"/>

                              <h:panelGroup>

                                  <rich:calendar id="from" value="#{adminLogController.form.from.time}" enableManualInput="true"

                                                 datePattern="dd.MM.yyyy">

                                      <!-- rich:validator/ -->

                                  </rich:calendar>

                                  <rich:message for="from"/>

                              </h:panelGroup>

                              <h:outputLabel value="#{dps_msgs['to']}" for="to"/>

                              <h:panelGroup>

                                  <rich:calendar id="to" value="#{adminLogController.form.to.time}" enableManualInput="true"

                                                 datePattern="dd.MM.yyyy">

                                      <!-- rich:validator/ -->

                                  </rich:calendar>

                                  <rich:message for="to"/>

                              </h:panelGroup>

                              <h:outputLabel value="#{dps_msgs['level']}" for="levels"/>

                              <h:panelGroup>

                                  <h:selectManyCheckbox id="levels" value="#{adminLogController.form.levels}">

                                      <f:selectItems value="#{adminLogController.form.allLevels}"/>

                                      <rich:validator/>

                                  </h:selectManyCheckbox>

                                  <rich:message for="levels"/>

                              </h:panelGroup>

                              <h:outputLabel value="#{dps_msgs['environment']}" for="environment"/>

                              <h:panelGroup>

                                  <h:selectOneMenu id="environment" value="#{adminLogController.form.environment}">

                                      <f:selectItems value="#{environmentHelper.allEnvironments}"/>

                                      <rich:validator/>

                                  </h:selectOneMenu>

                                  <rich:message for="environment"/>

                              </h:panelGroup>

                          </h:panelGrid>

                      </rich:graphValidator>

                      <h:commandButton value="#{dps_msgs['update']}"/>

                  </rich:collapsiblePanel>

       

      I use Spring beans as backing beans by the way.