1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springframework.ws.soap.axiom;
18
19 import org.springframework.ws.soap.SoapBody;
20 import org.springframework.ws.soap.SoapMessage;
21 import org.springframework.ws.soap.SoapVersion;
22 import org.springframework.ws.soap.soap11.AbstractSoap11MessageTestCase;
23
24 import org.apache.axiom.om.impl.llom.OMSourcedElementImpl;
25
26 import static org.junit.Assert.*;
27
28 public class AxiomSoap11NonCachingMessageTest extends AbstractSoap11MessageTestCase {
29
30 @Override
31 protected SoapMessage createSoapMessage() throws Exception {
32 AxiomSoapMessageFactory messageFactory = new AxiomSoapMessageFactory();
33 messageFactory.setPayloadCaching(false);
34 messageFactory.setSoapVersion(SoapVersion.SOAP_11);
35
36 return (SoapMessage) messageFactory.createWebServiceMessage();
37 }
38
39 @Override
40 public void testWriteToTransportOutputStream() throws Exception {
41 super.testWriteToTransportOutputStream();
42
43 SoapBody body = soapMessage.getSoapBody();
44 OMSourcedElementImpl axiomPayloadEle =
45 (OMSourcedElementImpl) ((AxiomSoapBody) body).getAxiomElement().getFirstElement();
46 assertFalse("Non-cached body should not be expanded now", axiomPayloadEle.isExpanded());
47 axiomPayloadEle.getFirstElement();
48 assertTrue("Non-cached body should now be expanded", axiomPayloadEle.isExpanded());
49 assertEquals("Invalid payload", "payload", axiomPayloadEle.getLocalName());
50 }
51 }