Problem with FileUpload
ibmoreno May 26, 2008 9:07 AMIt is with this error when I upload, which may be suspect because I have a PhaseListener implementation for authentication, in other application works.
implementation of the code PhaseListener
package br.gov.mt.seguranca.simp.application;
import javax.faces.application.NavigationHandler;
import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import br.gov.mt.seguranca.simp.action.Constants;
import br.gov.mt.seguranca.simp.service.AuthenticationBean;
import br.gov.mt.seguranca.simp.service.AuthenticationStatus;
import br.gov.mt.seguranca.simp.service.LoginService;
public class SimpPhaseListener implements PhaseListener {
private static final long serialVersionUID = 6399816010554236845L;
private LoginService loginService;
public void afterPhase(PhaseEvent event) {
FacesContext facesContext = event.getFacesContext();
// recupera o AuthenticationBean da sessao
AuthenticationBean authenticationBean = (AuthenticationBean) facesContext
.getExternalContext().getSessionMap().get(
Constants.AUTHENTICATION_BEAN);
if (authenticationBean == null) {
// caso de nao existir cria
if (loginService == null) {
ApplicationContext applicationContext = WebApplicationContextUtils
.getRequiredWebApplicationContext((ServletContext) FacesContext
.getCurrentInstance().getExternalContext()
.getContext());
loginService = (LoginService) applicationContext
.getBean("loginService");
}
authenticationBean = loginService.getAuthenticationBean();
// seta o AuthenticationBean na sessao
facesContext.getExternalContext().getSessionMap().put(
Constants.AUTHENTICATION_BEAN, authenticationBean);
}
if (authenticationBean.getIp() == null) {
// seta o endereco IP client no AuthenticationBean
HttpServletRequest httpServletRequest = (HttpServletRequest) facesContext
.getExternalContext().getRequest();
authenticationBean.setIp(httpServletRequest.getRemoteAddr());
}
// verifica se está na pagina de login
boolean pageLogin = (facesContext.getViewRoot().getViewId()
.lastIndexOf("login") > -1);
if (!pageLogin
&& !authenticationBean.getAuthenticationStatus().equals(
AuthenticationStatus.AUTENTICADO)) {
NavigationHandler navigationHandler = facesContext.getApplication()
.getNavigationHandler();
// verifica o status do AuthenticationBean
switch (authenticationBean.getAuthenticationStatus()) {
case AGUARDANDO_LOGIN:
navigationHandler.handleNavigation(facesContext, null,
Constants.ACTION_LOGIN);
break;
case AGUARDANDO_AUTENTICACAO:
navigationHandler.handleNavigation(facesContext, null,
Constants.ACTION_LOGIN_TOKEN);
break;
case AGUARDANDO_ALTERACAO_SENHA:
navigationHandler.handleNavigation(facesContext, null,
Constants.ACTION_ALTERAR_SENHA);
break;
case AGUARDANDO_AUTENTICACAO_SENHA:
navigationHandler.handleNavigation(facesContext, null,
Constants.ACTION_AUTENTICAR_SENHA);
break;
}
}
}
public PhaseId getPhaseId() {
return PhaseId.RESTORE_VIEW;
}
public void beforePhase(PhaseEvent event) {
// TODO Auto-generated method stub
}
}
I am using:
RichFaces 3.2.1 SNAPSHOT
Toncat 6.0.14
JavaServer Faces 1.2.04
Java 5.0.13
the error message:
WARNING: executePhase(APPLY_REQUEST_VALUES 2,com.sun.faces.context.FacesContextImpl@149a2c8) threw exception
javax.faces.FacesException
at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:109)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:132)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:358)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at org.richfaces.renderkit.FileUploadRendererBase.doDecode(FileUploadRendererBase.java:112)
at org.ajax4jsf.renderkit.RendererBase.decode(RendererBase.java:76)
at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:791)
at javax.faces.component.UIInput.decode(UIInput.java:722)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1012)
at javax.faces.component.UIInput.processDecodes(UIInput.java:638)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1007)
at javax.faces.component.UIForm.processDecodes(UIForm.java:203)
at org.ajax4jsf.component.AjaxViewRoot$1.invokeContextCallback(AjaxViewRoot.java:388)
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:235)
at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:405)
at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:101)
... 24 more
26/05/2008 08:35:58 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
at org.richfaces.renderkit.FileUploadRendererBase.doDecode(FileUploadRendererBase.java:112)
at org.ajax4jsf.renderkit.RendererBase.decode(RendererBase.java:76)
at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:791)
at javax.faces.component.UIInput.decode(UIInput.java:722)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1012)
at javax.faces.component.UIInput.processDecodes(UIInput.java:638)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1007)
at javax.faces.component.UIForm.processDecodes(UIForm.java:203)
at org.ajax4jsf.component.AjaxViewRoot$1.invokeContextCallback(AjaxViewRoot.java:388)
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:235)
at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:405)
at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:132)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:358)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)