diff --git a/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/splitter/XPathMessageSplitter.java b/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/splitter/XPathMessageSplitter.java index 1c5adcfd3f..08c92274c4 100644 --- a/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/splitter/XPathMessageSplitter.java +++ b/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/splitter/XPathMessageSplitter.java @@ -147,7 +147,7 @@ public class XPathMessageSplitter extends AbstractMessageSplitter { List docList = new ArrayList(nodeList.size()); for (Node node : nodeList) { Document doc = documentBuilder.newDocument(); - doc.importNode(node, true); + doc.appendChild(doc.importNode(node, true)); docList.add(doc); } return docList; diff --git a/org.springframework.integration.xml/src/test/java/org/springframework/integration/xml/splitter/XPathMessageSplitterTests.java b/org.springframework.integration.xml/src/test/java/org/springframework/integration/xml/splitter/XPathMessageSplitterTests.java index 11678a241d..53adb3157a 100644 --- a/org.springframework.integration.xml/src/test/java/org/springframework/integration/xml/splitter/XPathMessageSplitterTests.java +++ b/org.springframework.integration.xml/src/test/java/org/springframework/integration/xml/splitter/XPathMessageSplitterTests.java @@ -79,6 +79,8 @@ public class XPathMessageSplitterTests { assertEquals("Wrong number of messages", 3, docMessages.size()); for (Message message : docMessages) { assertTrue("unexpected payload type" + message.getPayload().getClass().getName(), message.getPayload() instanceof Document); + Document docPayload = (Document)message.getPayload(); + assertEquals("Wrong root element name" ,"order", docPayload.getDocumentElement().getLocalName()); } }