1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springframework.ws.soap.addressing;
18
19 import java.io.IOException;
20 import java.io.InputStream;
21 import javax.xml.soap.MessageFactory;
22 import javax.xml.soap.MimeHeaders;
23 import javax.xml.soap.SOAPConstants;
24 import javax.xml.soap.SOAPException;
25
26 import org.springframework.ws.soap.saaj.SaajSoapMessage;
27
28 import org.custommonkey.xmlunit.XMLUnit;
29 import org.junit.Before;
30 import org.w3c.dom.Document;
31
32 import static org.junit.Assert.assertNotNull;
33
34 public abstract class AbstractWsAddressingTestCase {
35
36 protected MessageFactory messageFactory;
37
38 @Before
39 public void createMessageFactory() throws Exception {
40 messageFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
41 XMLUnit.setIgnoreWhitespace(true);
42 }
43
44
45 protected SaajSoapMessage loadSaajMessage(String fileName) throws SOAPException, IOException {
46 MimeHeaders mimeHeaders = new MimeHeaders();
47 mimeHeaders.addHeader("Content-Type", " application/soap+xml");
48 InputStream is = AbstractWsAddressingTestCase.class.getResourceAsStream(fileName);
49 assertNotNull("Could not load " + fileName, is);
50 try {
51 return new SaajSoapMessage(messageFactory.createMessage(mimeHeaders, is));
52 }
53 finally {
54 is.close();
55 }
56 }
57
58 protected void assertXMLEqual(String message, SaajSoapMessage expected, SaajSoapMessage result) {
59 Document expectedDocument = expected.getSaajMessage().getSOAPPart();
60 Document resultDocument = result.getSaajMessage().getSOAPPart();
61 org.custommonkey.xmlunit.XMLAssert.assertXMLEqual(message, expectedDocument, resultDocument);
62 }
63 }