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.

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