try {
MessageFactory factory = getFactory(message);
SOAPMessage soapMessage = factory.createMessage();
message.setContent(SOAPMessage.class, soapMessage);
SOAPPart part = soapMessage.getSOAPPart();
Document node = (Document) message.getContent(Node.class);
if (node == null) {
// replicate 2.1 behavior.
part.setContent(new DOMSource(null));
} else {
StaxUtils.copy(node, new W3CDOMStreamWriter(part));
}
message.setContent(Node.class, soapMessage.getSOAPPart());