Problema com primefaces

Estou tentando entender o que está acontecendo, mas depois de dois dias olhando, não estou conseguindo enxergar o problema. Tenho o seguindo código:

<h:form id="formLogin">
<p:panel >
<p:fieldset legend="Insira seu CNPJ"  >
	<h:panelGrid id="divCnpj" columns="2" >                            
		<h:outputLabel id="lblCnpj" value="CNPJ: "/>
		<p:inputMask id="docCnpj" mask="99.999.999/9999-99" value="#{empresaMb.cnpjCliAcesso}" ></p:inputMask>
		<p:commandButton id="btnPesquisar" value="Pesquisar CNPJ" update="formLogin" action="#{empresaMb.pesquisarCNPJ}" ajax="true" immediate="true"/>
	</h:panelGrid>
</p:fieldset>

<p:fieldset legend="Dados de endereço"  >
	<h:panelGrid id="divisoesDados" columns="2" >                            
		<h:outputLabel id="lblCEP" value="CEP: "/>
		<p:inputMask id="cep" mask="99.999-999" value="#{empresaMb.cepEndereco}"></p:inputMask>
		<p:commandButton id="btnPesquisarCep" value="Pesquisar CEP" update="formLogin" action="#{empresaMb.buscaCep}" ajax="true" immediate="true"/>
	</h:panelGrid>
</p:fieldset>

Suprimi os validator, converter, maxlenght, para facilitar a visualização…

Então, basicamente, o que ocorre é o seguinte - quando eu preencho o CNPJ (no inputmask docCnpj), e clico no botão pesquisar CNPJ, ele executa corretamente o método empresaMb.pesquisarCNPJ(), e o conteúdo do atributothis.cnpjCliAcesso, está preenchido corretamente.

Quando eu preencho o CEP (no inputmask cep) e clico no botão pesquisar Cep, ele executa o método empresaMb.buscaCep(), mas o conteúdo do atributo this.cepEndereco, está sempre nulo.

Já tentei de todas as formas modificar para que funcionasse, e a única coisa que funcionou, até agora, foi incluir, no mesmo PanelGrid:

h:panelGrid id="divCnpj"

as duas informações, tanto o CNPJ quanto o CEP, mas por questões de layout, não posso adotar essa solução.

Alguém tem alguma ideia do que pode estar ocorrendo?

Foi feito o teste utilizando o atributo “process” do commandButton?

<p:commandButton id="btnPesquisarCep" value="Pesquisar CEP" process="cep" update="formLogin" action="#{empresaMb.buscaCep}" ajax="true" immediate="true"/>

Caso passando somente o id “cep” ocorra alguma erro apontando que não encontrou o componente é necessário incluir o caminho exato conforme os componentes que antecedem o “cep”.

<p:commandButton id="btnPesquisarCep" value="Pesquisar CEP" process="divisoesDados:cep" update="formLogin" action="#{empresaMb.buscaCep}" ajax="true" immediate="true"/>

Sim, Thiago… eu testei com o process, e nada…

<p:commandButton id=“btnPesqCep” process=":formLogin:fdsEndereco:divDadosEndereco:cep" immediate=“true” ajax=“true” value=“Pesquisar” update=“formLogin” action="#{empresaMb.buscaCep}" />

na linha do process, eu tentei de tudo… só o objeto CEP, o id da div + objeto cep, apenas o id da div, o id do fieldset que existe… o id do form + fieldset + div + objeto… tudo e nada funcionou…

Entendi…
O seu fieldSet esta dentro de um form?
Você tentou passar no process o @form?

Um outro detalhe, lá no seu empresaMb.
Você tem o setCep? Ou gerou somente o getCep?

Thiago, tenho novidades… inclui o process="@form", e agora ele está executando o método do action="#{empresaMb.buscaCep}", porém, o conteúdo do inputMask,

id="cep" mask="99.999-999" value="#{empresaMb.cepCadastro}"

apesar de ser digitado na tela, não é preenchido no atributo cepCadastro, do MB empresaMb.

Beleza, vc pode postar aí o seu xHTML e o seu Bean?

o meu formulário de cadastro:

<ui:composition template="template.xhtml"
    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"
    >

