Página 1 de 1

CURL Ejemplo de uso con AEAT

Publicado: Dom Feb 25, 2024 10:15 am
por XeviCOMAS
Respondiendo al hilo del foro Pro.
viewtopic.php?t=14474

Jose, funciona perfecto como bien compartes. Lo he probado y Ok.

Yo hasta hoy lo he utilizado con CreateObject()

Código: Seleccionar todo

METHOD Button1Click( oSender ) CLASS TForm1
   local resolveTimeout := 5000
   local connectTimeout := 5000
   local sendTimeout    := 40000
   local receiveTimeout := 60000

   Local cUrlService, cDataSend, cResponse


      ::oMemo1:Value := ""
      cUrlService    := "https://www1.agenciatributaria.gob.es/wlpl/BURT-JDIT/ws/VNifV2SOAP"
      cDataSend := HB_MemoRead("Request.XML")


      WITH OBJECT CreateObject( "WinHttp.WinHttpRequest.5.1" )
      :SetTimeouts( resolveTimeout, connectTimeout, sendTimeout, receiveTimeout )
      :Open( "POST", cUrlService, .F. )
      // Cabeceras
      :SetRequestHeader( "Content-Type", "text/xml;charset=UTF-8" )

      //En fa prou amb un Certificat "instal·lat" al navegador... en aquest cas, només cal indicar quin certificat agafar, sense sel·leccionar-ne un en concret.
      :SetClientCertificate( "12345678X NOMBRE APELLIDO (R: B12345678)" )

      // Enviar mensaje
      :Send( cDataSend )

      ::oMemo1:Value := cResponse := :ResponseText
      END

      HB_MemoWrit("Response.xml",cResponse)

RETURN Nil

Lo que me facilita de esta manera és que no es necesario el password del certificado.
No se si es posible de la manera que tu has compartido, mediante curl.