diff --git a/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/AbstractAddressingVersion.java b/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/AbstractAddressingVersion.java index 754c45b3..76279fc8 100644 --- a/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/AbstractAddressingVersion.java +++ b/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/AbstractAddressingVersion.java @@ -84,7 +84,7 @@ public abstract class AbstractAddressingVersion extends TransformerObjectSupport private final XPathExpression referenceParametersExpression; protected AbstractAddressingVersion() { - Map namespaces = new HashMap(); + Map namespaces = new HashMap<>(); namespaces.put(getNamespacePrefix(), getNamespaceUri()); toExpression = createNormalizedExpression(getToName(), namespaces); actionExpression = createNormalizedExpression(getActionName(), namespaces); @@ -182,10 +182,10 @@ public abstract class AbstractAddressingVersion extends TransformerObjectSupport } List referenceProperties = referencePropertiesExpression != null ? referencePropertiesExpression.evaluateAsNodeList(node) - : Collections. emptyList(); + : Collections.emptyList(); List referenceParameters = referenceParametersExpression != null ? referenceParametersExpression.evaluateAsNodeList(node) - : Collections. emptyList(); + : Collections.emptyList(); return new EndpointReference(address, referenceProperties, referenceParameters); } diff --git a/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/Addressing10.java b/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/Addressing10.java index e97efe84..bc07d2d8 100644 --- a/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/Addressing10.java +++ b/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/Addressing10.java @@ -31,7 +31,7 @@ import org.springframework.ws.soap.addressing.core.MessageAddressingProperties; * * @author Arjen Poutsma * @author Leandro Quiroga - * @see Web Services Addressing, May 2006 + * @see Web Services Addressing 1.0, May 2006 * @since 1.5.0 */ @@ -56,7 +56,7 @@ public class Addressing10 extends AbstractAddressingVersion { return true; } - + @Override public boolean isToHeaderRequired() { return false; diff --git a/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/Addressing200408.java b/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/Addressing200408.java index f68865e6..d545bdec 100644 --- a/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/Addressing200408.java +++ b/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/Addressing200408.java @@ -59,7 +59,7 @@ public class Addressing200408 extends AbstractAddressingVersion { } return true; } - + @Override public boolean isToHeaderRequired() { return true; diff --git a/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/AddressingVersion.java b/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/AddressingVersion.java index 244d2763..6a80b655 100644 --- a/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/AddressingVersion.java +++ b/spring-ws-core/src/main/java/org/springframework/ws/soap/addressing/version/AddressingVersion.java @@ -64,11 +64,11 @@ public interface AddressingVersion { */ boolean hasRequiredProperties(MessageAddressingProperties map); - /** - * Indicates whether the wsa:To header is REQUIRED or not. - * - * @return {@code true} if the wsa:To header of the {@link AddressingVersion} is REQUIRED. + * Indicates whether the {@literal wsa:To} header is {@literal REQUIRED} or not. + * + * @return {@code true} if the wsa:To header of the {@link AddressingVersion} is REQUIRED. + * @since 4.0 */ boolean isToHeaderRequired(); diff --git a/spring-ws-core/src/test/java/org/springframework/ws/soap/addressing/AbstractWsAddressingTestCase.java b/spring-ws-core/src/test/java/org/springframework/ws/soap/addressing/AbstractWsAddressingTestCase.java index d1c2d469..7387f28b 100644 --- a/spring-ws-core/src/test/java/org/springframework/ws/soap/addressing/AbstractWsAddressingTestCase.java +++ b/spring-ws-core/src/test/java/org/springframework/ws/soap/addressing/AbstractWsAddressingTestCase.java @@ -38,7 +38,6 @@ public abstract class AbstractWsAddressingTestCase { @BeforeEach public void createMessageFactory() throws Exception { messageFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL); - XMLUnit.setIgnoreWhitespace(true); } protected SaajSoapMessage loadSaajMessage(String fileName) throws SOAPException, IOException { @@ -61,7 +60,10 @@ public abstract class AbstractWsAddressingTestCase { Document expectedDocument = expected.getSaajMessage().getSOAPPart(); Document resultDocument = result.getSaajMessage().getSOAPPart(); - XmlAssert.assertThat(resultDocument).and(expectedDocument).ignoreWhitespace().areSimilar(); + XmlAssert.assertThat(resultDocument).and(expectedDocument) // + .ignoreWhitespace() // + .ignoreChildNodesOrder() // + .areSimilar(); } protected void assertXMLNotSimilar(SaajSoapMessage expected, SaajSoapMessage result) { @@ -69,6 +71,8 @@ public abstract class AbstractWsAddressingTestCase { Document expectedDocument = expected.getSaajMessage().getSOAPPart(); Document resultDocument = result.getSaajMessage().getSOAPPart(); - XmlAssert.assertThat(resultDocument).and(expectedDocument).ignoreWhitespace().areNotSimilar(); + XmlAssert.assertThat(resultDocument).and(expectedDocument) // + .ignoreWhitespace() // + .areNotSimilar(); } } diff --git a/spring-ws-core/src/test/java/org/springframework/ws/soap/addressing/client/AbstractActionCallbackTestCase.java b/spring-ws-core/src/test/java/org/springframework/ws/soap/addressing/client/AbstractActionCallbackTestCase.java index a400ffac..73db40ce 100644 --- a/spring-ws-core/src/test/java/org/springframework/ws/soap/addressing/client/AbstractActionCallbackTestCase.java +++ b/spring-ws-core/src/test/java/org/springframework/ws/soap/addressing/client/AbstractActionCallbackTestCase.java @@ -81,6 +81,7 @@ public abstract class AbstractActionCallbackTestCase extends AbstractWsAddressin callback.doWithMessage(message); SaajSoapMessage expected = loadSaajMessage(getTestPath() + "/valid.xml"); + assertXMLNotSimilar(expected, message); verify(strategyMock, connectionMock); @@ -110,13 +111,15 @@ public abstract class AbstractActionCallbackTestCase extends AbstractWsAddressin verify(strategyMock, connectionMock); } - + @Test public void testNotInitializeTo() throws Exception { + URI action = new URI("http://example.com/fabrikam/mail/Delete"); URI connectionUri = new URI("mailto:fabrikam@example.com"); callback = new ActionCallback(action, getVersion()); callback.setMessageIdStrategy(strategyMock); + callback.setShouldInitializeTo(false); expect(connectionMock.getUri()).andReturn(connectionUri).times(0, 1); SaajSoapMessage message = createDeleteMessage(); @@ -128,11 +131,12 @@ public abstract class AbstractActionCallbackTestCase extends AbstractWsAddressin callback.doWithMessage(message); SaajSoapMessage expected = loadSaajMessage(getTestPath() + "/request-without-shouldInitializeTo.xml"); + assertXMLSimilar(expected, message); + verify(strategyMock, connectionMock); } - private SaajSoapMessage createDeleteMessage() throws SOAPException { SOAPMessage saajMessage = messageFactory.createMessage();