JSF - javax.faces.el.PropertyNotFoundException: Base is null: login

Bom dia galera, estou migrando meu projeto de JSF 1.2 para 2.0, fiz as alterações de bibliotecas, alteração das anottations, rodo meu projeto, qdo eu clico no botão para logar dá esta exception, alguém pode dar uma ajuda aí!!??

javax.faces.el.PropertyNotFoundException: Base is null: login
	at org.apache.myfaces.el.ValueBindingImpl.resolveToBaseAndProperty(ValueBindingImpl.java:463)
	at org.apache.myfaces.el.ValueBindingImpl.getType(ValueBindingImpl.java:175)
	at org.apache.myfaces.shared_impl.renderkit._SharedRendererUtils.findUIOutputConverter(_SharedRendererUtils.java:58)
	at org.apache.myfaces.shared_impl.renderkit.RendererUtils.findUIOutputConverter(RendererUtils.java:310)
	at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getConvertedUIOutputValue(RendererUtils.java:604)
	at org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.getConvertedValue(HtmlTextRendererBase.java:191)
	at javax.faces.component.UIInput.getConvertedValue(UIInput.java:396)
	at javax.faces.component.UIInput.validate(UIInput.java:350)
	at javax.faces.component.UIInput.processValidators(UIInput.java:184)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627)
	at javax.faces.component.UIForm.processValidators(UIForm.java:73)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627)
	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:149)
	at org.ajax4jsf.framework.ajax.AjaxViewRoot.access$201(AjaxViewRoot.java:53)
	at org.ajax4jsf.framework.ajax.AjaxViewRoot$3.invokeRoot(AjaxViewRoot.java:315)
	at org.ajax4jsf.framework.ajax.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.java:53)
	at org.ajax4jsf.framework.ajax.AjaxContext.invokeOnRegionOrRoot(AjaxContext.java:191)
	at org.ajax4jsf.framework.ajax.AjaxViewRoot.processValidators(AjaxViewRoot.java:329)
	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
	at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
	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:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	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:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)

Você deve estar atribuindo null na inicialização do atributo Base no seu managedBean, não está?

No caso sua pk vai ser o objeto da tabela que tem a relação, vai usar um embeddableId, veja:

http://docs.oracle.com/cd/B32110_01/web.1013/b28221/cmp30cfg001.htm

[]s

Amigo valeu pela ajuda.

Não encontrei onde está nulo, eu entrei na empresa e o projeto já existia, cheio de gambiarras.

Estou postando abaixo meu Bean para vc dar uma olhada.

Desde já agradeço.

package br.com.monisat.login;

import java.util.TimeZone;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import br.com.hibernate.dao.TsClienteRespDao;
import br.com.hibernate.model.TsClienteResp;
import br.com.monisat.util.JsfHelper;
import br.com.monisat.util.MessageHelper;

@ManagedBean
@RequestScoped
public class Login extends LoginForm {
	
	TsClienteResp usuario = new TsClienteResp();
	
	public Login() {
	
	}
	
	public String acessar() {
		
		TimeZone timezone = TimeZone.getTimeZone( "GMT-03:00" ); //isso cria um timezone padrão
		TimeZone.setDefault( timezone ); // seta a VM para usar esse timezone ignorando o do window 
		HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
		
		String retorno = null;
		
		TsClienteResp cliente = new TsClienteResp();
		cliente.setLogin( getUsuario() );
		cliente.setSenha( getSenha() );
		
		usuario = new TsClienteRespDao().getCliente( cliente ); 
		if ( usuario == null ) {
			MessageHelper.addMessage("Não encontrado registro de usuário", 2);
			new Logout().desconectar();
		} else {
			JsfHelper.setSessionAttribute( "usuario", usuario );
			retorno = goHome();
		}
		
		return retorno;
	}
	
	
	/**
	 * verifica se o usuario esta logado no sistema
	 * @return
	 */
	public static boolean checkUser() {
		boolean status = true;
		
		TsClienteResp usuario = (TsClienteResp) JsfHelper.getSessionAttribute( "usuario" );
		
		if ( usuario == null ) 
			status = false;
		
		return status;
	}
	
	/**
	 * limpa os campos da tela de login
	 */
	public void limpar() {
		setUsuario("");
		setSenha("");
	}
	
	public String goHome() {
		return "home";
	}
	
	public String goLogin() {
		return "login";
	}
}

Loginform.java

package br.com.monisat.login;

public class LoginForm {

	public String usuario;
	public String senha;
	
	public LoginForm() {
		usuario ="";
		senha = "";
	}

	public String getUsuario() {
		return usuario;
	}

	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}
	
}

Amigo poste o xhtml da pagina para dar uma olhada provavelmente como a execeção diz voce esta referenciando no xhtml uma propriedade inexistente no java, se poder posta para dar uma olhada

<%@ page contentType="text/html;charset=iso-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
<html>

<head>
	
	<%@include file="../home/importar.jsp" %>
	
</head>	

