Error en archivo XML usando TXMLDocument SOLUCIONADO
Posted: Wed Sep 05, 2018 4:00 pm
Hola,
me encuentro con un problema en un fichero XML con el que me responde el webservice de SII de hacienda.
El siguiente código guarda un XML en la variable cCadena y al convertirla en XML con la clase TXMLDocument me da un mensaje con el oXML:nError = 4 en la línea 16.
La etiqueta que da el error es <siiLRRC:FacturaSimplificadaArticulos7.2_7.3>, la he omitido en otra prueba y el oXML se construye sin error.
En el archivo hbxml.ch he consultado que el nError = 4 corresponde con HBXML_ERROR_INVNODE, que interpreto que es un nodo inválido, pero no sé el motivo.
He probado a abrir el XML con distintos editores y no me indican ningún error, así que recurro al foro para ver si me dan una ayuda sobre el por qué no se genera bien oXML.
Gracias.
me encuentro con un problema en un fichero XML con el que me responde el webservice de SII de hacienda.
El siguiente código guarda un XML en la variable cCadena y al convertirla en XML con la clase TXMLDocument me da un mensaje con el oXML:nError = 4 en la línea 16.
- Code: Select all Expand view
- #include "FiveWin.ch"
#include "hbxml.ch"
local oXML, cCadena
cCadena := '<?xml version="1.0" encoding="UTF-8"?>' + CRLF + ;
'<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">' + CRLF + ;
' <env:Header/>' + CRLF + ;
' <env:Body Id="Body">' + CRLF + ;
' <siiLRRC:RespuestaConsultaLRFactInformadasCliente ' + ;
'xmlns:siiLRRC="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaConsultaLR.xsd" ' + ;
'xmlns:sii="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">' + CRLF + ;
' <sii:Cabecera>' + CRLF + ;
' <sii:IDVersionSii>1.1</sii:IDVersionSii>' + CRLF + ;
' </sii:Cabecera>' + CRLF + ;
' <siiLRRC:IndicadorPaginacion>N</siiLRRC:IndicadorPaginacion>' + CRLF + ;
' <siiLRRC:ResultadoConsulta>ConDatos</siiLRRC:ResultadoConsulta>' + CRLF + ;
' <siiLRRC:RegistroRespuestaConsultaLRFactInformadasCliente>' + CRLF + ;
' <siiLRRC:PeriodoLiquidacion>' + CRLF + ;
' <siiLRRC:Ejercicio>2018</siiLRRC:Ejercicio>' + CRLF + ;
' <siiLRRC:Periodo>08</siiLRRC:Periodo>' + CRLF + ;
' </siiLRRC:PeriodoLiquidacion>' + CRLF + ;
' <siiLRRC:FacturaSimplificadaArticulos7.2_7.3>N</siiLRRC:FacturaSimplificadaArticulos7.2_7.3>' + CRLF + ;
' </siiLRRC:RegistroRespuestaConsultaLRFactInformadasCliente>' + CRLF + ;
' </siiLRRC:RespuestaConsultaLRFactInformadasCliente>' + CRLF + ;
' </env:Body>' + CRLF + ;
'</env:Envelope>'
oXML := TXmlDocument ():new (cCadena)
if oXML:nError # 0
? 'Status', oXML:nStatus, 'Error', oXML:nError, 'Linea', oXML:nLine
endif
? oXML:ToString ( HBXML_STYLE_INDENT + HBXML_STYLE_THREESPACES )
La etiqueta que da el error es <siiLRRC:FacturaSimplificadaArticulos7.2_7.3>, la he omitido en otra prueba y el oXML se construye sin error.
En el archivo hbxml.ch he consultado que el nError = 4 corresponde con HBXML_ERROR_INVNODE, que interpreto que es un nodo inválido, pero no sé el motivo.
He probado a abrir el XML con distintos editores y no me indican ningún error, así que recurro al foro para ver si me dan una ayuda sobre el por qué no se genera bien oXML.
Gracias.