Estoy tratando de extraer un nodo XML de una referencia de URI. Esta referencia URI es generada por un firmante XAdES4j, y podría hacer referencia a un nodo dentro del mismo archivo XML, o en la misma carpeta.Cómo cargar recursos externos usando un URI de referencia en Java XML
Tenía la esperanza de que la carga de la referencia podría ser tan simple como
XMLSignatureInput referencedXML = ResourceResolver.resolveStatic(referenceNode.getAttributeNode("URI"), referenceDoc.getBaseURI());
Sin embargo, esto sólo me da una NullPointerException sin mensaje útil. Ambos argumentos son no nulos, y en un caso simple, el atributo URI era "data.xml" y el URI baseDoc base era "/Users/ryan/.../test-files/signature.xml. Data.xml reside en el mismo directorio-archivos de prueba.
el URI podría apuntar a un elemento dentro de un archivo, así que estoy esperando que hay un cargador de referencia que se ocupa de que la complejidad para mí. ¿Qué he perdido ?!
edit:
La referencia que estoy tratando de cargar es:
<ds:Reference Id="xmldsig-c6050e36-d9e7-46d9-ac5f-447d1bbb405f-ref0" URI="lote.xml" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
¿Cuál es el stacktrace de NullPointerException? Tal vez es un error interno. –
¿Podría dar un ejemplo del URI que está usando? – heneryville
Pregunta, ¿el URI se importa como un enlace en la parte superior del xml? de ser así, debería ser accesible, ya que Xalan/Xerces auto importa las referencias, - lo vi cuando hice algunos archivos xsl con archivos separados que componen el todo. - Además, si el URI está en el archivo de formulario: // ¿por qué no intenta crear una referencia de archivo y luego abrirla como un nuevo documento? –