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> System.out.println("Cep: "+cep.getCep());
// * <BR> System.out.println("Logradouro: "+cep.getLogradouroFull());
// * <BR> System.out.println("Bairro: "+cep.getBairro());
// * <BR> System.out.println("Cidade: "+
// * cep.getCidade()+"/"+ cep.cep());
// * <BR>//caso haja problemas imprime o c�digo e msg de erro.
// * <BR>} else {
// * <BR> System.out.println("Erro n�mero: " + cep.getResulCode());
// * <BR> 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.