<ui:define name="principal">
    <h:form id="formLogin" prependId="false">
        <p:growl id="growl" />
        <p:panel id="painelPrincipal">
            <p:fieldset legend="Insira seu CNPJ"  >
                <h:panelGrid id="divisoesED" columns="4" >                            
                    <h:outputLabel id="lblCpf" value="CNPJ: "/>
                    <p:inputMask id="docCpf" mask="99.999.999/9999-99" value="#{empresaMb.cnpjCliAcesso}" maxlength="18" size="20" converter="converteCpfCnpj" validator="checaCpfCnpj" disabled="#{empresaMb.liberadoCadastro}" ></p:inputMask>
                    <p:message id="messageForDocCpf" for="docCpf" />
                                         
                    <p:commandButton id="btnPesquisar" value="Pesquisar" update="formLogin" action="#{empresaMb.pesquisarCNPJ}" title="Clique para pesquisar se o CNPJ já está cadastrado!"  ajax="true" />
                    <!--<p:commandButton id="btnPesquisarO" value="PesquisarO" update="formLogin" actionListener="{escritorioMb.buttonAction(actionEvent)}" action="{escritorioMb.pesquisarCNPJ}" title="Clique para pesquisar se o CNPJ já está cadastrado!" />-->
                </h:panelGrid>
            </p:fieldset>
            <p:separator/>
            <p:panel id="dadosPreencher" header="Dados da Empresa" rendered="#{empresaMb.liberadoCadastro}" >
                <p:fieldset legend="Dados Empresa" toggleable="true" toggleSpeed="500">
                    <h:panelGrid id="divDadosPessoais" columns="3" style="vertical-align: top; ">
                        <h:outputLabel id="lblDescricao" value="Razão Social: "/>
                        <p:inputText id="descricao" value="#{empresaMb.razaoSocial}" maxlength="70" size="70" required="true" requiredMessage="É necessário informar o seu nome!" />
                        <p:message id="messageDescricao" for="descricao" />

                        <h:outputLabel id="lblFantasia" value="Nome Fantasia: "/>
                        <p:inputText id="fantasia" value="#{empresaMb.nomeFantasia}" maxlength="70" size="70" required="true" requiredMessage="É necessário informar o seu nome!" />
                        <p:message id="messageFantasia" for="fantasia" />

                        <h:outputLabel id="lblCNPJ" value="CNPJ: "/>
                        <p:inputMask id="docCNPJ" mask="99.999.999/9999-99" value="#{empresaMb.cnpjcpf}" maxlength="18" size="20" converter="converteCpfCnpj" validator="checaCpfCnpj" ></p:inputMask>
                        <p:message id="messageForDoc" for="docCNPJ" />

                        <p:outputLabel value=""/>
                        <p:selectBooleanCheckbox id="isIsento" itemLabel="Isento" value="#{empresaMb.isIsento}"  >
                            <p:ajax update="ie"/>
                        </p:selectBooleanCheckbox>
                            
                        <p:outputLabel value=""/>

                        <h:outputLabel id="lblIe" value="IE: "/>
                        <p:inputMask id="ie" mask="999.999.999.999" value="#{empresaMb.ierg}" maxlength="15" size="20" disabled="#{empresaMb.getIsIsento()}"></p:inputMask>
                        <p:message id="msgIe" for="ie" />


                    </h:panelGrid>
                </p:fieldset>
                <br/>
                <p:fieldset id="fdsEndereco" legend="Endereço" collapsed="true" toggleable="true" toggleSpeed="500">
                    <p:panelGrid id="divDadosEnd" columns="3" >

                        <h:outputLabel id="lblLogradouro" value="Logradouro: "/>
                        <p:inputText id="logradouro" value="#{empresaMb.tipoLogradouro}" maxlength="70" size="70" required="true" requiredMessage="É necessário informar o endereço!" validator="checaNulo" ></p:inputText>
                        <p:message id="msgLogradouro" for="logradouro" />

                        <h:outputLabel id="lblEndereco" value="Endereço: "/>
                        <p:inputText id="endereco" value="#{empresaMb.endereco}" maxlength="70" size="70" required="true" requiredMessage="É necessário informar o endereço!" validator="checaNulo" ></p:inputText>
                        <p:message id="messageEndereco" for="endereco" />

                        <h:outputLabel id="lblNumeroEndereco" value="Número: "/>
                        <p:inputText id="numeroEndereco" value="#{empresaMb.numeroEndereco}" maxlength="10" size="10" ></p:inputText>
                        <p:message id="msgNumEnd" for="numeroEndereco" />

                        <h:outputLabel id="lblComplEndereco" value="Complemento: "/>
                        <p:inputText id="complEndereco" value="#{empresaMb.complementoEndereco}" maxlength="30" size="30" ></p:inputText>
                        <p:message id="msgComplEndereco" for="complEndereco" />

                        <h:outputLabel id="lblCaixaPostal" value="Caixa Postal: "/>
                        <p:inputText id="caixaPostal" value="#{empresaMb.caixaPostal}" maxlength="15" size="15" ></p:inputText>
                        <p:message id="msgCaixaPostal" for="caixaPostal" />

                        <h:outputLabel id="lblCidade" value="Cidade: "/>
                        <h:selectOneMenu value="#{empresaMb.codigoCidadeSelected}" id="cidade" required="true" requiredMessage="É necessário informar a cidade!"  >  
                            <f:selectItem itemLabel="Selecione sua cidade..." itemValue=""/>
                            <f:selectItems var="cidades" value="#{empresaMb.cidadesCadadastrado}" itemLabel="#{cidades.descricao}" itemValue="#{cidades.codigo}"  />  
                        </h:selectOneMenu>          
                        <p:message id="messageCidade" for="cidade" />

                        <h:outputLabel id="lblBairro" value="Bairro: "/>
                        <p:inputText value="#{empresaMb.bairroEndereco}" maxlength="20" id="bairro" required="true" requiredMessage="É necessário informar o bairro!" />
                        <p:message id="messageBairro" for="bairro" />

                        <h:outputLabel id="lblUf" value="UF: "/>
                        <p:inputText value="#{empresaMb.ufEndereco}" maxlength="2" id="uf" required="true" requiredMessage="É necessário informar a UF!" />
                        <p:message id="msgUf" for="uf" />

                        <h:outputLabel id="lblCEP" value="CEP: "/>
                        <p:inputMask id="cepEndereco" mask="99.999-999" value="#{empresaMb.cepEndereco}" maxlength="10" size="12" converter="cepConverter" required="true" requiredMessage="É necessário informar o CEP!"  validator="checaNulo" ></p:inputMask>
                        <p:message id="messageCep" for="cepEndereco" />

                        <p:commandButton id="btnPesqCep" process="@form" ajax="true" immediate="true" value="Pesquisar" action="#{empresaMb.buscaCep}" />
                            
                    </p:panelGrid>
                </p:fieldset>
                <br/>
                <p:fieldset legend="Dados de Contato" collapsed="true" toggleable="true" toggleSpeed="500">
                    <h:panelGrid id="divDadosContato" columns="3" style="vertical-align: top; ">
                        <h:outputLabel id="lblEmail" value="Email: "/>
                        <p:inputText id="email" value="#{empresaMb.email}" maxlength="64" size="70" required="true" requiredMessage="É necessário informar o e-mail!" validator="checaEmail" ></p:inputText>
                        <p:message id="messageEmail" for="email" />

                        <h:outputLabel id="lblTelefone" value="Telefone: "/>
                        <p:inputMask id="telefone" value="#{empresaMb.telefone}" mask="(99)9999-9999" ></p:inputMask>
                        <p:message id="messageTelefone" for="telefone" />

                        <h:outputLabel id="lblTelefone2" value="Telefone 2: "/>
                        <p:inputMask id="telefone2" value="#{empresaMb.fax}" mask="(99)9999-9999" ></p:inputMask>
                        <p:message id="messageTelefone2" for="telefone2" />

                        <h:outputLabel id="lblCelular" value="Celular: "/>
                        <p:inputMask id="celular" value="#{empresaMb.telefoneCelular}" mask="(99)9.9999-9999" ></p:inputMask>
                        <p:message id="msgCel" for="celular" />

                        <h:outputLabel id="lblFoneTrabalho" value="Fone Trabalho: "/>
                        <p:inputMask id="trabalho" value="#{empresaMb.telefoneTrabalho}" mask="(99)9999-9999" ></p:inputMask>
                        <p:message id="msgTrab" for="trabalho" />

                    </h:panelGrid>
                </p:fieldset>
                <br/>
                <p:commandButton id="btnGravar" update="formLogin" value="Gravar" action="#{empresaMb.gravar}" title="Clique para gravar!" />
            </p:panel>
            <br/>
            

            <p:ajaxStatus style="width:16px; height:8px;">
                <f:facet name="start">
                    <h:graphicImage library="images" name="ajaxloading.gif" />
                </f:facet>
                <f:facet name="complete">
                    <h:outputText value="" />
                </f:facet>
            </p:ajaxStatus>
        </p:panel>
    </h:form>
