}
}
if (force
|| MessageUtils.isTrue(o)) {
StAXDocumentSerializer serializer = getOutput(message, out);
message.setContent(XMLStreamWriter.class, serializer);
message.removeContent(OutputStream.class);
message.put(OUTPUT_STREAM_HOLDER, out);
message.put(AbstractOutDatabindingInterceptor.DISABLE_OUTPUTSTREAM_OPTIMIZATION,
Boolean.TRUE);
String s = (String)message.get(Message.CONTENT_TYPE);
if (s.contains("application/soap+xml")) {
s = s.replace("application/soap+xml", "application/soap+fastinfoset");
message.put(Message.CONTENT_TYPE, s);
} else {
message.put(Message.CONTENT_TYPE, "application/fastinfoset");
}
try {
serializer.writeStartDocument();
} catch (XMLStreamException e) {
throw new Fault(e);
}
message.getInterceptorChain().add(ENDING);
}