Hi

I'm currently developing a web based application which needs to be able to
transmit the contents of an XML Document (Built using Xerces 3.0.1) via HTTP
to web application server. The document I want to send should have the
following structure. 

                <soap:Envelope xmlns:soap="Some-Namespace-URI">
                        <soap:Body>
                                <t:get xmlns:t="Someother-Namespace-URI">
                                        <t:element1/>
                                </t:get>
                        </soap:body>
                </soap:Envelope>

I've attempted to create this document using the following java code. I'm
making no assumptions that the following code is correct, so any guidelines
would be really useful.

                //Create a new document with given Namespace & Qualified
name 
                org.w3c.dom.Document doc =
dom.createDocument("Some-Namespace-URI","soap:Envelope",null);

                //Create the Body element       
                org.w3c.dom.Element body =
doc.createElementNS("Some-Namespace-URI", "soap:Body");
                doc.getDocumentElement().appendChild(body);

                //Create the get element  
                org.w3c.dom.Element tget =
doc.createElementNS("Someother-Namespace-URI", "t:get");
                body.appendChild(tget);
                 
                //Create the element1 element   
                org.w3c.dom.Element element1 =
doc.createElementNS("Someother-Namespace-URI", "t:element1);
                tget.appendChild(element1);

When I use the Xerces serializer via the XMLSerializer implementation, the
following code snippet shows how I created and invoked the serializer. 

                XMLSerializer serializer = new XMLSerializer(System.out, new
OutputFormat(doc2));
                serializer.serialize(doc2);
                serializer.flush();

this produces the following output

                <?xml version="1.0" encoding="UTF-8"?>
        
<soap:Envelope><soap:Body><t:get><t:element1/></t:get></soap:Body></soap:Env
elope>  

which does not exactly resemble the original document. Is the Xerces
serializer compliant with DOM Level 2, can it recognise the namespaces and
reproduce them in the serialized output. If any body got a solution to this
problem I'd be most grateful.

Thanks
Anthony Dodd

Reply via email to