</ui:define>

</ui:composition>

Meu MB:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.nscinfo.managedBean;

import br.com.nscinfo.DAO.cidade.CidadeDB;
import br.com.nscinfo.DAO.cliente.ClienteDB;
import br.com.nscinfo.DAO.configuracao.ConfiguracaoDB;
import br.com.nscinfo.beans.cidade.Cidade;
import br.com.nscinfo.beans.cliente.Cliente;
import br.com.nscinfo.beans.configuracao.Configuracao;
import br.com.nscinfo.criptografia.Cripto;
import br.com.nscinfo.util.NscData;
import br.com.nscinfo.util.NscException;
import br.com.nscinfo.util.NscUtil;
import java.awt.event.ActionEvent;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;


/**
 *
 * @author Rafael
 */

@ManagedBean
@SessionScoped
public class EmpresaMb extends ClienteDB {

    private String senhaAntiga;
    private String senhaNova;
    private String senhaNovaConfirmada;

    private String codigoCliAcesso;
    private String cnpjCliAcesso;
    private String senhaWebAcesso;
    private String cepCadastro;

    private Configuracao configuracao;
    
    private String codigoCidadeSelected;
    private List<Cidade> cidadesCadadastrado;

    private Boolean liberadoCadastro = Boolean.FALSE;

