Rejeição 517: Falha no schema XML – inexiste atributo versao na tag raiz da mensagem
Descrição oficial da SEFAZ: Falha no schema XML – inexiste atributo versao na tag raiz da mensagem
O que significa
A tag raiz da mensagem chegou sem o atributo versao. A SEFAZ usa esse atributo para saber contra qual layout validar o documento, então sem ele nem começa a validação.
Por que acontece
A regra é objetiva: o atributo tem que existir na tag raiz e trazer a versão do leiaute. A causa concreta depende de como sua mensagem foi montada — pode ser o atributo omitido pelo gerador, perdido numa serialização que ignorou atributos, ou uma raiz montada à mão sem ele. Não é possível dizer qual foi só pelo código de rejeição.
Como resolver
Pegue o XML como transmitido e olhe a tag raiz: o atributo versao precisa estar lá, com a versão do leiaute aceita pelo serviço. Confira também se o namespace da raiz está correto, porque os dois costumam se perder juntos. Ajuste o gerador, reassine se for o caso e retransmita.
Como evitar
Valide contra o XSD antes de enviar — a ausência do atributo é apontada na validação local.