@@ -84,7 +84,7 @@ public abstract class AbstractAddressingVersion extends TransformerObjectSupport
|
||||
private final XPathExpression referenceParametersExpression;
|
||||
|
||||
protected AbstractAddressingVersion() {
|
||||
Map<String, String> namespaces = new HashMap<String, String>();
|
||||
Map<String, String> 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<Node> referenceProperties = referencePropertiesExpression != null
|
||||
? referencePropertiesExpression.evaluateAsNodeList(node)
|
||||
: Collections.<Node> emptyList();
|
||||
: Collections.emptyList();
|
||||
List<Node> referenceParameters = referenceParametersExpression != null
|
||||
? referenceParametersExpression.evaluateAsNodeList(node)
|
||||
: Collections.<Node> emptyList();
|
||||
: Collections.emptyList();
|
||||
return new EndpointReference(address, referenceProperties, referenceParameters);
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ import org.springframework.ws.soap.addressing.core.MessageAddressingProperties;
|
||||
*
|
||||
* @author Arjen Poutsma
|
||||
* @author Leandro Quiroga
|
||||
* @see <a href="http://www.w3.org/TR/2006/REC-ws-addr-core-20060509">Web Services Addressing, May 2006</a>
|
||||
* @see <a href="http://www.w3.org/TR/2006/REC-ws-addr-core-20060509">Web Services Addressing 1.0, May 2006</a>
|
||||
* @since 1.5.0
|
||||
*/
|
||||
|
||||
@@ -56,7 +56,7 @@ public class Addressing10 extends AbstractAddressingVersion {
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean isToHeaderRequired() {
|
||||
return false;
|
||||
|
||||
@@ -59,7 +59,7 @@ public class Addressing200408 extends AbstractAddressingVersion {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean isToHeaderRequired() {
|
||||
return true;
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user