[jboss-svn-commits] JBossWS SVN: r883 - branches/jbossws-1.0/src/main/java/org/jboss/ws/soap
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Sep 1 07:23:48 EDT 2006
Author: heiko.braun at jboss.com
Date: 2006-09-01 07:23:45 -0400 (Fri, 01 Sep 2006)
New Revision: 883
Modified:
branches/jbossws-1.0/src/main/java/org/jboss/ws/soap/DOMEnvelopeBuilder.java
Log:
Fix JBWS-1166
Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/soap/DOMEnvelopeBuilder.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/soap/DOMEnvelopeBuilder.java 2006-09-01 11:14:55 UTC (rev 882)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/soap/DOMEnvelopeBuilder.java 2006-09-01 11:23:45 UTC (rev 883)
@@ -1,6 +1,7 @@
package org.jboss.ws.soap;
import org.w3c.dom.*;
+import org.w3c.dom.Node;
import org.jboss.util.xml.DOMUtils;
import org.jboss.util.xml.DOMWriter;
import org.jboss.xb.binding.NamespaceRegistry;
@@ -248,16 +249,29 @@
* Register globally available namespaces on element level.
* This is necessary to ensure that each xml fragment is valid.
*/
- private void registerNamespacesLocally(Element srcElement) {
- if(srcElement.getPrefix()== null)
+ private static void registerNamespacesLocally(Element element) {
+
+ redeclareNamespace(element);
+
+ NodeList nlist = element.getChildNodes();
+ for (int i = 0; i < nlist.getLength(); i++)
{
- srcElement.setAttribute("xmlns", srcElement.getNamespaceURI());
+ Node childNode = nlist.item(i);
+ if (childNode.getNodeType() == Node.ELEMENT_NODE)
+ {
+ registerNamespacesLocally((Element)childNode);
+ }
}
+ }
+
+ private static void redeclareNamespace(Element element)
+ {
+ if(element.getPrefix()== null)
+ element.setAttribute("xmlns", element.getNamespaceURI());
else
- {
- srcElement.setAttribute("xmlns:"+srcElement.getPrefix(), srcElement.getNamespaceURI());
- }
+ element.setAttribute("xmlns:"+element.getPrefix(), element.getNamespaceURI());
}
+
private void registerNamespaces(NamespaceRegistry namespaceRegistry, SOAPElement soapEl)
{
Iterator itNSPrefixes = soapEl.getNamespacePrefixes();
More information about the jboss-svn-commits
mailing list