BLOCO X PAF-ECF

JCBOLIVEIRA 01/02/2017 08:56:25
#471204
Bom dia.

Estive lendo o tópico do nosso amigo CLAUDIOCIPRIANO (http://www.vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=470318&pagina=1) sobre o envio da redução Z e estoque para o web service (http://webservices.sathomologa.sef.sc.gov.br/wsDfeSiv/Recepcao.asmx) no Paf-ECF.
O tópico foi útil e agradeço as pessoas que o responderam.
Estou fazendo o consumo do ws (http://tempuri.org/EnviarReducaoZ) e no momento do envio só recebo a resposta [Ô]Erro: arquivo zip inválido.[Ô].
Não sei se estou zipando de forma correta ou não. Já utilizei o GZip (nativo do framework), SharpZipLib, DotNetZip e nada.
Já mandei apenas o XML, apenas o XML em base64 e sempre vem o mesmo retorno.
Queria saber se alguém já conseguiu fazer esta transmissão e se vcs poderiam me dar algumas dicas.
Qualquer ajuda ou dica será de grande utilidade.

Abraços,
Julio Cesar
KERPLUNK 01/02/2017 16:19:54
#471229
Você precisa zipar o arquivo e converter o arquivo zipado em Base64 e então enviar.
JCBOLIVEIRA 01/02/2017 16:39:35
#471234
Citação:

:
Você precisa zipar o arquivo e converter o arquivo zipado em Base64 e então enviar.


Pois é, acredito que devo estar fazendo algo errado.
Veja meu código:
   Using zip As Ionic.Zip.ZipFile = New Ionic.Zip.ZipFile()
zip.AddFile(arquivoXML, [Ô][Ô])
zip.Save(Replace(arquivoXML, [Ô].xml[Ô], [Ô].zip[Ô]))
End Using

Dim ZippedData As Byte()
ZippedData = System.Text.Encoding.Unicode.GetBytes(EncodeToBase64(Replace(arquivoXML, [Ô].xml[Ô], [Ô].zip[Ô])))

clsPafECF = New PafECF.Recepcao
Ws_Certific = X509Certificate.CreateFromCertFile(TxtCamCer.Text)
clsPafECF.ClientCertificates.Add(Ws_Certific)
clsPafECF.Url = Retorna_WS(TipoWS.WS_PafECF)
wsRetorno = clsPafECF.EnviarReducaoZ(vemCNPJ, vemDataBase, ZippedData)

Public Shared Function EncodeToBase64(ByVal zipPath As String) As String
Using fs As New FileStream(zipPath, FileMode.Open, FileAccess.Read)
Dim filebytes As Byte() = New Byte(fs.Length - 1) {}
fs.Read(filebytes, 0, Convert.ToInt32(fs.Length))
Return Convert.ToBase64String(filebytes)
End Using
End Function


Se puder dar um luz fico grato.

SDS.
Julio Cesar
JCBOLIVEIRA 02/02/2017 10:19:23
#471260
Bom dia.

Consegui enviar.
Um aviso aos navegantes, para o arquivo ser aceito não converta para base64, envie o arquivo somente zipado.

Um grande abraço a todos.
Estou encerrando o tópico.

SDS.
Julio Cesar
Tópico encerrado , respostas não são mais permitidas