Hello,

I have found a set of new problems using the Administration interface.
My web application has the '<distributable/>' flag set in the web.xml. This forces the OC4J to check whether the attributes put into the httpsession are Serializable.

I get exceptions like this using the admin interface:
Caused by: java.lang.IllegalArgumentException: Only java.io.Serializable, javax.ejb.EJBObject and javax.ejb.EJBHome instances can be bound to a session in a distributable web-application, not: [EMAIL PROTECTED] (class org.apache.axis2.description.AxisService) at com.evermind.server.http.EvermindHttpSession.setAttribute(EvermindHttpSession.java:97) at org.apache.axis2.transport.http.AdminAgent.processEditServicePara(AdminAgent.java:224)
The same problem with Iterator, PhaseInfo, etc.

It seems that the AdminAgent class puts the information into the httpsession before it sends to the view jsps. The views take it from the httpsession and then clear the session attribute.
Changing the pattern
AdminAgent: req.getSession().setAttribute(name, value),
JSP: value = req.getSession().getAttribute(name); req.getSession().setAttribute(name, null);
to
AdminAgent: req.setAttribute(name, value),
JSP: value = req.getAttribute(name);
solves the problem.

Regards,
Laszlo


Reply via email to