Problema de envio de CT-e 4.0 - erro de compactação do XML

Boa tarde, referente à atualização no projeto de emissão de CT-e, estou trabalhando com o projeto em Java para fazer o processo de envio do CT-e. De acordo com o manual, o erro está ocorrendo ao descompactar o XML enviado. Gostaria de saber se há erro com o XML que estou enviando, ou se este erro pode ser causado por outra coisa.

o XML que está sendo compactado e transformado em base 64 segue o padrão disposto no anexo 1 do manual: (informações incompletas)

<?xml version="1.0" encoding="utf-8"?> ...

XML de envio (compactado):

<?xml version="1.0" encoding="utf-8"?>

<soap12:Envelope
xmlns:xsi=“…”
xmlns:xsd=“…”
xmlns:soap12=“…”>
soap12:Body

(string em base64)

</soap12:Body>
</soap12:Envelope>

XML de retorno:
135SP-CTe-2024-01-31-2244Rejeição: Falha na descompactação da área de dados.1SP-CTe-2024-01-31-22024-02-02T16:18:23-03:00244Rejeição: Falha na descompactação da área de dados.

Como está fazendo para compactar o XML?

Estava fazendo a compactação em um programa separado em Python da seguinte forma:

import gzip
import base64

def compress_and_encode(xml_string):
    compressed_data = gzip.compress(xml_string.encode("utf-8"))
    encoded_data = base64.b64encode(compressed_data).decode("utf-8")

    return encoded_data

xml_string = "<xml...>"

encoded_result = compress_and_encode(xml_string)
print(f'{encoded_result}\n')

O problema foi resolvido, no meu caso alterei para fazer o processo de compactação para base64 dentro do programa em Java, além de um erro no dígito verificador localizado no final da chave de acesso que acredito ter sido o que estava causando o erro.
(como calcular este valor é explicado no tópico 7.3 do manual geral)

1 curtida