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