Anyway, I don't really understand, why is the ejb object actually being 
serialized. Do you store your service objects in session?

-Matej

Igor Vaynberg wrote:
> well, the problem might be that it is serialized by wicket itself.
> this is done because you have the logger set to debug to help identify
> things you put into session that might not be serializable. maybe the
> container doesnt serialize the same way so when the container does it
> its not a problem, but when wicket does it it is a problem.
> 
> -Igor
> 
> 
> On 7/5/06, Vincent Jenks <[EMAIL PROTECTED]> wrote:
>> I don't know, I would believe that if I weren't able to make a
>> Stateful bean and use it exactly how I did in Wicket, outside of this
>> project.
>>
>> I setup a test project and their stateful/stateless beans work
>> flawlessly when tested against JSP/Servlets....the problem arises w/
>> Wicket + SFSB on Glassfish.
>>
>> On 7/5/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
>>> Caused by: java.io.NotSerializableExcepti
>>> on:
>>> com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate
>>>         at
>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
>>>
>>> looks like a bug in sun's impl of ejbs?
>>>
>>> -Igor
>>>
>>>
>>>
>>> On 7/5/06, Vincent Jenks <[EMAIL PROTECTED] > wrote:
>>> I'm testing an app I just finished and is currently running on JBoss
>>>  on Sun's Glassfish (SJAS 9.0) to test compatibility and see if it's a
>>> viable option going forward w/ our enterprise efforts.
>>>
>>> I seem to be having an issue w/ storing objects in session.  Wicket
>>> runs fine until I utilize the overridden ISessionFactory to store
>>> objects - then I start getting exceptions like this:
>>>
>>> **********************************************************************
>>>
>>> StandardWrapperValve[ProductCatalogApp]: Servlet.service()
>>> for servlet
>>> ProductCatalogApp threw exception
>>> wicket.WicketRuntimeException: Internal error cloning object. Make
>>> sure all dependent objects implement Serializable. Class:
>>> com.myapp.ui.admin.UserSession
>>>         at
>>> wicket.protocol.http.HttpSessionStore.setAttribute
>>> (HttpSessionStore.java:62)
>>>         at wicket.Session.setAttribute(Session.java:914)
>>>         at wicket.Session.update(Session.java:938)
>>>         at
>>> wicket.protocol.http.WebSession.update(WebSession.java:116)
>>>         at wicket.RequestCycle.detach(RequestCycle.java:818)
>>>         at wicket.RequestCycle.steps(RequestCycle.java:1052)
>>>         at wicket.RequestCycle.request(RequestCycle.java:453)
>>>         at wicket.protocol.http.WicketServlet.doGet
>>> (WicketServlet.java:215)
>>>         at
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
>>>         at
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>>>         at
>>> org.apache.catalina.core.ApplicationFilterChain.servletService
>>> (ApplicationFilterChain.java:397)
>>>         at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)
>>>         at
>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
>>>         at
>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
>>>         at
>>> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
>>>         at
>>> org.apache.catalina.core.StandardContextValve.invoke
>>> (StandardContextValve.java:179)
>>>         at
>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
>>>         at
>>> com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
>>>         at
>>> org.apache.catalina.core.StandardHostValve.invoke
>>> (StandardHostValve.java:182)
>>>         at
>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
>>>         at
>>> com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
>>>          at
>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
>>>         at
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
>>>         at
>>> org.apache.catalina.core.StandardPipeline.doInvoke
>>> (StandardPipeline.java:566)
>>>         at
>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
>>>         at
>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
>>>         at org.apache.coyote.tomcat5.CoyoteAdapter.service
>>> (CoyoteAdapter.java:231)
>>>         at
>>> com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
>>>         at
>>> com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java
>>> :574)
>>>         at
>>> com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
>>>         at
>>> com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
>>>         at
>>> com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
>>>         at
>>> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
>>>         at
>>> com.sun.enterprise.web.connector.grizzly.WorkerThread.run
>>> (WorkerThread.java:75)
>>> Caused by: java.io.NotSerializableException:
>>> com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate
>>>         at
>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
>>>          at
>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
>>>         at
>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
>>>         at java.io.ObjectOutputStream.writeOrdinaryObject
>>> (ObjectOutputStream.java:1284)
>>>         at
>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
>>>         at
>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
>>>         at java.io.ObjectOutputStream.writeSerialData
>>> (ObjectOutputStream.java:1341)
>>>         at
>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
>>>         at
>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
>>>         at java.io.ObjectOutputStream.writeObject
>>> (ObjectOutputStream.java:291)
>>>         at
>>> wicket.protocol.http.HttpSessionStore.setAttribute(HttpSessionStore.java:56)
>>>         ... 33 more
>>>
>>> **********************************************************************
>>>
>>> The ProductCatalogApp (my wicket application class) looks like this:
>>>
>>> public class ProductCatalogApp extends WebApplication
>>> {
>>>         public void init()
>>>         {
>>>                 //create external images resource
>>>                 getSharedResources().add("imageResource",
>>> new ImageResource());
>>>
>>>                 //start timer services
>>>                 TimerProxy.init();
>>>         }
>>>
>>>         public Class getHomePage()
>>>         {
>>>                 return ProductCatalog.class;
>>>         }
>>>
>>>         public ISessionFactory getSessionFactory()
>>>         {
>>>                 return new ISessionFactory()
>>>                 {
>>>                         public Session newSession()
>>>                         {
>>>                                 return new
>>> UserSession(ProductCatalogApp.this);
>>>                         }
>>>                 };
>>>         }
>>> }
>>>
>>> UserSession looks like this:
>>>
>>> public class UserSession extends WebSession
>>> {
>>>         private User user;
>>>         private ShoppingCart cart;
>>>
>>>         public UserSession(WebApplication application)
>>>         {
>>>                 super(application);
>>>         }
>>>
>>>         public User getUser()
>>>         {
>>>                 return this.user;
>>>         }
>>>
>>>         public void setUser(User user)
>>>         {
>>>                 this.user = user;
>>>                 dirty();
>>>         }
>>>
>>>         public boolean authenticated()
>>>         {
>>>                 if (this.getUser() == null)
>>>                         return false;
>>>                 else
>>>                         return true;
>>>         }
>>>
>>>         public ShoppingCart getCart()
>>>         {
>>>                 return this.cart;
>>>         }
>>>
>>>         public void setCart(ShoppingCart cart)
>>>         {
>>>                 this.cart = cart;
>>>                 dirty();
>>>         }
>>> }
>>>
>>> And all classes used in the UserSession class are serializable...I
>>> even made the stateful ShoppingCartBean serializable (the User entity
>>> already was) and it makes no difference.  I'm fairly sure something
>>> goes wrong w/ the Stateful ShoppingCartBean as I can login and use the
>>> UserSession class (above) just fine - user authentication isn't
>>> affected.  Once I add items to my cart I get the exception and from
>>> that point on - nothing session-based works and I get the exception if
>>> I try to login again...or do anything that accesses the UserSession
>>> class.
>>>
>>> Basically, I think Wicket + SFSB in Glassfish's EJB3 implementation
>>> aren't playing nice together somehow...and I thought I'd get your
>>> guys' opinions before I posted something on their forum.
>>>
>>> Thanks!
>>>
>>> -v
>>>
>>> Using Tomcat but need to do more? Need to support web services, security?
>>> Get stuff done quickly with pre-integrated technology to make your job
>>> easier
>>> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
>>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>>> _______________________________________________
>>> Wicket-user mailing list
>>> Wicket-user@lists.sourceforge.net
>>>  https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>
>>>
>>> Using Tomcat but need to do more? Need to support web services, security?
>>> Get stuff done quickly with pre-integrated technology to make your job
>>> easier
>>> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
>>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>>>
>>>
>>> _______________________________________________
>>> Wicket-user mailing list
>>> Wicket-user@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>
>>>
>>>
>> Using Tomcat but need to do more? Need to support web services, security?
>> Get stuff done quickly with pre-integrated technology to make your job easier
>> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>> _______________________________________________
>> Wicket-user mailing list
>> Wicket-user@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>
> 
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
> 


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to