Hola javi_valencia44 y paquimd,
Ambos teneis el mismo problema que es que al Deserializar. Deserializar(es decir convertir un xml –en esencia un string – a un Objeto) os da errores.
Por ejemplo, hecho en codigo VB. Cargo un archivo llamado alta_factura.xml que he generado
Código:
Dim filename As String = "G:\alta_factura.xml"
Dim reader As FileStream = New FileStream(filename, FileMode.Open)
Dim ser As System.Xml.Serialization.XmlSerializer
Dim facturas As New SuministroLRFacturasEmitidas
ser = New System.Xml.Serialization.XmlSerializer(facturas.GetType())
facturas = CType(ser.Deserialize(reader), SuministroLRFacturasEmitidas)
esto me dara error al serializarlo, ¿Por qué?: porque el nodo raiz de alta_factura.xml es
Código:
<soapenv:Envelope xmlns:soapenv="*://schemas.xmlsoap.org/soap/envelope/" xmlns:siiLR="*://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd" xmlns:sii="https://*.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
Pero el nodo raiz que admite un objeto tipo
SuministroLRFacturasEmitidas es
<siiLR:SuministroLRFacturasEmitidas>. Es decir que si generamos el xml por otros metodos distintos del uso de Objetos, no debemos poner ese primer nodo, si despues lo queremos enviar a AEAT de la forma
Código:
Dim resul As RespuestaLRFEmitidasType
resul = proxy.SuministroLRFacturasEmitidas(facturas)
Espero sea de ayuda
P.D. donde pongo * me refiero a un enlace (No tengo permiso para poner enlaces de forma normal)