1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springframework.ws.soap.saaj;
18
19 import javax.xml.soap.MessageFactory;
20 import javax.xml.soap.SOAPConstants;
21 import javax.xml.soap.SOAPMessage;
22 import javax.xml.transform.Result;
23 import javax.xml.transform.Source;
24
25 import org.springframework.ws.soap.SoapMessage;
26 import org.springframework.ws.soap.soap12.AbstractSoap12MessageTestCase;
27 import org.springframework.xml.transform.StringResult;
28 import org.springframework.xml.transform.StringSource;
29
30 import static org.custommonkey.xmlunit.XMLAssert.assertXMLEqual;
31 import static org.junit.Assert.assertEquals;
32 import static org.junit.Assert.assertTrue;
33
34 public class SaajSoap12MessageTest extends AbstractSoap12MessageTestCase {
35
36 private SOAPMessage saajMessage;
37
38 @Override
39 protected SoapMessage createSoapMessage() throws Exception {
40 MessageFactory messageFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
41 saajMessage = messageFactory.createMessage();
42 saajMessage.getSOAPHeader().detachNode();
43 return new SaajSoapMessage(saajMessage, true, messageFactory);
44 }
45
46 public void testGetPayloadSource() throws Exception {
47 saajMessage.getSOAPBody().addChildElement("child");
48 Source source = soapMessage.getPayloadSource();
49 StringResult result = new StringResult();
50 transformer.transform(source, result);
51 assertXMLEqual("Invalid source", "<child/>", result.toString());
52 }
53
54 public void testGetPayloadSourceText() throws Exception {
55 saajMessage.getSOAPBody().addTextNode(" ");
56 saajMessage.getSOAPBody().addChildElement("child");
57 Source source = soapMessage.getPayloadSource();
58 StringResult result = new StringResult();
59 transformer.transform(source, result);
60 assertXMLEqual("Invalid source", "<child/>", result.toString());
61 }
62
63 public void testGetPayloadResult() throws Exception {
64 StringSource source = new StringSource("<child/>");
65 Result result = soapMessage.getPayloadResult();
66 transformer.transform(source, result);
67 assertTrue("No child nodes created", saajMessage.getSOAPBody().hasChildNodes());
68 assertEquals("Invalid child node created", "child", saajMessage.getSOAPBody().getFirstChild().getLocalName());
69 }
70
71 }