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?