package test.jdom; import java.io.*; import java.util.*; import org.jdom.*; import org.jdom.output.*; import org.apache.soap.*; import org.apache.soap.util.xml.*; public class TestBug { public static void main(String[] asArgs) { try { Document doc; Element elem; org.w3c.dom.Element _3cElem; org.w3c.dom.Node node; Namespace syncNS = Namespace.getNamespace("sync", "urn:Synchrony"); DOMOutputter outputter = new DOMOutputter(); XMLOutputter xmlout = new XMLOutputter("\t"); Header authHeader = new Header(); Vector headerEntries = new Vector(); elem = new Element("username", syncNS).setText("testUname"); System.out.println("attrs: " + elem.getAttributes()); System.out.println("elem.getNamespaceURI(): "+elem.getNamespaceURI()); System.out.println("elem.getQualifiedName(): "+elem.getQualifiedName()); System.out.println("XML Outputter:"); xmlout.output(elem, System.out); System.out.println(); System.out.println(); _3cElem = outputter.output(elem); System.out.println("DOMOutputter: "); org.w3c.dom.NamedNodeMap attrs = _3cElem.getAttributes(); System.out.println("Attrs:"); for (int i = 0; i < attrs.getLength(); i++) { node = attrs.item(i); System.out.println("\tAttr: " + node); System.out.println("URI: " + node.getNamespaceURI()); System.out.println("Name: " + node.getNodeName()); System.out.println("Value: " + node.getNodeValue()); System.out.println("Prefix: " + node.getPrefix()); } headerEntries.add(_3cElem); System.out.println(); elem = new Element("password", syncNS).setText("xyz"); headerEntries.addElement(outputter.output(elem)); System.out.println("XML Outputter:"); xmlout.output(elem, System.out); System.out.println(); System.out.println(); elem = new Element("version", syncNS).setText("1.2.3.4"); headerEntries.addElement(outputter.output(elem)); System.out.println("XML Outputter:"); xmlout.output(elem, System.out); System.out.println(); System.out.println(); authHeader.declareNamespace("sync", "urn:Synchrony"); authHeader.setHeaderEntries(headerEntries); System.out.println("authHeader: "); System.out.println(authHeader); StringWriter sw = new StringWriter(); for (Enumeration e = headerEntries.elements(); e.hasMoreElements();) { org.w3c.dom.Element headerEntryEl = (org.w3c.dom.Element)e.nextElement(); //Utils.marshallNode(headerEntryEl, sink); System.out.println("headerEntryEl.getAttributes().item(0): "+headerEntryEl.getAttributes().item(0)); System.out.println("ATTR ns: "+headerEntryEl.getAttributes().item(0).getNamespaceURI()); System.out.println("headerEntryEl.getPrefix(): "+headerEntryEl.getPrefix()); String uri = headerEntryEl.getNamespaceURI(); System.out.println("Namespace URI: " + uri); DOM2Writer.serializeAsXML(headerEntryEl, sw); sw.write(new char [] {'\n'}); } System.out.println("XML:"); System.out.println(sw.toString()); } catch (Exception e) { e.printStackTrace(); } } }