Ver Mensaje Individual
  #1124  
Antiguo 12-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Posts: 93
Reputación: 8
sglorka Va por buen camino
Cita:
Empezado por antoine0 Ver Mensaje
Yo lo haría de una forma un poco distinta:
<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"> ... </Cabecera>
<Alta:RegistroAltaFacturas xmlns:Alta="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
<LR:RegistroFacturacion xmlns:LR="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> ....
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.
Se te ocurre cómo incluir esos espacios de nombres con el objeto serialiazer

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()
Responder Con Cita