[EMAIL PROTECTED] wrote:

> FYI anyone working in VAJ with the WTE (EJBs etc), passing ActionForms to
> EJB methods. We are hoping to find the actual either VAJ error or
> non-serializable object details.
>

Could you try an experiment?  Does making the "servlet" variable in ActionForm 
transient solve this?  (I imagine
the same issue would come up if the multipartRequestHandler variable was non-null.

Craig


>
> The workaround for this at the moment is to save the ActionServlet object
> from the form bean and then set it to null, send the form bean off to the
> ejb then when the ejb has finished with it put the saved ActionServlet back
> into the form bean. Like so:
>
> ActionServlet as = form.getServlet();
> form.setServlet(null);
>
> and then at the end of your try/catch you need a finally:
>
> finally
> {
>      form.setServlet(as);
> }
>
> Internal Servlet Error:
> java.io.IOException: Serializable readObject method failed internally
>            java.lang.Throwable(java.lang.String)
>            java.lang.Exception(java.lang.String)
>            java.io.IOException(java.lang.String)
>            void
> com.ibm.rmi.io.IIOPOutputStream.throwExceptionType(java.lang.Class,
> java.lang.String)
>            void
> com.ibm.rmi.io.IIOPOutputStream.simpleWriteObject(java.lang.Object)
>            void
> com.ibm.rmi.io.ValueHandlerImpl.writeValueInternal(com.ibm.rmi.io.IIOPOutputStream,
>
> org.omg.CORBA_2_3.portable.OutputStream, java.io.Serializable)
>            void
> com.ibm.rmi.io.ValueHandlerImpl.writeValue(org.omg.CORBA.portable.OutputStream,
>
> java.io.Serializable)
>            void
> com.ibm.rmi.iiop.CDROutputStream.write_value(java.io.Serializable)
>            void
> com.ibm.rmi.iiop.CDROutputStream.write_value(java.io.Serializable,
> java.lang.Class)
>            com.ibm.tricon.User com.ibm.tricon.userprofile.ejb.
> _User_BaseStub.updateUser(au.com.tricon.web.UserPageForm)
>            com.ibm.tricon.User com.ibm.tricon.userprofile.ejb.
> _User_Stub.updateUser(au.com.tricon.web.UserPageForm)
>            com.ibm.tricon.User
> 
>com.ibm.tricon.userprofile.ejb.UserAccessBean.updateUser(au.com.tricon.web.UserPageForm)
>
>            org.apache.struts.action.ActionForward
> au.com.tricon.web.ModifyUserAction.perform(org.apache.struts.action.ActionMapping,
>
> org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest,
> javax.servlet.http.HttpServletResponse)
>            org.apache.struts.action.ActionForward
> 
>org.apache.struts.action.ActionServlet.processActionPerform(org.apache.struts.action.Action,
>
> org.apache.struts.action.ActionMapping,
> org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest,
> javax.servlet.http.HttpServletResponse)
>            void
> org.apache.struts.action.ActionServlet.process(javax.servlet.http.HttpServletRequest,
>
> javax.servlet.http.HttpServletResponse)
>            void
> org.apache.struts.action.ActionServlet.doPost(javax.servlet.http.HttpServletRequest,
>
> javax.servlet.http.HttpServletResponse)
>            void
> javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest,
>
> javax.servlet.http.HttpServletResponse)
>            void
> javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest,
> javax.servlet.ServletResponse)
>            void
> org.apache.tomcat.core.ServletWrapper.handleRequest(org.apache.tomcat.core.Request,
>
> org.apache.tomcat.core.Response)
>            void
> org.apache.tomcat.core.ContextManager.service(org.apache.tomcat.core.Request,
>
> org.apache.tomcat.core.Response)
>            void
> 
>org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(org.apache.tomcat.service.TcpConnection,
>
> java.lang.Object [])
>            void org.apache.tomcat.service.TcpConnectionThread.run()
>            void java.lang.Thread.run()
>
> --
> dIon Gillard, Multitask Consulting
> Work:      http://www.multitask.com.au
> NetRexx: http://www.multitask.com.au/NetRexx.nsf

Reply via email to