Facturacion TicketBai

Facturacion TicketBai

Postby landaga » Thu May 27, 2021 1:44 pm

Hola amigos
Hay alguien en el grupo que haya desarrollado la aplicación para adaptar la facturación electrónica a este nuevo sistema de las Haciendas vascas?
Yo tengo listo el proceso de facturación TicketBAI de las Haciendas de Bizkaia y Gipuzkoa (este último funcionando al 100%) pero me encuentro con problemas al enviar, vía POST, al webservice de Bizkaia el archivo comprimido en formato gzip (.gz) ya que el tamaño que llega al WS es diferente al del archivo y por lo tanto no lo pueden leer.
Algun paisano lo ha conseguido y me puede echar una mano?
Evidentemente, acepto la ayuda de cualquiera que tenga experiencia en el envío de archivos comprimidos vía POST :D
Gracias
Aquí el código:
Code: Select all  Expand view  RUN
TRY
  doc = CreateObject( "MSXML2.DOMDocument" )
  oWS:= CreateObject( "MSXML2.ServerXMLHTTP.6.0" )
CATCH
  MsgInfo( "Imposible crear objeto MSXML2" )
  RETURN (.F.)
END

 // Certificado que vamos a usar desde el almacén de certificados de Windows.
 oWS:SetOption(2,  13056)
 oWS:SetOption(3, "CNU1321LFC")

TRY
 oWS :Open("POST", cURL, .f.)
CATCH
 MsgInfo("No se puede conectar")
 Return (.F.)
END

 // Establecer el timeout de la operación en milisegundos:
 // resolveTimeout, connectTimeout, sendTimeout, receiveTimeout

  oWS :setTimeouts(15000,15000, 600000, 600000)

TRY
 // Cabecera de la peticion.
  oWS:SetRequestHeader("Accept-Encoding", "gzip")
  oWS:SetRequestHeader("Content-Encoding", "gzip")
  oWS:SetRequestHeader("Content-Type", "application/octet-stream" )
  oWS:SetRequestHeader("eus-bizkaia-n3-version", "1.0")
  oWS:SetRequestHeader("eus-bizkaia-n3-content-type", "application/xml")
  oWS:SetRequestHeader("eus-bizkaia-n3-data", cJson)                             //tengo un Json creado con los datos de la sociedad que envía
  oWS:SetRequestHeader("authorization", "32bae7bb................." )       // numero de serie del certificado de firma instalado en el equipo
CATCH
  MsgInfo( "No se ha podido generar la Cabecera" )
  RETURN (.F.)
END

// Enviamos la información.

cBody:=MemoRead("archivo.gz")     //archivo comprimido a enviar
                                  //tamaño (Content-Length) de 16.000 bytes y al WS llega un Content-Lenght de 13
 
TRY
  oWS:Send(cBody)
  oWS:WaitForResponse( 500000 )
CATCH
  MsgInfo( "No se ha podido enviar el archivo a " + cUrl)
  RETURN (.F.)
END
landaga
 
Posts: 20
Joined: Fri Sep 12, 2008 2:56 pm

Re: Facturacion TicketBai

Postby ArgConsulting » Thu Aug 05, 2021 7:06 pm

Hola Iandaga.
Estamos interesados en el tema del ticketbai. Ya tenemos parte del sistema pero nos queda algunas cosas.
Si quieres podemos intercambiar información (siempre que no seamos competencia :D )
Mi correo es el siguiente:
web@argcon.net
Si te interesa mándame un correo y empezamos.
ArgConsulting
 
Posts: 17
Joined: Mon Feb 24, 2020 10:34 am

Re: Facturacion TicketBai

Postby fgondi » Mon Dec 13, 2021 5:04 pm

Hola,

Estoy realizando pruebas para el envío del archivo gzip via POST.

Pero no consigo que funcione.

Alguien sabe como enviar un archivo gzip a un webservice a través de POST?
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
User avatar
fgondi
 
Posts: 694
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España

Re: Facturacion TicketBai

Postby hmpaquito » Mon Dec 13, 2021 5:34 pm

Hola,

¿ No será problema de los certificados ?

Yo utilizo curl.exe para el sii

salu2
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Facturacion TicketBai

Postby fgondi » Mon Dec 13, 2021 7:27 pm

Hola,

No, no es problema de los certificados.

El problema está en preparar el gzip.
Si genero yo el gzip, con memoread no lee todo el contenido.
Si envio el xml, con el Encoding gzip, no se envía.

Por favor, puedes indicarme como realizas el envío con curl
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
User avatar
fgondi
 
Posts: 694
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España

Re: Facturacion TicketBai

Postby hmpaquito » Tue Dec 14, 2021 8:10 am

fgondi wrote:Hola,

No, no es problema de los certificados.

El problema está en preparar el gzip.
Si genero yo el gzip, con memoread no lee todo el contenido.
Si envio el xml, con el Encoding gzip, no se envía.

Por favor, puedes indicarme como realizas el envío con curl


Así lo hago: viewtopic.php?f=6&t=36940#p220423
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Facturacion TicketBai

Postby fgondi » Tue Dec 14, 2021 8:21 am

Hola,

Muchisimas gracias.

Me pongo a ello
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
User avatar
fgondi
 
Posts: 694
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España

Re: Facturacion TicketBai

Postby landaga » Wed Dec 15, 2021 7:27 am

fgondi wrote:Hola,

No, no es problema de los certificados.

El problema está en preparar el gzip.
Si genero yo el gzip, con memoread no lee todo el contenido.
Si envio el xml, con el Encoding gzip, no se envía.

Por favor, puedes indicarme como realizas el envío con curl



salida := Respuesta+'.gz'
headers:= Respuesta+'.txt'
m := fcreate("LROE.bat",0)

FWrite (m, 'c:\gerogest\curl -X POST -# --connect-timeout 60 -m 60 -s -S -L --cert ./dispositivo.pem --header "Content-Type: application/octet-stream" --header "Accept-Encoding: gzip" --header "Content-Encoding: gzip" --header "eus-bizkaia-n3-version: 1.0" --header "eus-bizkaia-n3-content-type: application/xml" --header "eus-bizkaia-n3-data:'+cJson+'" --header "authorization: xxxxxxxxxxxxxxxxxxxx" --data-binary @'+cFileName+' https://'+cURL+' --output '+salida+' -D '+headers+' -v' )
FClose(m)
//-----------------------------

WaitRun("LROE.bat",0)
CursorWait()

Donde:
header "authorization: xxxxxxxxxxxxxxxxxxxx" en las x indicas el número de serie de tu certificado
data-binary indica que envías un archivo comprimido
cURL es la url a la que deseas realizar el envío
cFileName es el gzip
salida es el fichero de respuesta
headers son las cabeceras de respuesta

Un saludo
landaga
 
Posts: 20
Joined: Fri Sep 12, 2008 2:56 pm

Re: Facturacion TicketBai

Postby fgondi » Fri Dec 17, 2021 7:17 pm

Muchisimas gracias,

funcionó perfecto
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
User avatar
fgondi
 
Posts: 694
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 59 guests