NullPointerException sem explicação, JSF[RESOLVIDO]

Boa Tarde amigos,

Está estorando um erro de NullPointerException e não acho o porque, vo postar aqui porque talvez vcs consigam ver algum erro meu do qual eu não vi

xhtml de cadastro de cliente

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:ui="http://java.sun.com/jsf/facelets" 
      xmlns:h="http://java.sun.com/jsf/html" 
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">

   <h:head>
   		<h:outputStylesheet library="css" name="main.css" />
   	</h:head>
   
   <h:body>
   		<h:form>
   			<p:growl id="growl" sticky="true" showDetail="true"/>
   			
   			<p:wizard widgetVar="wiz" flowListener="#{clienteMB.fluxoProcesso}">
   				<p:tab id="cpf" title="Cpf">
   					<p:panel header="Detalhes Pessoais">
   						<h:messages errorClass="error"/>
   						
   						<h:panelGrid columns="2" columnClasses="label, value" styleClass="grid">
   							<h:outputText value="Cpf: *" />
   							<p:inputText required="true" label="Cpf" value="#{clienteMB.cliente.cpf}"/>
   							
   							<h:outputText value="Nome: *" />
   							<p:inputText required="true" label="Nome" value="#{clienteMB.cliente.nome}"/>
   							
   							<h:outputText value="Sexo: *" />
   							<p:selectOneRadio value="#{clienteMB.cliente.sexo}">
   								<f:selectItem itemLabel="Masculino" itemValue="Masculino"/>
   								<f:selectItem itemLabel="Feminino" itemValue="Feminimo"/>
   							</p:selectOneRadio>
   						</h:panelGrid>
   					</p:panel>
   				</p:tab>
   				
   				<p:tab id="contato" title="Contato">
   					<p:panel header="Infos Contato">
   						<h:messages errorClass="error"/>
   						
   						<h:panelGrid columns="2" columnClasses="label, value">
   							<h:outputText value="Email: *" />
   							<p:inputText required="true" label="Email" value="#{clienteMB.cliente.email}"/>
   							
   							<h:outputText value="Telefone: *" />
   							<p:inputText required="true" label="Telefone" value="#{clienteMB.cliente.telefone}"/>
   						</h:panelGrid>
   					</p:panel>
   				</p:tab>
   				
   				<p:tab id="confirm" title="Confirmar">
   					<p:panel header="Confirmar Dados">
   						<h:panelGrid id="confirmation">
   							<h:outputText value="Cpf: " />
   							<h:outputText value="#{clienteMB.cliente.cpf}" styleClass="outputLabel" />
   							
   							<h:outputText value="Nome: " />
   							<h:outputText value="#{clienteMB.cliente.nome}" styleClass="outputLabel" />
   							
   							<h:outputText value="Sexo: " />
   							<h:outputText value="#{clienteMB.cliente.sexo}" styleClass="outputLabel" />
   							
   							<h:outputText value="Email: " />
   							<h:outputText value="#{clienteMB.cliente.email}" styleClass="outputLabel" />
   							
   							<h:outputText value="Telefone" />
   							<h:outputText value="#{clienteMB.cliente.telefone}" styleClass="outputLabel" />
   							
   						</h:panelGrid>
   						
   						<p:commandButton value="Cadastrar" update="growl" actionListener="#{clienteMB.salvar}"/>
   					</p:panel>
   				</p:tab>
   			</p:wizard>
   		</h:form>
   </h:body>
   
</html>

ManageBean

private ClienteLocal cliLocal;
[...]	
private Cliente cliente;

public void salvar(ActionEvent actionEvent){
		//metodo vindo da interface Local, persistindo no banco
		cliLocal.salvar(cliente);
		
		FacesMessage msg = new FacesMessage("Sucesso", "Bem vindo: " + cliente.getNome());
		FacesContext.getCurrentInstance().addMessage(null, msg);
		
	}

[...]

O erro provavelmente está vindo da minha pagina de cadastro, só não estou localizando o problema…

Agradeço desde já, Abrass

a desculpa quase ia esquecendo, o erro ta estorando no metodo salvar, na linha cliLocal.salvar(cliente)

O erro é nessa classe mesmo?
Manda o stacktrace onde fala o NPE e diga qual linha referencia no codigo

Se não tiver faltando código, você ta tentando salvar um objeto sem instancia-lo.

Instanciado é claro

public class ClienteMB {

	private ClienteLocal cliLocal;
	
	private Cliente cliente;
	
	private boolean pular;
	
	private static Logger logger = Logger.getLogger(ClienteMB.class.getName());

	public Cliente getCliente() {
		if(cliente == null){
			cliente = new Cliente();
		}
		return cliente;
	}

	public void salvar(ActionEvent actionEvent){
		//metodo vindo da interface Local, persistindo no banco
		cliLocal.salvar(cliente);
		
		FacesMessage msg = new FacesMessage("Sucesso", "Bem vindo: " + cliente.getNome());
		FacesContext.getCurrentInstance().addMessage(null, msg);
		
	}

[quote=igor_ks]O erro é nessa classe mesmo?
Manda o stacktrace onde fala o NPE e diga qual linha referencia no codigo[/quote]

Segue a stackTrace resumida do erro

16:45:19,287 SEVERE [javax.faces.event] (http-localhost-127.0.0.1-8080-3) 'java.lang.NullPointerException' recebido ao invocar escuta de ação '#{clienteMB.salvar}' para o componente 'j_idt37'
16:45:19,289 SEVERE [javax.faces.event] (http-localhost-127.0.0.1-8080-3) java.lang.NullPointerException
	[..]

16:45:19,303 SEVERE [javax.enterprise.resource.webcontainer.jsf.context] (http-localhost-127.0.0.1-8080-3) JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=j_idt6:j_idt37, Message=java.lang.NullPointerException
16:45:19,304 SEVERE [javax.enterprise.resource.webcontainer.jsf.context] (http-localhost-127.0.0.1-8080-3) java.lang.NullPointerException: javax.faces.event.AbortProcessingException: java.lang.NullPointerException
	[...]
Caused by: java.lang.NullPointerException
	at com.loja.Manage.ClienteMB.salvar(ClienteMB.java:37) [classes:]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_13]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_13]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_13]
	at java.lang.reflect.Method.invoke(Unknown Source) [rt.jar:1.7.0_13]
	at org.apache.el.parser.AstValue.invoke(AstValue.java:262) [jbossweb-7.0.13.Final.jar:]
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278) [jbossweb-7.0.13.Final.jar:]
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]

ClienteMB.java:37, linha da qual eu citei acima

Olá wippeldigo,

o atributo cliLocal, não está sendo instanciado em local algum, só instanciar ai.

[quote=cido18]Olá wippeldigo,

o atributo cliLocal, não está sendo instanciado em local algum, só instanciar ai.[/quote]

cliLocal é apenas uma interface da onde passam os metodos, se instanciar vai vir junto todos os metodos tambem, ou seja, não faz sentido instanciar e tb nunca precisei pelo menos…
mas vlw ai

Achei o problema, apenas faltou a anotação @EJB no ClienteLocal, obrigado pela atenção