Uncompleted SOAPElement by using Transformer.
y103 Jan 15, 2006 7:30 PMHi.
I'm trying to convert javax.xml.soap.SOAPElement into String with javax.xml.transform.Transformer class.
However, I cannot get the complete XML document. The proceeded XML document by JBoss Transformer
was lacked some information.
[Development environment]
IDE: eclipse 3.1.1
SAAJ: JBoss 4.0.3SP1 (%JBOSS_HOME%/client)
J2SDK: 1.4.2_10 (Sun)
endorsed: Xerces & Xalan (%JBOSS_HOME%/lib/endorsed)
import java.io.FileInputStream; import java.io.StringWriter; import javax.xml.soap.MessageFactory; import javax.xml.soap.MimeHeaders; import javax.xml.soap.SOAPBody; import javax.xml.soap.SOAPElement; import javax.xml.soap.SOAPMessage; import javax.xml.soap.SOAPPart; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; public class TestSoapWriter { public static void main(String[] args) { try { MessageFactory mf = MessageFactory.newInstance(); SOAPMessage msg = mf.createMessage(new MimeHeaders(), new FileInputStream("sample.xml")); SOAPPart sp = msg.getSOAPPart(); SOAPBody sb = sp.getEnvelope().getBody(); SOAPElement element = (SOAPElement) sb.getChildElements().next(); TransformerFactory tf = TransformerFactory.newInstance(); Transformer trans = tf.newTransformer(); StringWriter sw = new StringWriter(); trans.transform(new DOMSource(element), new StreamResult(sw)); System.out.println(sw); } catch (Exception e) { e.printStackTrace(); } } }
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:Order xmlns:ns1="http://ws.sample"> <Customer>Kermit</Customer> <Item>Ferrari</Item> </ns1:Order> </soapenv:Body> </soapenv:Envelope>
<?xml version="1.0" encoding="UTF-8"?> <ns1:Order xmlns:ns1="http://ws.sample"><Customer>Kermit</Customer>
The following part of XML document is lost by using JBoss Transformer.
"<Item>Ferrari</Item></ns1:Order>"
I tried it with SAAJ in axis1.2, and I can get the complete XML
document, no lack of information.
I am wondering if this is a JBoss issue....
Or are there any solutions to this?
I am appreciated any information to solve this issue!!
Yoshihide