@Test
public void testSetStreamingPayload() throws Exception {
if (!(soapMessage instanceof StreamingWebServiceMessage)) {
return;
}
StreamingWebServiceMessage streamingMessage = (StreamingWebServiceMessage) soapMessage;
final QName name = new QName("http://springframework.org", "root", "prefix");
streamingMessage.setStreamingPayload(new StreamingPayload() {
public QName getName() {
return name;
}
public void writeTo(XMLStreamWriter streamWriter) throws XMLStreamException {
streamWriter.writeStartElement(name.getPrefix(), name.getLocalPart(), name.getNamespaceURI());
streamWriter.writeNamespace("prefix", name.getNamespaceURI());
streamWriter.writeStartElement(name.getNamespaceURI(), "child");
streamWriter.writeCharacters("Foo");
streamWriter.writeEndElement();
streamWriter.writeEndElement();
}
});
StringResult result = new StringResult();
transformer.transform(streamingMessage.getPayloadSource(), result);
String expected = "<root xmlns='http://springframework.org'><child>Foo</child></root>";
assertXMLEqual(expected, result.toString());
soapMessage.writeTo(new ByteArrayOutputStream());