![]() |
Cita:
|
Hace unos días publique lo siguiente, no se si podrá ser por esto.
Cita:
|
Cita:
¡Gracias! |
Cita:
Llevo toda la tarde jugando con valores del registro y con la utilidad IISCrypto a ver si doy con alguna combinación de protocolo y cifrado que permita el uso sin éxito. También he cambiado en mi aplicación el componente THTTPRIO para que sólo use TLS 1.2, pero siempre me devuelve el error 12175 (Error de seguridad) y en el registro de eventos un error de Schannel con el texto Se recibió una alerta irrecuperable desde el extremo remoto. El código de alerta irrecuperable definido del protocolo TLS es: 40., código de error que refiere a la negociación. |
Buenos días,
Desde hace unos días nos está fallando el envío de facturas al SII (y otras operaciones como la identificación fiscal por NIF). El sistema operativo utilizado es Windows Server 2012 R2 y el componente utilizado el HTTPRIO. Lo extraño es que hasta ahora ha funcionado correctamente, y sin tocar nada ha empezado a dar este error: Error sending data: (12175) Error de seguridad ¿Os habéis encontrado este error alguna vez? ¿Alguna idea? Muchas gracias. |
Cita:
|
A nosotros, que teníamos windows 7 en un cliente , y hace un mes con el aviso de un compañero del foro, nos empezó a dar el error, en un principio lo solucionamos reinstalando el certificado, pero desde ayer ni siquiera eso nos ha funcionado. Hemos tenido que hacer una migración express a W10 para que pudiera enviar las facturas, un drama vamos :eek:
|
Cita:
|
Buenos días:
Nosotros hemos podido migrar (de momento la consulta de NIFS que es lo más sencillo) del componente THTTPRIO al componente TIDHTTP. Con este último componente, y con TIdSSLIOHandlerSocketOpenSSL configurado a TLS 1.2, no sólo hemos podido conectar sin problema, sino que además, nos permite realizar las consultas sin tener instalado CAPICOM. Supongo que mi compañero encargado del SII, realizará próximamente la misma migración de componente para realizar el envío. Tanto en servidores Windows 2012 cómo en servidores Windows 2008. Supongo que Windows 2007 no debe ser tampoco problema. |
Cita:
|
Cita:
Madre mía, Delphi 2007 :D |
Podrias decir como lo ha migrado a Indy?
La unit SOAPHTTPTrans parece estar preparada usando el define USE_INDY pero tampoco consigo que me funcione. |
Cita:
Veo que también hay los nuevos HTTPRIO de Clevercomponents.com pero se tienen que comprar. No se si vale la pena explorar las demos para ver si con los nuevos componentes funciona en Windows Server 2008 y 2012. Muchas gracias |
Cita:
|
Si ya se lo del SO. Pero segun veo se puede activar, por ejemplo des de support.microsoft.com/es-es/topic/actualizar-para-habilitar-tls-1-1-y-tls-1-2-como-protocolos-seguros-predeterminados-en-winhttp-en-windows-c4bd73d2-31d7-761e-0178-11268bb10392 indican como habilitarlo en SO antiguos. Queria saber si alguien lo ha provado antes y le ha funcionado.
Me parece dificil de entender que de un dia por otro no podamos hacer llamadas a AEAT des de Servidores porque tienen Windows Server 2008 o 2012. Ya se que tienen años pero seguimos teniendo clientes con estos SO. |
Este código de DELPHI 2007 Funciona en 2008 Y 2012 en la consulta de NIFS, sin IISCrypto ni tocar el registro. (Y no necesita CAPICOM)
Código PHP:
|
Perfecto, pues ya me funciona a mi tambien. Lo dejo aqui para si a alguien le sirve.
Al final lo que he hecho es copiar todas las units de "C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\source\Win32\soap" a una carpeta dentro del proyecto. Compilar el proyecto con los defines de USE_INDY y INDY_CUSTOM_IOHANDLER, para que el THTTPRIO use Indy al hacer el post. Luego configurar el TIdSSLIOHandlerSocketOpenSSL tal y como comenta YellowStone y pasarselo al HTTPRIO asi: HTTPRIO1.HTTPWebNode.IOHandler := IdSSLIOHandlerSocketOpenSSL1; Ahora voy a pulir el codigo, pero recibo una respuesta ya de AEAT en formato SOAP. Gracias a todos |
Hola!
Voy a ponerme con las pruebas de SII... No encuentro información clara, no sé si alguien podría decirme si en alguna página esta todo o donde puedo encontrarlo... Endpoint, XML de ejemplo, documentos con los esquemas... Llevo un ratito pegándome en esta web: https://sede.agenciatributaria.gob.e...icios-web.html Pero no encuentro lo que comento... Veo que necesito certificado de prueba, o eso me dice ChatGPT... sabéis de donde puedo sacarlo? |
Justo la web que comentas es la web oficial donde està todo. De hecho todos los puntos que pones que no encuentras estan alli:
Endpoint -> WSDL de los servicios web XML -> Descripción del servicio web ( en el pdf ) documentos con los esquemas -> Esquemas Certificado es con el tuyo de FNMT o del que hace las presentaciones. No recuerdo mucho en el caso del SII pero todos los servicios de AEAT tienen un EndPoint de pruebas. |
En un ordenador con W10 Pro y Framework 4.8 también nos sigue dando el mismo error:
Received content of invalid Content-Type setting: text/html - SOAP expects "text/xml" También hemos agregado la entrada TLS 1.2 en el registro, pero no hay manera. ¿Os ha pasado con algún W10? |
Si, a mi también me ha pasado con un W10 pero como no puedo ver la respuesta del SOAP y que texto HTML devuelve directamente no he seguido mirando el problema.
Estoy a la espera de poder hacer el cambio de todo el sistema SOAP a Indy como puse en un mensaje anterior y luego lo volveré a provar a estos clientes. |
Creo que eso se puede activar en las características del Windows.
|
Perdonar mi ignorancia, pensaba que esto sería más sencillo y no saco nada en claro, me he leído varias páginas del post, pero es infinito!
Veo que importáis el WDSL, esto nunca lo he hecho, es para generar el XML? o para que? Yo trabajo con visual studio, pero como me ayudasteis muchísimo en el tema de TicketBai, pues siempre os leo... El proceso es: 1- Generar XML 2- Subirlo logeandote con certificado? Por favor arrojarme algo de luz!(o a los leones...) |
Cita:
Buenas. La importación del WSDL (por lo menos en Delphi) es para generar las unidades necesarias para poder hacer la llamada mediante un objeto HTTPRIO, ese objeto es el que genera el fichero XML y lo envía rellenando los campos en el mismo objeto sin necesidad de crear el XML "a pelo". La verdad es que no te puedo decir cómo hacerlo con Visual Studio, quiero recordar que alguien que trabajaba con Visual Basic tenía que generar directamente a mano el XML, firmarlo y enviarlo pero no me hagas mucho caso. Saludos. |
Cita:
Buenas, Si, asi es. Primero se genera el xml y despues se envia mediante mesajes soap autentificados con certificado. Con el wsdl generamos el xml ya que nos permite ,mediante las clases que crea al importarlo al proyecto, manejar los nodos y estructura del xml facilmente. Para importar el wsdl nada mas que tienes que agregar a tu proyecto el servicio y listo. Para eso : proyectos-añadir referencia de servicio y añades la direccion https://www2.agenciatributaria.gob.e...tEmitidas.wsdl ..... y este para las facturas recibidas https://www2.agenciatributaria.gob.e...Recibidas.wsdl Con eso ya te permite referenciarlo en tu codigo para ir generando la estructura del fichero xml: Dim oSfe As New SuministroFactEmitidas.LRConsultaEmitidasType oSfe.Cabecera = New SuministroFactEmitidas.CabeceraConsultaSii oSfe.Cabecera.IDVersionSii = SuministroFactEmitidas.VersionSiiType.Item11 oSfe.Cabecera.Titular = New SuministroFactEmitidas.PersonaFisicaJuridicaUnicaESType With { .NombreRazon = aeatrscertificado, .NIF = cifempresa } ... etc un saludo y te sigo por si necesitas algo. Yo trabajo en vs2010 |
Cita:
Siempre he generado el XML a pelo, la verdad. Voy a probar a ver que tal! Por lo que tengo entendido todas las empresas deben acogerse al SII, y si no te acoges(no las subes) si tienes una inspección, deberías generarlas todas de golpe y presentarlas de la misma forma.(Esto tengo entendido) ¿Es así? Por lo que he leído en la información, podemos presentar: - Libro registro de Facturas Expedidas. - Libro registro de Facturas Recibidas. - Libro registro de Bienes de Inversión. - Libro registro de Determinadas Operaciones Intracomunitarias. No puedo presentar cobros? solo las facturas, algo se me escapa... Mil Gracias! |
Cita:
Compañero... creo que estás confundiendo SII con Verifactu y son dos "ñapas" distintas. |
Cita:
Voy al lio ^\||/ |
Cita:
No es lo mismo que la factura electrónica ni que SII. Antes de ponerte a trabajar asegúrate :) Te paso el enlace del foro que habla de la ley antifraude: Ley antifraude: https://www.clubdelphi.com/foros/forumdisplay.php?f=63 Saludos |
Cita:
Toda la razón, Gracias! |
Hola a todos.
Sigo con el problema de enviar al SII con el nuevo delphi 12.2 update 2 (Athens). Estoy enviando con THttpRio importando los wsdl. Me he dado cuenta que si envío pocos registros en un envío funciona correctamente, pero si hago un envío con muchos registros más de 100 mas o menos, al enviarlos me sale el siguiente error. Estoy probando con recibidas, pero pasa lo mismo con las demás. Cita:
La diferencia que veo es que cuando envío pocos se activa el evento HTTPWebNode1NeedClientCertificate, para indicarle por el certificado que tiene que enviar, pero si envío muchos este evento no se activa y por lo tanto sale el error. No se si alguien tiene este delphi y le esta ocurriendo lo mismo o lo puede probar. Por cierto el mismo envío realizado con el delphi Tokio funciona correctamente. |
Documento Firmado
2 Archivos Adjunto(s)
:) Considero que mi firma hecha con mi propio desarrollo esta hermosa y completa.
:p No le falta Nada!!! |
¡¡Anda!! Pues estaría bien que compartieras cómo lo has firmado.
Saludos. |
Buenas!
Hace tiempo que no toco este tema porque no tengo muchos clientes que usen el SII, pero casualmente esta semana un cliente nos ha dicho que recibe este error: Received content of invalid content-type setting: text/html - SOAP expects "text/xml" Lo cierto es que no sé por qué de repente da este error, porque no se ha cambiado nada. Uso el componente HTTPRIO. Lo tengo así: - SecureProtocols: TLS12 y TLS13 - En WSDL Location tengo: https://www2.agenciatributaria.gob.e...tEmitidas.wsdl (no sé si es necesario si luego asigno yo el puerto, addr y service a mano, pero bueno, ahí está) - Port y Service los tengo en blanco en el componente porque lo relleno a mano para poder alternar entre Pruebas y Producción de esta manera: Código:
if (ENTORNO_PRUEBAS) then |
Cita:
Buenas compañero. ¿Es posible que sea por la versión de windows? Tema de compatibilidades con TLS y eso. Saludos. |
Cita:
A mi ese mensaje me apareció el otro día, haciendo pruebas en VERI*FACTU, al enviar la comunicación sin firmar, es decir no encontró el certificado y lo estaba intentando enviar sin firma. Lo comento, por si va por ahí los tiros y te sirve de algo. Suerte Un saludo |
Cita:
Al cliente también le pasa y tiene W11 también. |
Cita:
No sé si el código estará bien, pero no he cambiado absolutamente nada (de hecho era un proyecto que llevaba años sin tocarse). Ha sido ahora al abrir el proyecto con Delphi 12.2 cuando he tenido que hacer algún cambio, pero sin embargo el cliente tiene la misma versión de siempre. |
Cita:
Pues no sé. Lo único que te puedo decir es que a mi me salía exactamente el mismo error intentando enviar datos con mi W7 a partir de la actualización que hicieron de seguridad en los servidores de la aeat y por eso tuve que cambiar mi máquina y ahora uso una con W10. Una prueba que podrías hacer es intentar enviar datos desde W10 a ver.... Saludos. |
A ver, que esto está empezando a volverme loco...
He creado el XML y lo he revisado con la utilidad de "invocación de webservice de la AEAT" para comprobar si es válido: https://prewww1.aeat.es/static_files...teWSAEAT2.html La respuesta del servidor es "Correcto". Por lo tanto, entiendo que en el XML que genero está todo bien, pero por algún motivo el componente HTTPRIO no está leyendo la respuesta porque me devuelve el error: Received content of invalid content-type setting: text/html - SOAP expects "text/xml" Entiendo que en el SII no hay que firmar el XML, solo el envío. Esto lo hago en el evento OnNeedCertificate: Código:
for I := 0 to ACertificateList.Count - 1 doCódigo:
tryHe probado también a hacer el envío con el componente NetHTTPClient para ver qué pasa. En ese caso, como respuesta obtengo un código html de una página de la AEAT (eso explica el error si uso HTTPRIO, estoy obteniendo como respuesta una página html en vez de un xml). ¿Puede alguien confirmarme si las URL que estoy usando y la forma de llamar a GetsiiSOAP() es correcta? Algo me dice que el envío está abriendo otra página, o algo similar, y por eso devuelve html y no xml. La firma del envío la hago en el evento OnNeedCertificate del HTTPRIO. No creo que eso esté mal porque lleva funcionando así siempre. ¿Será que debo usar otro certificado distinto? ¿Hay que darse de alta en algún sitio primero? ¿Puedo usar certificados de prueba? ¿Debe el nombre del emisor coincidir con el nombre en el certificado? La verdad es que ya no sé qué más probar. Funcionaba todo bien hasta hace unos días (al menos a mi cliente). Y ahora tanto él como yo no podemos enviar al entorno de pruebas. |
| La franja horaria es GMT +2. Ahora son las 22:30:05. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi