Ver Mensaje Individual
  #3217  
Antiguo 08-08-2022
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Problemas de envio mediante CURL

Estoy tratando de enviar mediante CURL un registro.

En la apliación hago y firmo el TicketBAI y luego hago el xml de la presentación.
Código:
<?xml version="1.0"?>
<lrpjfecsgap:LROEPJ240FacturasEmitidasConSGAltaPeticion xmlns:lrpjfecsgap="https://www.batuz.eus/fitxategiak/batuz/LROE/esquemas/LROE_PJ_240_1_1_FacturasEmitidas_ConSG_AltaPeticion_V1_0_2.xsd">
  <Cabecera>
    <Modelo>240</Modelo>
    <Capitulo>1</Capitulo>
    <Subcapitulo>1.1</Subcapitulo>
    <Operacion>A00</Operacion>
    <Version>1.0</Version>
    <Ejercicio>2022</Ejercicio>
    <ObligadoTributario>
      <NIF>B95642500</NIF>
      <ApellidosNombreRazonSocial>ECOTHERM ENERGY SL</ApellidosNombreRazonSocial>
    </ObligadoTributario>
  </Cabecera>
  <FacturasEmitidas>
    <FacturaEmitida>
      <TicketBai>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48VDpUaWNrZXRC
[...]
PjwvZHM6T2JqZWN0PjwvZHM6U2lnbmF0dXJlPjwvVDpUaWNrZXRCYWk+
</TicketBai>
    </FacturaEmitida>
  </FacturasEmitidas>
</lrpjfecsgap:LROEPJ240FacturasEmitidasConSGAltaPeticion>
Este fichero lo comprimo con 7zip en formato gz.
Código:
7z.exe a Presentacion_1.gz Presentacion_1.xml
Luego creo un fichero BAT para ejecutar el envío:
Código:
set CAB1=-H "Accept-Encoding: gzip" 
set CAB2=-H "Content-Encoding: gzip" 
set CAB3=-H "Content-Type: application/octet-stream" 
set CAB4=-H "eus-bizkaia-n3-version: 1.0" 
set CAB5=-H "eus-bizkaia-n3-content-type: application/xml" 
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\" } } " 
set FICHERO=--data-binary "@Presentacion_1.xml" 
set CERT=--cert Certificado_crt.pem 
set CERT_KEY=--key Certificado_key.pem 
set URL=-v https://tbai-z.prep.gipuzkoa.eus/sarrerak/alta 
set REPUESTA=--output Respuesta_1.gz 
set CABECERA=-D Respuesta_1.txt 
cls 
.\curl.exe -v --insecure %CAB1% %CAB2% %CAB3% %CAB4% %CAB5% %CAB6% %FICHERO% %CERT_TYPE% %CERT% %CERT_KEY% %URL% %RESPUESTA% %CABECERA%
El problema es que me está devolviendo el mensaje 415 Unsupported Media Type
Código:
HTTP/1.1 415 Unsupported Media Type
Date: Mon, 08 Aug 2022 13:14:34 GMT
Server: Apache/2.4.16 (Unix) OpenSSL/1.0.1e-fips
X-Powered-By: Servlet/3.0
$WSEP: 
Transfer-Encoding: chunked
Content-Type: text/html;charset=ISO-8859-1
Content-Language: en-US
He seguido este hilo y he visto y comparado las difrentes formas de enviar por CURL que hay en el mensaje que resume este tema.
He visto que hay algunos de ustedes que han enviado con éxito utilizando CURL estos registros.

¿Véis alguna cosa rara en cómo lo estoy haciendo yo?

Lo único que me resulta raro en la respuesta es
Content-Type: text/html;charset=ISO-8859-1
Pero yo genero en UTF8 y en la cabecera se menciona tipo gzip.


Por si sirve de algo, os dejo la captura completa de lo que devuelve CURL.

Código:
C:\Users\Usuario\AppData\Local\Temp>.\curl.exe -v --insecure -H "Accept-Encoding: gzip"  -H "Content-Encoding: gzip"  -H "Content-Type: application/octet-stream"  -H "eus-bizkaia-n3-version: 1.0"  -H "eus-bizkaia-n3-content-type: application/xml"  -H "eus-bizkaia-n3-data: { \"con\":\"LROE\", \"apa\":\"1.1\", \"inte\":{ \"nif\":\"B95642500\", \"nrs\":\"ECOTHERM ENERGY SL\", \"ap1\":\"\", \"ap2\":\"\" }, \"drs\":{ \"mode\":\"240\", \"ejer\":\"2022\" } } "  --data-binary "@Presentacion_1.xml"   --cert Certificado_crt.pem  --key Certificado_key.pem  -v https://tbai-z.prep.gipuzkoa.eus/sarrerak/alta   -D Respuesta_1.txt
*   Trying 82.116.160.130:443...
* Connected to tbai-z.prep.gipuzkoa.eus (82.116.160.130) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS header, Finished (20):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS header, Finished (20):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: C=ES; ST=GIPUZKOA; L=DONOSTIA / SAN SEBASTIAN; O=INFORMATIKA ZERBITZUEN FORU ELKARTEA - SOCIEDAD FORAL DE SERVICI; CN=*.prep.gipuzkoa.eus
*  start date: Nov 15 15:59:03 2021 GMT
*  expire date: Dec 15 15:59:03 2022 GMT
*  issuer: C=ES; O=IZENPE S.A.; OU=AZZ Ziurtagiri publikoa - Certificado publico SCA; CN=EAEko Herri Administrazioen CA - CA AAPP Vascas (2)
*  SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
> POST /sarrerak/alta HTTP/1.1
> Host: tbai-z.prep.gipuzkoa.eus
> User-Agent: curl/7.81.0
> Accept: */*
> Accept-Encoding: gzip
> Content-Encoding: gzip
> Content-Type: application/octet-stream
> eus-bizkaia-n3-version: 1.0
> eus-bizkaia-n3-content-type: application/xml
> eus-bizkaia-n3-data: { "con":"LROE", "apa":"1.1", "inte":{ "nif":"B95642500", "nrs":"ECOTHERM ENERGY SL", "ap1":"", "ap2":"" }, "drs":{ "mode":"240", "ejer":"2022" } }
> Content-Length: 19906
>
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Hello request (0):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, CERT verify (15):
* TLSv1.2 (OUT), TLS header, Finished (20):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS header, Finished (20):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* old SSL session ID is stale, removing
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* Mark bundle as not supporting multiuse
< HTTP/1.1 415 Unsupported Media Type
< Date: Mon, 08 Aug 2022 14:02:00 GMT
< Server: Apache/2.4.16 (Unix) OpenSSL/1.0.1e-fips
< X-Powered-By: Servlet/3.0
< $WSEP:
< Transfer-Encoding: chunked
< Content-Type: text/html;charset=ISO-8859-1
< Content-Language: en-US
<
* TLSv1.2 (IN), TLS header, Supplemental data (23):
Error 415: SRVE0295E: Error reported: 415
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* Connection #0 to host tbai-z.prep.gipuzkoa.eus left intact

Última edición por duilioisola fecha: 08-08-2022 a las 16:12:40.
Responder Con Cita