    private ClienteDB novoDB;

    public EmpresaMb() throws NscException, SQLException {
        ConfiguracaoDB configDB = new ConfiguracaoDB();
        configuracao = configDB.getByCodigo("00000");

        novoDB = new ClienteDB();
        
        this.setIsento(0);
        
    }

    /**
     * @return the senhaAntiga
     */
    public String getSenhaAntiga() {
        return senhaAntiga;
    }

    /**
     * @param senhaAntiga the senhaAntiga to set
     */
    public void setSenhaAntiga(String senhaAntiga) {
        this.senhaAntiga = senhaAntiga;
    }

    /**
     * @return the senhaNova
     */
    public String getSenhaNova() {
        return senhaNova;
    }

    /**
     * @param senhaNova the senhaNova to set
     */
    public void setSenhaNova(String senhaNova) {
        this.senhaNova = senhaNova;
    }

    /**
     * @return the senhaNovaConfirmada
     */
    public String getSenhaNovaConfirmada() {
        return senhaNovaConfirmada;
    }

    /**
     * @param senhaNovaConfirmada the senhaNovaConfirmada to set
     */
    public void setSenhaNovaConfirmada(String senhaNovaConfirmada) {
        this.senhaNovaConfirmada = senhaNovaConfirmada;
    }

    public String entrar() throws NscException, SQLException {
        
        Cliente novoCli;

        if (this.getCnpjCliAcesso()!=null) {
            novoCli = getByCampo( "cnpjcpf", this.getCnpjCliAcesso() );
        } else {
            return "/loginCliente.jsf?faces-redirect=true";
        }

        if (novoCli==null) {
            return "/erroLoginBranco.jsf?faces-redirect=true";
        } else {
            if (novoCli.getCodigo()==null  ) {
                return "/erroLoginBranco.jsf?faces-redirect=true";
            } else {
                if (!this.getSenhaWebAcesso().equalsIgnoreCase(novoCli.getSenhaWeb()) && !this.getSenhaWebAcesso().equalsIgnoreCase(Cripto.DesCriptografa("38383v343b343838242484h484r42424787838m838w87878", 3)) ) {
                    return "/erroLogin.jsf?faces-redirect=true";
                } else {
                    FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("cliente", novoCli);
                    FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("empresa", novoCli);

                    if (novoCli.getIsForcarTrocaSenha()==true) {
                        return "/privado/trocaSenhaCliente.jsf?faces-redirect=true";
                    } else {
                        return "/privado/loginByCliente.jsf?faces-redirect=true";
                    }
                }
            }
        }
    }

