Dimitris Mouchritsas wrote:
Hi all,
we've recently upgraded our j2ee application to use struts 1.3.8 and
we're getting a weird exception when trying to
upload a file. Here's the jsp:
testFileUpload.jsp
=================================================================================================
<%@ page contentType="text/html;charset=utf-8"%>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles"%>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic"%>
<html:xhtml />
<html:form method="post" action="test/prepareTestFileUpload"
enctype="multipart/form-data"> <p>
<label for="Attachment" class="w33">
<span class="Mandatory">*</span> Attachment:
</label>
<html:file property="attachment" styleId="Attachment"
styleClass="w33" size="40" />
</p>
<p><button type="submit">Save changes</button> </p>
</html:form>
===================================================================================================
Here's the action:
//------------------------------------------------------------------------------
//$Id: PrepareTestFileUploadAction.java,v 1.1 2008/06/30 12:26:53 kshe
Exp $
//$Author: kshe $
//$Date: 2008/06/30 12:26:53 $
//$Revision: 1.1 $
//------------------------------------------------------------------------------
package my.company.web.actions.test;
import java.rmi.RemoteException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import my.company.web.actions.common.BaseAction;
import my.company.web.forms.TestUploadForm;
/**
* @custom.security-filter operation="public"
*
* @struts.action path="/test/prepareTestFileUpload"
* name="testUploadForm"
input="/test/prepareTestFileUpload"
*
* @struts.action-forward name="goForward" path="test.file.upload"
*/
public class PrepareTestFileUploadAction extends BaseAction {
private static Logger log =
Logger.getLogger(PrepareTestFileUploadAction.class);
public PrepareTestFileUploadAction() {
super();
}
public ActionForward doExecute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws RepException, RemoteException {
String forward = "goForward";
TestUploadForm testForm = (TestUploadForm)form;
FormFile file = testForm.getAttachment();
if (file != null) {
log.debug("File: " + file.getFileName());
} else {
log.debug("File == null");
}
return mapping.findForward(forward);
}
}
It seems we're able to get the filename on the server side, but when
it tries to go forward
here's the exception we get:
Caused by: javax.servlet.ServletException: JAAS-OC4J:
JAZNFilter.doFilter - unable to find the current servlet
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
at
com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:663)
at
com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
at
com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:222)
at
org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:113)
at
org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96)
at
org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54)
at
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
at oracle.security.jazn.oc4j.JAZNFilter$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
at
com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
at
com.ed.ecomm.edcore.web.filters.SecurityFilter.doFilter(SecurityFilter.java:196)
at
com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)
at
com.ed.ecomm.edcore.web.filters.MonitoringFilter.doFilter(MonitoringFilter.java:138)
at
com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)
at
com.ed.ecomm.edcore.web.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:92)
at
com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)
at
com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
at
com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
... 4 more
-----
Any ideas what could be wrong?
Thanks
Dimitris
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
I added some code and I can see that I get the filename from the
formbean FormFile. But when it tries to
forward to the next action we get the exception. Any ideas?
Dimitris
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]