[Resolvido] Erro ao Cadastrar (JSF + Primefaces) - Target Unreachable, 'null' returned null

Bom dia pessoal, estou tentando fazer esse cadastro, mas ele não encontra o objeto, desde já agraço se alguem me ajudar a resolver

Meu JSF (o erro aparece no momento em que eu aperto o meu botão salvar)

<h:head>
        <title></title>
    </h:head>
    <h:body>
        <center>
            <ui:composition template="/menu.xhtml">
                <ui:define name="meio">
                    <h:form id="formcad" style="font-size:11px;"> 
                        <p:growl id="messages" showDetail="true"/>

                        <p:panel id="cabecalho" header="Periodo">
                            Data Referente:<p:calendar value="#{lancamentosBean.lancamentos.dtReferente}" id="cal" showButtonPanel="true" pattern="dd/MM/yyyy"/> 
                            Data Lancamento:<p:calendar value="#{lancamentosBean.lancamentos.dtLanc}" id="cal1" showButtonPanel="true" pattern="dd/MM/yyyy"/>                           
                        </p:panel>

                        <p:panel id="panel" header="Cadastrar Lancamentos">
                            <p:panelGrid id="pgCentral" columns="5">

                                <p:panel header="Saída (Pagos)">                                                                            
                                    <h:outputLabel value="Frete.:" for="fpFrete" />
                                    <p:inputText maxlength="15" size="15" id="fpFrete" value="#{lancamentosBean.lancamentos.finPago.fpFrete}" >
                                    </p:inputText>

                                    <h:outputLabel value="Folha Pagamento.:" for="fpFolha" />
                                    <p:inputText maxlength="15" size="15" id="fpFolha" value="#{lancamentosBean.lancamentos.finPago.fpFolha}" >
                                    </p:inputText>

                                    <h:outputLabel value="Imp. Estaduais.:" for="fpImpEstaduais" />
                                    <p:inputText maxlength="15" size="15" id="fpImpEstaduais" value="#{lancamentosBean.lancamentos.finPago.fpImpEstaduais}">
                                    </p:inputText>
                               

                                    <h:outputLabel value="Desp. Variaveis.:" for="fpDespVariaveis" />
                                    <p:inputText maxlength="15" size="15" id="fpDespVariaveis" value="#{lancamentosBean.lancamentos.finPago.fpDespVariaveis}" >
                                    </p:inputText>

                                            
                                </p:panel>
                                <p:panel header="Entrada (Recebido)">
                                    <h:outputLabel value="Hospital.:" for="frHospital" />
                                    <p:inputText maxlength="15" size="15" id="frHospital" value="#{lancamentosBean.lancamentos.finRecebido.frHospital}">
                                    </p:inputText>                                                                                                     
                                </p:panel>
                            </p:panelGrid>    
                            <p:commandButton value="Salvar" action="#{lancamentosBean.cadastrarLancamentos()}" update="@this,:formcad" ></p:commandButton>
                        </p:panel>
                    </h:form>
                </ui:define>
            </ui:composition>    
        </center>
    </h:body>
</html>

Meu BEAN

@ManagedBean(name="lancamentosBean")
@RequestScoped
public class LancamentosBean {
    
    private Lancamento lancamentos;  
    
    public void LancamentosBean() {

//Eu andei procurando falaram que tinha que colocar essa linha,  mas ja tem =/  ...
        lancamentos = new Lancamento();
    }

    
    public Lancamento cadastrarLancamentos() {
        LancamentosController lancamentosController = new LancamentosController();
        lancamentos = lancamentosController.cadastrarLancamentos(lancamentos);
        
        return lancamentos;
    }
    
    public Lancamento getLancamentos() {
        return lancamentos;
    }

    public void setLancamentos(Lancamento lancamentos) {
        this.lancamentos = lancamentos;
    }
}

Desde ja agradeço.

Posta o seu LancamentosController pra ver oque ele está retornando.
e a linha 10 do seu LancamentosBean serve pra inicializar o componente lancamentos

Isso ocorre quando o jsf tenta ler uma propriedade e ele não consegue.

Ele não deve estar conseguindo ler alguma propriedade da sua classe lancamentos.

Poste o erro completo para poder lhe ajudar melhor.

Tipo assim dentro da modelo lancamento eu trago as outras classes e de lá eu chamo (lancamentos.finPago.fpFrete - classe lancamento ai dentro eu tenho a FinPago que é um outro modelo meu e ai eu puxo o campo, simplesmente para ter tudo dentro do mesmo objeto)

