Yo para el curl creo así los parámetros, y luego ejecuto el curl con shellexecute.
Código Delphi
[-]curlCommand := '-F "data=@' + nombreArchivo + '" ' +
' -H "Content-Type: application/xml;charset=UTF-8" ' + ' -H "Accept-Encoding: ''gzip''" ' +
' -H "Content-Encoding: ''gzip''" ' +
' -H "eus-bizkaia-n3-version: ''1.0''" ' +
' -H "eus-bizkaia-n3-content-type: ''application/xml''" ' +
' -H "eus-bizkaia-n3-data: ' + json + '"' +
' -X POST ' + url ;
Entiendo que es correcto porque el servidor me devuelve la siguiente respuesta:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:TicketBaiResponse xmlns:ns2="urn:ticketbai:emision">
<Salida>
<FechaRecepcion>25-05-2021 18:20:50</FechaRecepcion>
<Estado>01</Estado>
<Descripcion>Rechazado</Descripcion>
<Azalpena>Baztertua</Azalpena>
<ResultadosValidacion>
<Codigo>001</Codigo>
<Descripcion>Error: No se ha utilizado certificado de cliente.</Descripcion>
<Azalpena>Errorea: Ez da erabili bezeroaren ziurtagiririk.</Azalpena>
</ResultadosValidacion>
</Salida>
</ns2:TicketBaiResponse>
Lo cual es correcto imagino, ya que no le estoy enviando el certificado. Para enviar el certificado en curl, en teoría sería así:
Código Delphi
[-]--cacert PATH\certificado.crt
Yo ando un poco perdido con el tema del certificado. Sirve enviar uno de prueba? (Me interesa saberlo porqué aqui: web.uanataca.com/es/certificados-prueba se pueden conseguir. También hay otros sitios) Lo que pasa es que cuando envio uno de estos certificados me sigue dando el mismo error y tengo mis dudas de si no lo envío bien o realmente no és válido (tampoco sé si debe ser crt, pem). Alguien me puede contestar a esto?
Por cierto, soy nuevo en el foro y pido perdón por si no he puesto bien las etiquetas del código.
Muchas gracias.