Rejeição 411: Campo versaoDados inexistente no elemento nfeCabecMsg do SOAP Header

Descrição oficial da SEFAZ: Campo versaoDados inexistente no elemento nfeCabecMsg do SOAP Header

O que significa

A requisição chegou sem o campo que informa a versão do leiaute no cabeçalho SOAP. O Web Service precisa dessa versão para saber como interpretar a mensagem.

Por que acontece

É problema de integração: o cabeçalho foi montado sem o campo, com o nome ou o namespace errado, ou o cliente do Web Service foi regerado e deixou de preencher o cabeçalho. A causa concreta depende de como o envelope está sendo construído.

Como resolver

Inclua no cabeçalho SOAP o campo de versão dos dados, com o valor da versão de leiaute que você está usando no XML, e reenvie. Confira que a versão declarada no cabeçalho é a mesma do XML da nota. O XML da NF-e não precisa ser reassinado.

Como evitar

Mantenha a versão do leiaute em um único ponto de configuração, usado tanto para gerar o XML quanto para montar o cabeçalho.