wicket stuff contains a wicket-jee module which supports injecting ejb
beans into wicket components the same way that wicket-spring injects
wicket beans.

-igor

On Wed, Nov 18, 2009 at 10:37 PM, Pieter Degraeuwe
<pieter.degrae...@systemworks.be> wrote:
> Your cart has a reference to the sessionBean ShopingCart. This is not
> allowed, however. The IOC incjectionsupport makes this possible by wrapping
> this EJB reference with a serializable proxy.
>
> I only have expecience with wicket-spring end it works great. (In your case,
> define your ejb reference in spring and inject it via wicket-spring support
> in your page.
> problem solved!
>
> Pieter
>
> On Wed, Nov 18, 2009 at 10:50 PM, VGJ <zambi...@gmail.com> wrote:
>
>> I'm completely at wits end here and I hope someone can point out what's
>> wrong.
>>
>> I've got an e-commerce application that is simply moving between two pages
>> using setRedirectPage() when going from a product detail page to the
>> shopping cart page.  There isn't anything remarkable about either of these
>> two pages, they're basically like any other in the app.  However, when the
>> cart page loads, I get the exception at the bottom of this message.
>>
>> I've tried implementing Serializable on the Cart() page class but it makes
>> no difference.  It points out
>> "com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate" as the
>> culprit.  I use a stateful session bean (ShoppingCart) which is passed
>> around the app as part of the session (custom WebSession-derived class)
>>
>> This is the only page this occurs on.  There are several other steps in the
>> cart's checkout process that look exactly like this one and the exception
>> doesn't happen on any of the others
>>
>> Any ideas?
>>
>> Exception:
>>
>> 25717 [httpSSLWorkerThread-8080-1] ERROR
>> org.apache.wicket.util.lang.Objects
>> - Error serializing object class com.myapp.ui.Cart [object=[Page class =
>> com.myapp.ui.Cart, id = 3, version = 0]]
>>
>> org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException:
>> Unable to serialize class:
>> com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate
>> Field hierarchy is:
>>  3 [class=com.myapp.ui.Cart, path=3]
>>    private java.lang.Object org.apache.wicket.MarkupContainer.children
>> [class=[Ljava.lang.Object;]
>>      private
>> org.apache.wicket.markup.html.ContainerWithAssociatedMarkupHelper
>>
>> org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup.markupHelper[6]
>> [class=org.apache.wicket.markup.html.form.Form, path=3:cartForm]
>>        private java.lang.Object org.apache.wicket.MarkupContainer.children
>> [class=[Ljava.lang.Object;]
>>          private java.lang.Object
>> org.apache.wicket.MarkupContainer.children[0] [class=com.myapp.ui.Cart$1,
>> path=3:cartForm:orderLinesView]
>>            final com.myapp.session.ShoppingCartLocal
>> com.myapp.ui.Cart$1.val$cart [class=$Proxy92]
>>              protected java.lang.reflect.InvocationHandler
>> java.lang.reflect.Proxy.h
>> [class=com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate]
>> <----- field that is not serializable
>>        at
>>
>> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:346)
>>        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.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:392)
>>        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:392)
>>        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.java:684)
>>        at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
>>        at
>>
>> org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:129)
>>        at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
>>        at
>> org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1120)
>>        at
>>
>> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:203)
>>        at
>>
>> org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:840)
>>        at
>>
>> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:332)
>>        at org.apache.wicket.Session.requestDetached(Session.java:1404)
>>        at org.apache.wicket.RequestCycle.detach(RequestCycle.java:1176)
>>        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1454)
>>        at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
>>        at
>> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:456)
>>        at
>>
>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:289)
>>        at
>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
>>        at
>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
>>        at
>>
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
>>        at
>>
>> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
>>        at
>>
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
>>        at
>>
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>>        at
>>
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>>        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
>>        at
>>
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
>>        at
>>
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>>        at
>>
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>>        at
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
>>        at
>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
>>        at
>>
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
>>        at
>>
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>>        at
>>
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>>        at
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
>>        at
>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
>>        at
>> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
>>        at
>>
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
>>        at
>>
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
>>        at
>>
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
>>        at
>>
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
>>        at
>>
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
>>        at
>>
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
>>        at
>> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
>>        at
>>
>> com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
>> Caused by: java.io.NotSerializableException:
>> com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
>>        at
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
>>        at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
>>        at
>>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>>        at
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
>>        at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
>>        at
>>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>>        at
>> java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
>>        at
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
>>        at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
>>        at
>>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>>        at
>> java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
>>        at
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
>>        at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
>>        at
>>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>>        at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
>>        at
>>
>> org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121)
>>        ... 38 more
>>
>
>
>
> --
> Pieter Degraeuwe
> Systemworks bvba
> Belgiëlaan 61
> 9070 Destelbergen
> GSM: +32 (0)485/68.60.85
> Email: pieter.degrae...@systemworks.be
> visit us at http://www.systemworks.be
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to