<body class="login normal">
	<f:view>
		<h:form id="form_login">
			
			<table class="tabela">
				<tr align="center">
					<td align="center">
					
						<div class="login-div normal"> 
						
							<f:verbatim>
							<br>
							</f:verbatim>
						
							<h:messages rendered="true" id="message" infoStyle="Color: green" warnStyle="Color: blue" errorStyle="Color: red;" fatalStyle="Color: red;"/>
							
							<f:verbatim>
							<br>
							</f:verbatim>
							
							<h:panelGrid columns="2">
							
								<h:graphicImage url="../themes/img/fundo/logo.png" style="margin-right: 10px;"/>
								
								<t:div>
									
									<f:verbatim>
										<p style="color:#666;">Digite seu usuário e senha </p>
									</f:verbatim>
								
									<h:panelGrid columns="1">
								
										<h:inputText value="#{ login.usuario }" id="usuario" size="30" maxlength="30" styleClass="usuario"/>
										
										<h:inputSecret value="#{ login.senha }" id="senha" size="30" maxlength="30" styleClass="senha"/>
										
									</h:panelGrid>
									<h:commandButton styleClass="garbo-button border" value="Acessar" action="#{ login.acessar }" onclick="if( ! validar() ) return false;"/>
								</t:div>
							
							</h:panelGrid>
						
						</div>
						
						
						<br>
						<label>Para maior <b>rapidez, segurança e desempenho</b>, utilize o <a href="http://br.mozdev.org/download/" target="_blank">navegador Firefox</a>, clique no botão acima para download.</label>
														 
					</td>
				</tr>
			</table>
		</h:form>
	</f:view>
	<script type="text/javascript">
	validar = function(){
		
		var retorno = true;
		
		if( document.getElementById( 'form_login:usuario' ).value == '' ){
			alert( "Preencha o campo usuario!" );
			retorno = false;
		} else if( document.getElementById( 'form_login:senha' ).value == '' ){
			alert( "Preencha o campo senha!" );
			retorno = false;
		} 
		
		return retorno;
	}
	</script>
</body>
</html>

Qual a extensão da pagina do cogigo que voce postou por ultimo ?

Pelo que parecee é .jsp, se for isso, talvez seja esse o erro, talvez naum tenho certeza disso a versao 2.0 do jsf utilize apenas paginas com extensao .xhtml, e o .jsp seja apenas para a versao 1.0 naum tenho certeza disso

vou postar um xhtml meu para voce dar uma olhada e comparar com o seu e ver as diferenças

&lt;?xml version='1.0' encoding='UTF-8' ?&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"&gt;
    &lt;h:head&gt;
        &lt;title&gt; - SVP Sistema Venda de Passagens 0.1&lt;/title&gt;
        &lt;link rel="stylesheet" href="../css/bootstrap.css"&gt;&lt;/link&gt;
    &lt;/h:head&gt;
    &lt;h:body&gt;
        &lt;div class="well" style="width: 500px; margin-left: auto; margin-right: auto; margin-top: 30px;"&gt;
            &lt;h:form styleClass="form-horizontal" &gt;
                &lt;fieldset&gt;
                    &lt;legend&gt;Autenticação de Usuário&lt;/legend&gt;

                    &lt;p:growl id="growl" showDetail="true" sticky="true" life="10"/&gt;

                    &lt;div class="control-group" style="padding-top: 30px;"&gt;
                        &lt;h:outputLabel value="Login" styleClass="control-label" /&gt;
                        &lt;div class="controls"&gt;
                            &lt;p:inputText styleClass="input input-large" required="true" requiredMessage="Campo Login é obrigatorio."
                                         value="#{usuarioLogadoController.user.cdLogin}"/&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;

                    &lt;div class="control-group"&gt;
                        &lt;h:outputLabel value="Senha" styleClass="control-label" /&gt;
                        &lt;div class="controls"&gt;
                            &lt;p:password styleClass="input input-large" required="true" requiredMessage="Campo Senha é obrigatorio."
                                        value="#{usuarioLogadoController.user.dsSenha}"/&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;

                    &lt;div class="controls" style="padding-top: 10px;"&gt;
                        &lt;p:commandButton value="Logar" styleClass="btn btn-primary" type="submit" update="growl"
                                         actionListener="#{usuarioLogadoController.fazerLogin}"/&gt;
                        &lt;p:commandButton value="Cancelar" styleClass="btn" type="reset" style="margin-left: 28px;" /&gt;
                    &lt;/div&gt;
                &lt;/fieldset&gt;
            &lt;/h:form&gt;

        &lt;/div&gt;

        <img  />
    &lt;/h:body&gt;
&lt;/html&gt;

e agora minha controler


package com.estagio.controller;

import com.estagio.business.UsuarioBO;
import com.estagio.entidade.Usuario;
import java.io.IOException;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

/**
 * @author Cristian Urbainski
 * @since 01/05/2012
 */
@ManagedBean
@SessionScoped
public class UsuarioLogadoController {

    private Usuario user;
    private Boolean usuarioLogado;

    private static UsuarioLogadoController instance;

    @PostConstruct
    public void inicializa()
    {
        user = new Usuario();
        usuarioLogado = Boolean.FALSE;
        instance = this;
    }

    public static UsuarioLogadoController getInstance() throws Exception
    {
        if(instance == null)
        {
            throw new Exception("Não há usuario logado no sistema, Oh my god!");
        }
        return instance;
    }

    public void logout()
    {
        this.user = null;
        FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
    }

    public void fazerLogin()
    {
        try {
            Usuario u = new UsuarioBO().efetuarLogin(user);

            if(u == null)
            {
                FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro", "Usuario não encontrado ou senha incorreta, tente novamente."));
            }
            else
            {
                usuarioLogado = Boolean.TRUE;
                user = u;
            }

        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro", "Erro ao efetuar login, tente novamente."));
        }
    }

    public String getNomeUsuario() throws IOException
    {
        if(usuarioLogado)
        {
            return user.getFuncionario().getNmFuncionario();
        }

        FacesContext.getCurrentInstance().getExternalContext().redirect("/projetoEstagio/faces/paginas/login.xhtml");
        return "";
    }

    public Usuario getUser() {
        return user;
    }

    public void setUser(Usuario user) {
        this.user = user;
    }

}

Espero que ajude, ate mais

Diego tava olhando o codigo de novo e naum consegui ver nada de estranho mas reparei nisso

&lt;%@include file="../home/importar.jsp" %&gt; 

talvez o erro pode estar nessa pagina

ja deu uma olhada nela ?