![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
me autorespondo, es utilizando el metodo XSToNative y poniendo 'a piñón' el valor que queramos
|
|
#2
|
||||
|
||||
|
La AEAT sobre el error 4118:
Cita:
|
|
#3
|
|||
|
|||
|
Tiene pinta de que el error va a estar en que nuestro XML tiene repetido el nodo "RegFactuSistemaFacturacion".
Al recibir el XML, AEAT intenta buscar dentro de ese nodo los datos de la factura, pero lo que encuentra es otro nodo "RegFactuSistemaFacturacion". No soy un experto en XML ni sé cómo AEAT interpreta el archivo, pero me da que el problema puede estar ahi. Otra cosa que he notado en mi XML con respecto al que publicaron recientemente es que el que yo genero tiene dos nodos de más: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body xmlns:NS1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd"> ..... </SOAP-ENV:Body> </SOAP-ENV:Envelope> El otro XML que publicaron que sí se envía sin error no tiene esas dos líneas. No sé qué hay que configurar en Delphi, o en el componente HTTPRIO, o en el wsdl importado, etc. para que no haga eso. Por si esa fuera la causa del problema. |
|
#4
|
||||
|
||||
|
Cita:
Probare mañana a enviar XMLS manuales, copiando algunos de los que han remitido por aqui. Saludos! |
|
#5
|
|||
|
|||
|
De los que habéis podido enviar, que hay que poner exactamente en el campo FechaHoraHusoGenRegistro ??
Porque he probado: 2024-10-01T13:17:13+01:00 (error) 2024-10-01T13:17:13+02:00 (error) 2024-10-01T12:17:13+01:00 (restando una hora para que aplique el +01:00, error) 2024-10-01T11:17:13+02:00 (restando dos horas para que aplique el +02:00, error) 2024-10-01T15:17:13+02:00 (sumando dos horas para que aplique el +02:00, error) Última edición por pablog2k fecha: 01-10-2024 a las 13:26:42. |
|
#6
|
|||
|
|||
|
Cita:
Comprueba también que la hora de tu equipo, si es una aplicación de escritorio, es igual a la hora de la aeat, en mi caso como la aplicación funciona en navegador web cojo la hora del servidor web que es la misma hora que la de la aeat porque la hora del servidor web está sincronizada y no tengo que andar mirando la hora del PC. Saludos. |
|
#7
|
|||
|
|||
|
Cita:
# curl "http://worldtimeapi.org/api/timezone/Europe/Madrid" si estás en península. Te va a devolver, entre otras cosas, "datetime": "2024-10-01T13:56:54.849406+02:00". Esta fecha es la que tienes que informar en el FechaHoraHusoGenRegistro, indica la hora actual y el +2 hace referencia al horario de verano. Si estás en las Islas Canarias ejecutas # curl "http://worldtimeapi.org/api/timezone/Atlantic/Canary", donde obtenemos "datetime": "2024-10-01T12:55:50.103145+01:00", donde el +1 indica horario de verano ya que en las Islas hay una hora menos. |
|
#8
|
|||
|
|||
|
Cita:
De todas formas mi problema no es obtener la fecha actual, es saber que narices están esperando... he probado todas las maneras habidas y por haber, restando y sumando horas.... y nada (tus ejemplos tampoco me funcionaron ,ni con milisegundos ni sin milisegundos) |
|
#9
|
|||
|
|||
|
Con el .pas generado al importar el WSDL como SOAP 1.2, solo tuve que añadir esta línea al .pas (gracias a pablog2k)
La añadí justo después de la que viene por defecto:
Después de ese cambio, me daba otro error indicando que faltaba el campo "IDDestinatario", pero ese campo sí que estaba. Lo que pasa es que en mi IDDestinatario había añadido el subnodo "IDOtro". Lo quité y ya pude hacer el envío. Ahora bien, el envío me devuelve "Incorrecto", así que ahora tendré que ir poco a poco buscando los motivos, pero al menos el error anterior ya no me da. Supongo que ahora tendré que buscar en la respuesta (RespuestaBaseType) las causas de error que devuelve la AEAT. Cita:
Última edición por Neftali [Germán.Estévez] fecha: 09-10-2024 a las 08:14:05. |
|
#10
|
|||
|
|||
|
Para poder ver el detalle del error, hay que hacer el envío usando "RespuestaRegFactuSistemaFacturacionType" para la respuesta, en vez de "RespuestaBaseType".
Por lo que el envío usando HTTPRIO hay que hacerlo así: Solo así puedo ver el array de errores que devuelve Hacienda. Última edición por Neftali [Germán.Estévez] fecha: 01-10-2024 a las 15:18:32. Razón: Añadir el TAGs al código |
|
#11
|
|||
|
|||
|
Cita:
Muchas gracias por compartir el arreglo que le habeis hecho al fichero generado con el Import WDSL. |
|
#12
|
|||
|
|||
|
Cita:
Añade esta linea: Código:
InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypeVerifactu), ioLiteral); Código:
InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypeVerifactu), ioDocument); // fijate que pone ioDocument y no ioSOAP12 Con esto funciona correctamente, a mi ya me deja enviar sin problema. Última edición por Neftali [Germán.Estévez] fecha: 02-10-2024 a las 08:49:28. Razón: Añadir etiquetas al código |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Hijo de Informáticos | gluglu | Humor | 3 | 13-03-2007 11:05:35 |
| Adictos informaticos ... | Trigger | Humor | 2 | 11-10-2004 12:18:32 |
| Nosotros los Informáticos | Trigger | Humor | 1 | 10-10-2004 14:58:09 |
| Patrón de los Informáticos. | obiwuan | Varios | 20 | 10-09-2003 14:44:54 |
| Chistes Informaticos | jhonny | Humor | 2 | 11-08-2003 21:59:09 |
|