Ir para conteúdo
  • Cadastre-se

Adriana Marques

Membros
  • Total de ítens

    1
  • Registro em

  • Última visita

Posts postados por Adriana Marques

  1. Em 05/12/2023 at 11:28, Arnaldo Luiz disse:

     

    Com aproximaçao do fim do prazo para a migração para a versão 4.0 vou deixar aqui dois xmls completos para exemplo

    que pode servir de referência para quem desenvolve

    Consulta status do servidor

    <?xml version="1.0" encoding="utf-8"?>
    <soap12:Envelope
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    	xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
    	<soap12:Body>
    		<cteDadosMsg
    			xmlns="http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4">
    			<consStatServCTe versao="4.00"
    				xmlns="http://www.portalfiscal.inf.br/cte">
    				<tpAmb>2</tpAmb>
    				<cUF>50</cUF>
    				<xServ>STATUS</xServ>
    			</consStatServCTe>
    		</cteDadosMsg>
    	</soap12:Body>
    </soap12:Envelope>

     

     

    CTe SincV4 sem soapheader e com dados compactados na base64

    <?xml version="1.0" encoding="utf-8"?>
    <soap12:Envelope
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    	xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
    	<soap12:Body>
    		<cteDadosMsg xmlns="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4">
              dadoscompactados
    		</cteDadosMsg>
    	</soap12:Body>
    </soap12:Envelope>

    CTe.xml descompactado (Esse é um exemplo só para mostrar como proceder  a compactação na base64 , esta incompleto)

    <CTe xmlns="http://www.portalfiscal.inf.br/cte">
    	<infCte versao="4.00" Id="CTe50231200172038000167570500000000031003067083">
    	</infCte>
    	<infCTeSupl>
    	</infCTeSupl>
    	<Signature	xmlns="http://www.w3.org/2000/09/xmldsig#">
    	</Signature>
    </CTe>

     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

×
×
  • Criar Novo...

Informação Importante

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.