Prezados,
Estou com um problema com a conexão HTTPS com o servidor do eSocial. Ocorre que quando numa sequência inicial de envio de lotes de eventos de um CNPJ, o arquivo PFX contento o certificado e-CNPJ é utilizado para estabelecer a conexão segura com o servidor do governo. Nessa fase, os arquivos XML são enviados com sucesso e validação do CNPJ do certificado contra o CNPJ do XML enviar também é feita com sucesso, ou seja, o CNPJ do certificado e do XML recebido são iguais, trata-se de um regra definida pelo eSocial. Entretanto, quando ocorre o envio de um novo lote de evento, mas de um novo CNPJ (diferente do último enviado), o software de mensageria busca o arquivo PFX desse novo CNPJ para estabelecer a conexão HTTPS com o servidor do governo. Nesse ponto, o eSocial, quando recebe o XML do novo CNPJ, informa que o CNPJ do certificado, usado para estabelecer a conexão segura, é diferente do CNPJ contido no XML recebido. Eu já fiz uma revisão cuidadosa de todo o código que configura a conexão segura, para me certificar que o arquivo PFX que é utilizado é o correto, ou seja, é o certificado do CNPJ correspondente ao XML que será enviado. Como usamos o Apache CXF para gerar as classes stubs a partir dos WSDLs dos web services do governo, acredito que o framework esteja criando um cache de certificados, fazendo que não ocorra a troca de certificados para fazer a chamada do web service de envio de lotes de eventos do eSocial. Outra informação importante para o entendimento do meu problema. Sempre que ocorre o erro de validação de certificado, eu tenho feito o shutdown e startup do WildFly 10.1.0. Após essa ação, o último XML rejeitado pela regra de negócio do eSocial é transmitido e aceito pelo sistema do governo. Em contra partida, quando muda o CNPJ do lote de eventos o erro na consistência do certificado volta a ocorrer, o que sugere que o certificado que foi usado para estabelecer a conexão não está mudando.
Dito isso, para contextualização dos leitores, pergunto aos participantes do fórum se o Apache CXF possui alguma configuração de cache de conexão com o endereço de end point do web service? Pelo comportamento da aplicação, me parece que, como a URL do serviço web é sempre a mesma, o Apache CXF está mantendo em cache a conexão (ou algo semelhante a isso) , mesmo a aplicação fazendo a busca do arquivo PFX do novo CNPJ que será transmitido para criar um conexão com esse novo certificado. Alguém pode me dar uma orientação do que está acontecendo e como posso revolver esse problema com o Apache CXF? Qualquer informação é bem-vinda. Desde já, agradeço pela atenção! Anderson Bestteti