Sean, We have a showstopper in Axis2/WSS4J land. This is the only way to fix the problem. I spent a lot of time into doing the least change. Details are here:
http://issues.apache.org/jira/browse/AXIS2-1570 We need to be able to influence which DBF is picked up or we can't ship our code :( -- dims On 11/2/06, Sean Mullan <[EMAIL PROTECTED]> wrote:
Hi Dims, Test or doc changes are fine, but I really don't think we should be making any code changes (especially RFEs) unless they are showstoppers until we ship 1.4 ... I have a bunch of stuff I want to fix but have been waiting until we get 1.4 out the door ... --Sean [EMAIL PROTECTED] wrote: > Author: dims > Date: Thu Nov 2 08:27:30 2006 > New Revision: 470407 > > URL: http://svn.apache.org/viewvc?view=rev&rev=470407 > Log: > Allow folks to extend XMLCipher to override the parseFragment method if they want to say cache the DBF in their own code > > Modified: > xml/security/trunk/src/org/apache/xml/security/encryption/XMLCipher.java > > Modified: xml/security/trunk/src/org/apache/xml/security/encryption/XMLCipher.java > URL: http://svn.apache.org/viewvc/xml/security/trunk/src/org/apache/xml/security/encryption/XMLCipher.java?view=diff&rev=470407&r1=470406&r2=470407 > ============================================================================== > --- xml/security/trunk/src/org/apache/xml/security/encryption/XMLCipher.java (original) > +++ xml/security/trunk/src/org/apache/xml/security/encryption/XMLCipher.java Thu Nov 2 08:27:30 2006 > @@ -1939,14 +1939,7 @@ > String fragment = sb.toString(); > > try { > - DocumentBuilderFactory dbf = > - DocumentBuilderFactory.newInstance(); > - dbf.setNamespaceAware(true); > - dbf.setAttribute("http://xml.org/sax/features/namespaces", Boolean.TRUE); > - DocumentBuilder db = dbf.newDocumentBuilder(); > - Document d = db.parse( > - new InputSource(new StringReader(fragment))); > - > + Document d = parseFragment(fragment); > Element fragElt = (Element) _contextDocument.importNode( > d.getDocumentElement(), true); > result = _contextDocument.createDocumentFragment(); > @@ -1956,8 +1949,6 @@ > result.appendChild(child); > child = fragElt.getFirstChild(); > } > - // String outp = serialize(d); > - > } catch (SAXException se) { > throw new XMLEncryptionException("empty", se); > } catch (ParserConfigurationException pce) { > @@ -1967,6 +1958,17 @@ > } > > return (result); > + } > + > + protected Document parseFragment(String fragment) throws ParserConfigurationException, SAXException, IOException { > + DocumentBuilderFactory dbf = > + DocumentBuilderFactory.newInstance(); > + dbf.setNamespaceAware(true); > + dbf.setAttribute("http://xml.org/sax/features/namespaces", Boolean.TRUE); > + DocumentBuilder db = dbf.newDocumentBuilder(); > + Document d = db.parse( > + new InputSource(new StringReader(fragment))); > + return d; > } > } > > >
-- Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers)