Ok...so here is the LoginPanel class...with the constructor i was referring
to .. further the implementation for I_LoginService (i.e. LoginService...on
which the serializable error is pointing to) is being passed over from the
caller component...


public class LoginPanel extends Panel {

        LoginVO loginVO = null;

        public LoginPanel(String id, final String targetPage, final 
I_LoginService
loginServiceHandler) {
                super(id);
                loginVO = new LoginVO();
                setModel(new CompoundPropertyModel(loginVO));

                Form loginForm = new Form("loginForm") {
                        protected void onSubmit() {
                                        
loginServiceHandler.authenticate(loginVO.getUserName(),
loginVO.getPassword());
                        }
                };

                loginForm.add(new RequiredTextField("userName"));
                loginForm.add(new PasswordTextField("password"));

                Button loginButton = new Button("loginButton") {
                        public void onSubmit() {
                        }
                };

                loginForm.add(loginButton);
                add(loginForm);

        }



mfs wrote:
> 
> Guys,
> 
> Not sure why, but wicket is giving me an error "Field that is not
> serializable" on one of constructor attributes (of a panel) which is an
> implementation to an interface...i wonder why is that ? The attribute is
> not used as a model or anything its just a serviceHandler which i am
> passing to the page-component.
> 
> Error log
> ----
> 
>             private final org.xyz.login.api.I_LoginService
> org.xyz.login.web.LoginPane
> l$1.val$loginServiceHandler [class=org.xyz.service.LoginService] <-----
> field that is
> not serializable
>         at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:347)
>         at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>         at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>         at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:393)
>         at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>         at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>         at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:393)
>         at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>         at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>         at
> org.apache.wicket.util.io.SerializableChecker.writeObjectOverride(SerializableChecker.jav
> a:683)
>         at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
>         at
> org.apache.wicket.util.io.IObjectStreamFactory$1.writeObjectOverride(IObjectStreamFactory
> .java:74)
>         at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
>         at
> org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1103)
>         at
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageSto
> re.java:200)
>         at
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:700)
> 
>         at
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(
> SecondLevelCacheSessionStore.java:340)
>         at org.apache.wicket.Session.requestDetached(Session.java:1412)
>         at org.apache.wicket.RequestCycle.detach(RequestCycle.java:957)
>         at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1195)
>         at org.apache.wicket.RequestCycle.request(RequestCycle.java:500)
>         at
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:261)
>         at
> org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:126)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
> ava:290)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>         at
> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
>         at
> org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:209)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>         at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.ja
> va:581)
>         at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: java.io.NotSerializableException:
> taxcient.registration.service.LoginService
>         at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
>         at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
>         at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
>         at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
>         at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>         at
> java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)
>         at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
>         at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
>         at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
>         at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
>         at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>         at
> java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)
>         at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
>         at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
>         at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
>         at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
>         at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>         at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>         at
> org.apache.wicket.util.io.IObjectStreamFactory$1.writeObjectOverride(IObjectStreamFactory
> 

-- 
View this message in context: 
http://www.nabble.com/Getting-Error-%22Field-not-serializable%22-on-one-of-the-constructor-attrib---tp14327323p14328035.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to