Element envelopeElem = marshallMessage(messageContext.getOutboundMessage());
preprocessTransport(messageContext);
try {
OutTransport outTransport = messageContext.getOutboundMessageTransport();
Writer out = new OutputStreamWriter(outTransport.getOutgoingStream(), "UTF-8");
XMLHelper.writeNode(envelopeElem, out);
out.flush();
} catch (UnsupportedEncodingException e) {
log.error("JVM does not support required UTF-8 encoding");
throw new MessageEncodingException("JVM does not support required UTF-8 encoding");