Erro Completo:

WARNING: /cadastrarlancamentos.xhtml @35,152 value="#{lancamentosBean.lancamentos.finPago.fpFrete}": Target Unreachable, 'null' returned null
javax.el.PropertyNotFoundException: /cadastrarlancamentos.xhtml @35,152 value="#{lancamentosBean.lancamentos.finPago.fpFrete}": Target Unreachable, 'null' returned null
	at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
	at org.primefaces.renderkit.InputRenderer.findImplicitConverter(InputRenderer.java:170)
	at org.primefaces.renderkit.InputRenderer.findConverter(InputRenderer.java:190)
	at org.primefaces.renderkit.InputRenderer.getConvertedValue(InputRenderer.java:196)
	at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
	at javax.faces.component.UIInput.validate(UIInput.java:960)
	at javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
	at javax.faces.component.UIInput.processValidators(UIInput.java:698)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at org.primefaces.component.panel.Panel.processValidators(Panel.java:297)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at org.primefaces.component.panel.Panel.processValidators(Panel.java:297)
	at javax.faces.component.UIForm.processValidators(UIForm.java:253)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at org.primefaces.component.layout.Layout.processValidators(Layout.java:245)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
	at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:619)

Um desses dois valores (finPago ou fpFrete) está null nesse seu objeto lancamentos, você está instanciando os mesmos?

No construtor da sua classe lancamento deve ser instanciado (finPago = new finPago(); ) estes objetos.

Tenta declarar o método assim:

[code]public Lancamento cadastrarLancamentos(ActionEvent event) {

}[/code]

Meus queridos eu coloquei da forma que vcs me falaram, mas o erro permanece =/

Segue minha classe para vcs verem, então e ele nem chega a chamar o metodo cadastrarLancamentos… =/

Minha classe


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.portalonline.model;

import java.util.Date;

/**
 *
 * @author Administrador
 */
public class Lancamento {
    private Integer lCodigo;
    private Empresa Empresa;
    private Date dtLanc;
    private Date dtReferente;
    private FinPago finPago;
    private FinRecebido finRecebido;
    private Previsto previsto;
    private Estoque estoque;
    private Faturamento faturamento;
    private Compra compra;
    private SaldoContas saldocontas;

    public Lancamento() {
        finPago = new FinPago();
        finRecebido = new FinRecebido();
        previsto = new Previsto();
        estoque = new Estoque();
        faturamento =  new Faturamento();
        compra = new Compra();
        saldocontas = new SaldoContas();        
    }

    public Lancamento(Integer lCodigo, br.com.portalonline.model.Empresa Empresa, Date dtLanc, Date dtReferente, FinPago finPago, FinRecebido finRecebido, Previsto previsto, Estoque estoque, Faturamento faturamento, Compra compra, SaldoContas saldocontas) {
        this.lCodigo = lCodigo;
        this.Empresa = Empresa;
        this.dtLanc = dtLanc;
        this.dtReferente = dtReferente;
        this.finPago = finPago;
        this.finRecebido = finRecebido;
        this.previsto = previsto;
        this.estoque = estoque;
        this.faturamento = faturamento;
        this.compra = compra;
        this.saldocontas = saldocontas;
    }

    /**
     *Setter e Getters
     */

    . . .
    

    @Override
    public int hashCode() {
        ...
    }

    @Override
    public boolean equals(Object obj) {
       ...
    
}

O fpFrete foi inicializado?

então dentro do meu bean eu inicializo meu objeto, isso ja bastaria pra ele reconhecer correto?

    public void LancamentosBean() {
        lancamentos = new Lancamento();
        finPago = new FinPago();
        finRecebido = new FinRecebido();
        faturamento = new Faturamento();
        previsto = new Previsto();
        estoque = new Estoque();
        compra = new Compra();
        saldoContas = new SaldoContas();
        
    }

então dentro do meu bean eu inicializo meu objeto, isso ja bastaria pra ele reconhecer correto?

[code]
public void LancamentosBean() {
lancamentos = new Lancamento();
finPago = new FinPago();
finRecebido = new FinRecebido();
faturamento = new Faturamento();
previsto = new Previsto();
estoque = new Estoque();
compra = new Compra();
saldoContas = new SaldoContas();

}

[/code][/quote]

Nesse código não está sendo inicializado o valor fpFrete.
E os valores finPago e finRecebido não deverião ser inicializados dentro do lancamentos ?