    public String trocarSenha() throws ValidatorException, NscException, SQLException {

        Cliente cli = (Cliente) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("cliente");

        if (getSenhaNova()==null || getSenhaAntiga()==null || getSenhaNovaConfirmada()==null ) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO , "Senha incorreta!", "É preciso preencher os campos de senha!"));
            return null;
        }
        if (getSenhaNova().equalsIgnoreCase(getSenhaAntiga())) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO , "Senha incorreta!", "A senha NOVA não pode ser igual à senha ANTIGA!"));
            return null;
        }
        if (!getSenhaNova().equalsIgnoreCase(getSenhaNovaConfirmada())) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO , "Senha incorreta!", "A senha NOVA não é igual à senha CONFIRMADA!"));
            return null;
        }
        if (!cli.getSenhaWeb().equalsIgnoreCase(getSenhaAntiga())) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO , "Senha incorreta!", "A senha ANTIGA não confere!"));
            return null;
        }

        cli.setSenhaWeb(getSenhaNova());
        cli.setIsForcarTrocaSenha(Boolean.FALSE);

        ClienteDB cliDB = new ClienteDB();
        cliDB.update(cli, cli.getCodigo());

        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("cliente", cli);

        return "/loginClente.jsf?faces-redirect=true";
    }

    /**
     * @return the senhaWebAcesso
     */
    public String getSenhaWebAcesso() {
        return senhaWebAcesso;
    }

    /**
     * @param senhaWebAcesso the senhaWebAcesso to set
     */
    public void setSenhaWebAcesso(String senhaWebAcesso) {
        this.senhaWebAcesso = senhaWebAcesso;
    }

    /**
     * @return the liberadoCadastro
     */
    public Boolean getLiberadoCadastro() {
        return liberadoCadastro;
    }

    /**
     * @param liberadoCadastro the liberadoCadastro to set
     */
    public void setLiberadoCadastro(Boolean liberadoCadastro) {
        this.liberadoCadastro = liberadoCadastro;
    }

    /**
     * @return the codigoCidadeSelected
     */
    public String getCodigoCidadeSelected() {
        return codigoCidadeSelected;
    }

    /**
     * @param codigoCidadeSelected the codigoCidadeSelected to set
     */
    public void setCodigoCidadeSelected(String codigoCidadeSelected) {
        this.codigoCidadeSelected = codigoCidadeSelected;
    }

    public String pesquisarCNPJ() throws NscException, SQLException {
        Cliente cliPesquisa = novoDB.getByCampo("cnpjcpf", this.getCnpjCliAcesso());
        if (cliPesquisa!=null) {
            FacesContext.getCurrentInstance().addMessage("formLogin:docCpf", new FacesMessage(FacesMessage.SEVERITY_INFO, "Esse CNPJ já existe em nossa base de dados!", null));
            this.setLiberadoCadastro(Boolean.FALSE);
        } else {
            this.setLiberadoCadastro(Boolean.TRUE);
            this.setCnpjcpf(this.getCnpjCliAcesso());
        }        
        return null;
    }

    /**
     * @return the cidadesCadadastrado
     * @throws br.com.nscinfo.util.NscException
     * @throws java.sql.SQLException
     */
    public List<Cidade> getCidadesCadadastrado() throws NscException, SQLException {
        CidadeDB cidadeDB = new CidadeDB();
        return cidadeDB.getTodos();
    }

    /**
     * @param cidadesCadadastrado the cidadesCadadastrado to set
     */
    public void setCidadesCadadastrado(List<Cidade> cidadesCadadastrado) {
        this.cidadesCadadastrado = cidadesCadadastrado;
    }

    public String redirecionaNovo() throws IOException {
        return "frmCadastroCliente.jsf?faces-redirect=true";
    }

    public void buttonAction(ActionEvent actionEvent) {
        //addMessage("Welcome to Primefaces!!");
    }
    

    public String gravar() throws NscException, SQLException {
        
        Cliente novoCli = new Cliente();
        
        this.setTelefone( NscUtil.limpaN( this.getTelefone()));
        this.setTelefoneCelular(NscUtil.limpaN( this.getTelefoneCelular()));
        this.setTelefoneTrabalho(NscUtil.limpaN(this.getTelefoneTrabalho()));
        this.setFax(NscUtil.limpaN(this.getFax()));
        
        this.setCnpjcpf(NscUtil.limpaN( this.getCnpjcpf()));
        this.setIerg(NscUtil.limpaN( this.getIerg()));
        
        novoCli.setInativo(0);
        novoCli.setJuridica(1);
        novoCli.setEmitente(1);
        novoCli.setForcarTrocaSenha(0);
        
        novoCli.setDataAbertura(new NscData().getData());

        novoCli.setRazaoSocial(this.getRazaoSocial());
        novoCli.setNomeFantasia(this.getNomeFantasia());
        novoCli.setCnpjcpf(this.getCnpjcpf());
        novoCli.setIsento(this.getIsento());
        novoCli.setIerg(this.getIerg());
        
        novoCli.setTipoLogradouro(this.getTipoLogradouro());
        novoCli.setEndereco(this.getEndereco());
        novoCli.setNumeroEndereco(this.getNumeroEndereco());
        novoCli.setComplementoEndereco(this.getComplementoEndereco());
        novoCli.setCaixaPostal(this.getCaixaPostal());
        novoCli.setBairroEndereco(this.getBairroEndereco());
        novoCli.setCidade(this.getCodigoCidadeSelected());
        novoCli.setCepEndereco(this.getCepEndereco());
        novoCli.setUfEndereco(this.getUfEndereco());
        
        novoCli.setEmail(this.getEmail());
        novoCli.setTelefone(this.getTelefone());
        novoCli.setFax(this.getFax());
        novoCli.setTelefoneCelular(this.getTelefoneCelular());
        novoCli.setTelefoneTrabalho(this.getTelefoneTrabalho());
                
        novoDB.save((Cliente) novoCli);

        this.setCodigoCidadeSelected("");

        this.setRazaoSocial("");
        this.setNomeFantasia("");
        this.setCnpjcpf("");
        this.setIsento(0);
        this.setIerg("");
        
        this.setTipoLogradouro("");
        this.setEndereco("");
        this.setNumeroEndereco("");
        this.setComplementoEndereco("");
        this.setCaixaPostal("");
        this.setBairroEndereco("");
        this.setCepEndereco("");
        this.setUfEndereco("");
        
        this.setEmail("");
        this.setTelefone("");
        this.setFax("");
        this.setTelefoneCelular("");
        this.setTelefoneTrabalho("");

        
        this.setLiberadoCadastro(Boolean.FALSE);
        this.exibirMensagem(  "Gravação concluída com sucesso!");
        return null;
    }

    public void exibirMensagem(String mensagem) {
        FacesContext context = FacesContext.getCurrentInstance();
        context.addMessage(null, new FacesMessage( FacesMessage.SEVERITY_INFO, mensagem, "Atenção!") );
    }
        
    /**
     * @return the codigoCliAcesso
     */
    public String getCodigoCliAcesso() {
        return codigoCliAcesso;
    }

    /**
     * @param codigoCliAcesso the codigoCliAcesso to set
     */
    public void setCodigoCliAcesso(String codigoCliAcesso) {
        this.codigoCliAcesso = codigoCliAcesso;
    }

    /**
     * @return the cnpjCliAcesso
     */
    public String getCnpjCliAcesso() {
        return cnpjCliAcesso;
    }

    /**
     * @param cnpjCliAcesso the cnpjCliAcesso to set
     */
    public void setCnpjCliAcesso(String cnpjCliAcesso) {
        this.cnpjCliAcesso = cnpjCliAcesso;
    }

    public String buscaCep() {
        // * <BR><tt>{@link WebServiceCep} cep = {@link WebServiceCep}.searchCep("13345-325");
        //* 
        // * <BR>//caso a busca ocorra bem, imprime os resultados.
        // * <BR>if (cep.wasSuccessful()) {
        // * <BR>&nbsp; &nbsp; System.out.println("Cep: "+cep.getCep());
        // * <BR>&nbsp; &nbsp; System.out.println("Logradouro: "+cep.getLogradouroFull());
        // * <BR>&nbsp; &nbsp; System.out.println("Bairro: "+cep.getBairro());
        // * <BR>&nbsp; &nbsp; System.out.println("Cidade: "+
        // * 			cep.getCidade()+"/"+ cep.cep());
        // * <BR>//caso haja problemas imprime o c�digo e msg de erro.
        // * <BR>} else {
        // * <BR>&nbsp; &nbsp; System.out.println("Erro n�mero: " + cep.getResulCode());
        // * <BR>&nbsp; &nbsp; System.out.println("Descri��o do erro: " + cep.getResultText());
        // * <BR>}
        // * <BR></tt>
        // * <BR>A resposta do console seria:
        // * <BR><tt>
        // * <BR>Cep: 13345325
        // * <BR>Logradouro: Rua Cinco
        // * <BR>Bairro: Jardim R�mulo Zoppi
        // * <BR>Cidade: Indaiatuba/SP
        // * <BR></tt>
        System.out.println("testou o cep");
        
        String meuCep = this.getCepCadastro();
        String meuCep2 = this.getCepEndereco();
        
        br.com.nscinfo.cep.WebServiceCep cep = br.com.nscinfo.cep.WebServiceCep.searchCep(meuCep);
        if (cep.wasSuccessful()) {
            this.setTipoLogradouro(cep.getLogradouro());
            this.setBairroEndereco(cep.getBairro());
            this.setCidade(cep.getCidade());
            this.setUfEndereco(cep.getUf());
            
            
            System.out.println("Cep: "+cep.getCep());
            System.out.println("Logradouro full: "+cep.getLogradouroFull());
            System.out.println("Logradouro: "+cep.getLogradouro());
            System.out.println("Logradouro type: "+cep.getLogradouroType());
            System.out.println("Bairro: "+cep.getBairro());
            System.out.println("Cidade: "+cep.getCidade()+"/"+ cep.getCep());
        } else {
            System.out.println("Erro n�mero: " + cep.getResulCode());
            System.out.println("Descri��o do erro: " + cep.getResultText());
        }

    
    
        return null;
    }

    /**
     * @return the cepCadastro
     */
    public String getCepCadastro() {
        return cepCadastro;
    }

    /**
     * @param cepCadastro the cepCadastro to set
     */
    public void setCepCadastro(String cepCadastro) {
        this.cepCadastro = cepCadastro;
    }

}

