Problemas con Transformador XML + JAVA + Toplink
Hay d铆as en los que buscas y buscas la soluci贸n a un problema, te inventas diez mil y una formas para que luego!!!! nada el mismo error.....a todos nos pasa, el problema muchas veces radica en el cansancio que nos desvia la mente del objetivo final, hoy fue uno de esos d铆as.
Bueno el problema radico en que estoy haciendo la migraci贸n de la capa de persistencia PersistenceManager a Toplink y me tope con un problema de transformaci贸n de los XML, para no hacerles largo el relato el c贸digo que ten铆a era este.
javax.xml.transform.TransformerFactory tFactory =
javax.xml.transform.TransformerFactory.newInstance();
javax.xml.transform.Transformer transformer = tFactory.
newTransformer(new javax.xml.transform.stream.StreamSource(new File(URLXSLT)));
javax.xml.transform.dom.DOMSource xmlDoc = new javax.xml.transform.dom.DOMSource(doc);
transformer.transform(xmlDoc, new javax.xml.transform.stream.StreamResult(new java.io.File(path)));
Cabe aclarar que todo funcionaba bien hasta que comence con Toplink, como Toplink implementa unas nuevas librer铆as para el manejo de xml como son xml.jar y xmlparserv2.jar (parseador) pense que podr铆a haber alguna incopatibilidad colocando las dos en el classpath, hice las pruebas respectivas y nada, cambie de parseadores y seguia saliendo el mismo error:
javax.xml.transform.TransformerFactory tFactory =
javax.xml.transform.TransformerFactory.newInstance();
javax.xml.transform.Transformer transformer = tFactory.
newTransformer(new javax.xml.transform.stream.StreamSource(new File(URLXSLT)));
javax.xml.transform.dom.DOMSource xmlDoc = new javax.xml.transform.dom.DOMSource(doc);
transformer.transform(xmlDoc,
new javax.xml.transform.stream.StreamResult(new java.io.File(path).toURI().getPath()));
Como pueden apreciar la soluci贸n fue en cambiar la forma de llamar al archivo, estoy investigando porque se produjo esto. Talv茅z la especificaci贸n de toplink asi lo requiere ya que utiliza nuevos jar y actualizaciones de los tipicos xalan y xerces, en todo caso ya les comentar茅
Espero les sirve y que alegr铆a sali贸 esta situaci贸n.............seguimos en migraci贸n.
Bueno el problema radico en que estoy haciendo la migraci贸n de la capa de persistencia PersistenceManager a Toplink y me tope con un problema de transformaci贸n de los XML, para no hacerles largo el relato el c贸digo que ten铆a era este.
javax.xml.transform.TransformerFactory tFactory =
javax.xml.transform.TransformerFactory.newInstance();
javax.xml.transform.Transformer transformer = tFactory.
newTransformer(new javax.xml.transform.stream.StreamSource(new File(URLXSLT)));
javax.xml.transform.dom.DOMSource xmlDoc = new javax.xml.transform.dom.DOMSource(doc);
transformer.transform(xmlDoc, new javax.xml.transform.stream.StreamResult(new java.io.File(path)));
Cabe aclarar que todo funcionaba bien hasta que comence con Toplink, como Toplink implementa unas nuevas librer铆as para el manejo de xml como son xml.jar y xmlparserv2.jar (parseador) pense que podr铆a haber alguna incopatibilidad colocando las dos en el classpath, hice las pruebas respectivas y nada, cambie de parseadores y seguia saliendo el mismo error:
javax.xml.transform.TransformerException: java.io.FileNotFoundException
Luego de implementar nuevos parser, abrirme jar y reemplementar cosas... buscar en internet full tiempo comence a ver otra forma de llamar al archivo (oj贸 que esto actualmente en la versi贸n que se maneja del sistema funciona bien tal y como esta) y efectivamente por alguna extra帽a raz贸n el problema radicaba aqu铆. Esta fue la soluci贸n:javax.xml.transform.TransformerFactory tFactory =
javax.xml.transform.TransformerFactory.newInstance();
javax.xml.transform.Transformer transformer = tFactory.
newTransformer(new javax.xml.transform.stream.StreamSource(new File(URLXSLT)));
javax.xml.transform.dom.DOMSource xmlDoc = new javax.xml.transform.dom.DOMSource(doc);
transformer.transform(xmlDoc,
new javax.xml.transform.stream.StreamResult(new java.io.File(path).toURI().getPath()));
Como pueden apreciar la soluci贸n fue en cambiar la forma de llamar al archivo, estoy investigando porque se produjo esto. Talv茅z la especificaci贸n de toplink asi lo requiere ya que utiliza nuevos jar y actualizaciones de los tipicos xalan y xerces, en todo caso ya les comentar茅
Espero les sirve y que alegr铆a sali贸 esta situaci贸n.............seguimos en migraci贸n.