FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Nodo RegistroFacturacion
A alguien le ha ocurrido que al serializar el registro individual (no montado dentro de <AltaFactuSistemaFacturacion>) el nodo <RegistroFacturacion> aparece con su namespace
<?xml version="1.0" encoding="utf-8"?> <FacturasEmitidasType xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RegistroFacturacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd"> <IDFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd"> <IDEmisorFactura> <NIF>xxxxxxxxx</NIF> </IDEmisorFactura> ........ pero al incorporarlo al nodo <AltaFactuSistemaFacturacion> para ser enviado la serialización elimina el namespace de dicho nodo <AltaFactuSistemaFacturacion xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Cabecera xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd"> <IDVersion>1.0</IDVersion> <ObligadoEmision> <NombreRazon>xxxxx</NombreRazon> <NIF>xxxxx</NIF> </ObligadoEmision> <TipoRegistroAEAT>T0</TipoRegistroAEAT> </Cabecera> <RegistroAltaFacturas xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd"> <RegistroFacturacion> <IDFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd"> <IDEmisorFactura> .... Esto tiene la implicación de que el hash que calcularán en la aeat del nodo RegistroFacturacion no incluirá los carácteres relativos al namespace y por tanto, no coincidirá ¿ Alguien está en este caso ? |
#2
|
||||
|
||||
Buenas noches.
A ver por favor estamos trabajando con 3 ficheros que subio German (Neftali): SistemaFacturacionSOAPv11.pas SistemaFacturacionSOAPv12.pas SistemaFacturacionSOAPvRec.pas Alguien podría indicar el proceso, los pasos para obtenerlos. Gracias.
__________________
Se humilde para admitir tus errores, inteligente para aprender de ellos y maduro para corregirlos. |
#3
|
||||
|
||||
Desde el IDE de Delphi:
Código:
c:\Program Files (x86)\Borland\Delphi7\Bin>WSDLImp.exe -p -Dc:\temp -soap12 https://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SistemaFacturacion.wsdl
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 12-01-2024 a las 08:54:38. |
#4
|
|||
|
|||
Cita:
<AltaFactuSistemaFacturacion xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">La idea es que los espacios de nombres Alta y LR aparecen distintos dentro del documento pero en realidad son el mismo esquema. Habrá que probar con la herramienta de Hacienda pero creo que en XML es válido. Lo he hecho con dos espacios de nombres explícitos para que se entiende mejor, pero supongo que el segundo puede ser el espacio por defecto. Evidentemente hay que ponerlo para que al final lo que aparece en lo que se está enviando a Hacienda siga exactamente lo mismo que lo que se ha usado para calcular la huella y eventualmente firmar. |
#5
|
|||
|
|||
Cita:
Dim AltaRegistro as ServicioVeriFactu.AltaFactuSistemaFacturacion Dim serializer As New System.Xml.Serialization.XmlSerializer(GetType(ServicioVeriFactu.AltaFactuSistemaFacturacion)) Dim writer As New System.IO.StreamWriter("RegistroAltaFactura.Xml") serializer.Serialize(writer, AltaRegistro) writer.Close() |
#6
|
|||
|
|||
Cita:
Algo como Código:
Dim ServicioAltaRegistro as ServicioVeriFactu.AltaFactuSistemaFacturacion Dim RegistroEnSi as ServicioVeriFactu.AltaFactuSistemaFacturacion La idea subyacente es que hay que separar las dos partes, de una parte la generación del registro (y su posterior almacenamiento) del envío a Hacienda con el servicio web. El segundo se debe alimentar del resultado del primero, no se debería volver a crear el XML entero porqué, como bien has dicho antes, es problemático volver a generar el mismo contenido que él con cual se calculó la huella. |
#7
|
|||
|
|||
Cita:
En resumen, entiendo que los registros de facturación generados deben almacenarse en Xml bajo la estructura <FacturaExpedidaType> y una vez que los vas a comunicar construyes el objeto ServicioVeriFactu.AltaFactuSistemaFacturacion |
#8
|
||||
|
||||
El tema del orden no debería de ser problema. Aprovechando que todavía no sé cómo aislar el nodo de cada factura para generar el hash lo que estoy barruntando es que al emitir la factura se genere un XML con el nodo de esa factura en alguna carpeta, que haya un programa que esté leyendo esa carpeta y que según vayan entrando vaya leyendo el XML, generando el hash y meterlo en una "pila" donde se irá generando el XML definitivo con su cabecera para enviarlo. Claro, esto obligaría a crear y enviar el XML de forma manual, cosa que no sé si mola mucho.
No sé vosotros cómo lo veis. Saludos.
__________________
Be water my friend. |
#9
|
|||
|
|||
Cita:
|
#10
|
|||
|
|||
Buenas noches,
Estan disponibles los entornos de prueba? Estoy intentando buscar y no llego a encontrar. Veo en el XSDL (SistemaFacturacion.wsdl) sale address location="xxxxxxxxxx". <wsdl:service name="sfService"> <!-- Entorno de PRODUCCION --> <wsdlort name="SistemaFacturacion" binding="sfWdsl:sfBinding"> <soap:address location="xxxxxxxxxx"/> </wsdlort> <!-- Entorno de PRODUCCION para acceso con certificado de sello --> <wsdlort name="SistemaFacturacionSello" binding="sfWdsl:sfBinding"> <soap:address location="xxxxxxxxxx"/> </wsdlort> <!-- Entorno de PRUEBAS --> <wsdlort name="SistemaFacturacionPruebas" binding="sfWdsl:sfBinding"> <soap:address location="xxxxxxxxxx"/> </wsdlort> <!-- Entorno de PRUEBAS para acceso con certificado de sello --> <wsdlort name="SistemaFacturacionPruebasSello" binding="sfWdsl:sfBinding"> <soap:address location="xxxxxxxxxx"/> </wsdlort> </wsdl:service> ¿Eso quiere decir que aun no estan disponibles? Muchas gracias. |
#11
|
|||
|
|||
Según Newton. Hacienda respondió
Cita:
__________________
Amar al mundo apasionadamente. |
|
|
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 |
|