Agora, nesse ponto, ele ainda está chamando a buscaCep, mas o conteúdo do atributo sempre nulo.

Hmm, notei que você tem 2 atributos relacionados a cep e na busca no webservice utiliza só o CepCadastro:

String meuCep = this.getCepCadastro();
String meuCep2 = this.getCepEndereco();

br.com.nscinfo.cep.WebServiceCep cep = br.com.nscinfo.cep.WebServiceCep.searchCep(meuCep);

O seu input de cep esta dessa forma:

<p:inputMask id="cepEndereco" mask="99.999-999" value="#{empresaMb.cepEndereco}" maxlength="10" size="12" converter="cepConverter" required="true" requiredMessage="É necessário informar o CEP!"  validator="checaNulo" ></p:inputMask>

Acredito que o correto seria você preecher neste campo o atributo CepCadastro, ficando dessa forma:

<p:inputMask id="cepEndereco" mask="99.999-999" value="#{empresaMb.cepCadastro}" maxlength="10" size="12" converter="cepConverter" required="true" requiredMessage="É necessário informar o CEP!"  validator="checaNulo" ></p:inputMask>
1 curtida

Então… o meuCep e o meuCep2, eu estava fazendo apenas para testes… o correto seria apenas usar o CepEndereco, mesmo…

