Ver Mensaje Individual
  #522  
Antiguo 27-04-2021
joselugrk joselugrk is offline
Miembro
 
Registrado: abr 2021
Posts: 28
Reputación: 0
joselugrk Va por buen camino
Thumbs up Envío de Ficheros con ChilKat

Cita:
Empezado por aar1 Ver Mensaje
Hola joselugrk.

Para realizar la conexión del envío debes utilizar ChilkatSocket, este es un ejemplo en VB6 (Bizkaia):

Código Delphi [-]
Dim socket As New ChilkatSocket
success = socket.SetSslClientCertPfx("tu certificado.fpx", "contraseña del certificado")
success = socket.Connect("pruesarrerak.bizkaia.eus", 443, True, 5000)

Para comprimir y realizar el envío utiliza ChilkatRest y ChilkatStringBuilder:

Código Delphi [-]
Dim rest As New ChilkatRest
success = rest.UseConnection(socket, True)

rest.AddHeader "Accept-Encoding", "gzip"
rest.AddHeader "Content-Encoding", "gzip"
rest.AddHeader "Content-Length", filesize
rest.AddHeader "Content-Type", "application/octet-stream"
rest.AddHeader "eus-bizkaia-n3-version", "1.0"
rest.AddHeader "eus-bizkaia-n3-content-type", "application/xml"
rest.AddHeader "eus-bizkaia-n3-data", cadenajson

Dim dat As String

Dim stringBuilder As New ChilkatStringBuilder
success = stringBuilder.LoadFile("archivo XML a enviar", "utf-8")

dat = stringBuilder.GetAsString()

success = rest.SendReqStringBody("POST", "/N3B4000M/aurkezpena", dat)

No hace falta comprimir el archivo antes de enviarlo, ChilkatRest lo comprime y lo envía.

Para leer la cabecera de la respuesta:

Código Delphi [-]
success = rest.ReadResponseHeader()
dat = rest.ResponseHeader()

Para leer el archivo comprimido incluido en el body de la respuesta:

Código Delphi [-]
Dim aux_bin As New ChilkatBinData

aux_bin.AppendBinary (rest.ReadRespBodyBinary())
aux_bin.WriteFile "nombre del archivo comprimido donde se guarda la respuesta"
Dim gzip As New ChilkatGzip
success = gzip.UncompressFile("nombre del archivo comprimido donde se guarda la respuesta", "nombre del archivo XML descomprimido")

No he incluido las verificaciones de la variable success para no extender el código.

Espero que te sirva de ayuda.

Un saludo.
Lo reviso, y sobre todo muchas gracias por todo.
Joselu
Responder Con Cita