Para obter os dados compactados utilizando a linha de comando em Linux
cat CTe.xml | gzip | base64 > dadoscompactados
Espero ter ajudado alguem
Acrescentando aqui uma ajuda para quem precisar. A parte do Gzip
Em C#
public string CompressGzip2(string svalue)
{
byte[] compressedBytes;
using (var uncompressedStream = new MemoryStream(Encoding.UTF8.GetBytes(svalue)))
{
using (var compressedStream = new MemoryStream())
{
using (var compressorStream = new GZipStream(compressedStream, CompressionMode.Compress))
{
uncompressedStream.CopyTo(compressorStream);
}
compressedBytes = compressedStream.ToArray();
}
}
return Convert.ToBase64String(compressedBytes);
}
---------------------
Em Vb.Net
Public Function CompressGzip2(ByVal svalue As String) As String
Dim compressedBytes As Byte()
Using uncompressedStream = New MemoryStream(Encoding.UTF8.GetBytes(svalue))
Using compressedStream = New MemoryStream()
Using compressorStream = New GZipStream(compressedStream, CompressionMode.Compress)
uncompressedStream.CopyTo(compressorStream)
End Using
compressedBytes = compressedStream.ToArray()
End Using
End Using
Return Convert.ToBase64String(compressedBytes)
End Function
Não é necessário fazer nada, apenas pegar o XML q começa com a tag CTe e enviar para a compressão, após, encapsular o zipado dentro do envelope
Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.
Modelos de XML com envelope soap para versao 4.0
em ACBrCTe
Postado
Acrescentando aqui uma ajuda para quem precisar. A parte do Gzip
Em C#
public string CompressGzip2(string svalue)
{
byte[] compressedBytes;
using (var uncompressedStream = new MemoryStream(Encoding.UTF8.GetBytes(svalue)))
{
using (var compressedStream = new MemoryStream())
{
using (var compressorStream = new GZipStream(compressedStream, CompressionMode.Compress))
{
uncompressedStream.CopyTo(compressorStream);
}
compressedBytes = compressedStream.ToArray();
}
}
return Convert.ToBase64String(compressedBytes);
}
---------------------
Em Vb.Net
Public Function CompressGzip2(ByVal svalue As String) As String
Dim compressedBytes As Byte()
Using uncompressedStream = New MemoryStream(Encoding.UTF8.GetBytes(svalue))
Using compressedStream = New MemoryStream()
Using compressorStream = New GZipStream(compressedStream, CompressionMode.Compress)
uncompressedStream.CopyTo(compressorStream)
End Using
compressedBytes = compressedStream.ToArray()
End Using
End Using
Return Convert.ToBase64String(compressedBytes)
End Function
Não é necessário fazer nada, apenas pegar o XML q começa com a tag CTe e enviar para a compressão, após, encapsular o zipado dentro do envelope