Eu tentei outro atributo (o cepCadastro é um atributo apenas dentro da classe do MB), só para ver se ele não estava com problemas para mapear o meu POJO (o cepEndereco é da classe base)…

e nenhum dos dois casos funcionaram…

hmm, um outro teste que sugiro, é o seguinte:

<p:commandButton id="btnPesqCep" value="Pesquisar">
	<p:ajax action="#{empresaMb.buscaCep}" process="@form" update="@form" />
</p:commandButton>

Pois é… tentei essa forma também - foi a primeira que eu tentei quando me deparei com o problema. Tentei novamente agora (vai que mudou algo desde aquele momento…) e nada.

o p:ajax usa o listener, não o action, mas eu mudei aqui…

Estou perdendo as esperanças… rs…

ahuahuahua esta dificil msm heim gapler…
e sem ajax funciona?

se vc setar “ajax=false” no seu commandButton.

Finalmente solucionado… só não entendi o porquê, até agora…

  1. eu dividi o xhtml em 2 forms, um para a parte de cima da primeira pesquisa, outra para os dados abaixo…

  2. Tive que mudar o comando para :

<p:commandButton id="btnPesqCep" process="@this, cep" update="@this" action="#{escritorioMb.buscaCep()}" value="Pesquisa CEP" title="Pesquisa CEP!" />

Com as duas ações, funcionou…