Ver Mensaje Individual
  #3219  
Antiguo 09-08-2022
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
¿Has probado con este ContentType? (tercer parametro)
set CAB3=-H "Content-Type: application/xml;charset=UTF-8"
Parece que funcionó!!! MUCHAS GRACIAS!!!
La respuesta es:
Código:
HTTP/1.1 200 OK
Date: Tue, 09 Aug 2022 06:45:24 GMT
Server: Apache/2.4.16 (Unix) OpenSSL/1.0.1e-fips
X-Powered-By: Servlet/3.0
Content-Length: 861
Content-Type: application/xml;charset=utf-8
Content-Language: en-US
Ahora seguiré mirando cómo sigue el intercambio, pues el mensaje de respuesta me dice que el tamaño no es válido.
No se si se refiere a:
  • todo el mensaje
  • La parte JSON de la cabecera.
  • al campo <TicketBAI> que contiene el Ticket BAI comprimido y convertido a Base64
  • algún campo dentro del Ticket BAI (aunque esto sí lo acepta)

Código:
Fichero RESPUESTA_1.GZ
(que contiene texto XML ya que el Content-Type de la respuesta es application/xml;charset=utf-8)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:TicketBaiResponse xmlns:ns2="urn:ticketbai:emision">
    <Salida>
        <FechaRecepcion>09-08-2022 09:04:18</FechaRecepcion>
        <Estado>01</Estado>
        <Descripcion>Rechazado - ALTA PREP</Descripcion>
        <Azalpena>Baztertua - ALTA PREP</Azalpena>
        <ResultadosValidacion>
            <Codigo>017</Codigo>
            <Descripcion>El tamaño del mensaje no es válido: ha superado el tamaño permitido. Le recomendamos que eliminen espacios, tabulaciones u otro tipo de caracteres innecesarios.</Descripcion>
            <Azalpena>Mezuaren tamaina ez da zuzena: baimendutako tamaina gainditu du. Espazioak, tabulazioak edo beharrezkoak ez diren bestelako karaktereak ezabatzea gomendatzen dizugu.</Azalpena>
        </ResultadosValidacion>
    </Salida>
</ns2:TicketBaiResponse>
Si alguien me puede enviar un fichero de presentación de un ticket BAI os lo agradecería, para poder comparar formato, tamaño, codificacion, etc.

Os dejo el BAT con el que estoy trabajando hasta ahora.
Código:
@echo off
cd C:\Users\Usuario\AppData\Local\Temp\

rem HEADER del mensaje que enviamos.
set CAB1=-H "Accept-Encoding: gzip" 
set CAB2=-H "Content-Encoding: gzip" 
set CAB3=-H "Content-Type: application/xml;charset=UTF-8" 
set CAB4=-H "eus-bizkaia-n3-version: 1.0" 
set CAB5=-H "eus-bizkaia-n3-content-type: application/xml" 

rem JSON de la cabecera con datos de la presentacion
set CAB6=-H "eus-bizkaia-n3-data: { \"con\":\"LROE\", \"apa\":\"1.1\", \"inte\":{ \"nif\":\"B95642500\", \"nrs\":\"ECOTHERM ENERGY SL\", \"ap1\":\"\", \"ap2\":\"\" }, \"drs\":{ \"mode\":\"240\", \"ejer\":\"2022\" } } "

rem Fichero que contiene el XML de presentacion comprimido en formato GZ.
set FICHERO=--data-binary "@Presentacion_1.gz" 

rem Certificado
rem set CERT_TYPE=--cert-type PEM 
set CERT=--cert Certificado_crt.pem 
set CERT_KEY=--key Certificado_key.pem 

rem URL a donde enviamos el mensaje. (Alta y Baja en produccion o en pruebas)
set URL=-v https://tbai-z.prep.gipuzkoa.eus/sarrerak/alta

rem Fichero con el mensaje de respuesta. Puede ser un mensaje de error en formato XML (<ns2:TicketBaiResponse xmlns:ns2="urn:ticketbai:emision">).
set FICHERORESPUESTA=--output Respuesta_1.gz

rem La primera linea sera el codigo de error. Por ejemplo "HTTP/1.1 200 OK".
rem Tambien devolvera el yipo de contenido de la respuesta. Por ejemplo "Content-Type: application/xml;charset=utf-8".
set HEADERRESPUESTA=-D Respuesta_1.txt

cls 
.\curl.exe -v --insecure %CAB1% %CAB2% %CAB3% %CAB4% %CAB5% %CAB6% %FICHERO% %CERT_TYPE% %CERT% %CERT_KEY% %URL% %FICHERORESPUESTA% %HEADERRESPUESTA% 

pause
Responder Con Cita