Skip to content

Commit f476851

Browse files
author
Tareq Abedrabbo
committed
Added the ability to load Soap 1.2 messages. Renamed methods in existing tests for consistency.
1 parent 596946e commit f476851

12 files changed

+139
-80
lines changed

security/src/test/java/org/springframework/ws/soap/security/wss4j/SaajWss4jMessageInterceptorSignTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ public void testSignAndValidate() throws Exception {
4646
interceptor.setEnableSignatureConfirmation(false);
4747
interceptor.setSecurementPassword("123456");
4848
interceptor.setSecurementUsername("rsaKey");
49-
SOAPMessage saajMessage = messageFactory.createMessage();
49+
SOAPMessage saajMessage = saajSoap11MessageFactory.createMessage();
5050
transformer.transform(new StringSource(PAYLOAD), new DOMResult(saajMessage.getSOAPBody()));
5151
SoapMessage message = new SaajSoapMessage(saajMessage);
52-
MessageContext messageContext = new DefaultMessageContext(message, new SaajSoapMessageFactory(messageFactory));
52+
MessageContext messageContext = new DefaultMessageContext(message, new SaajSoapMessageFactory(saajSoap11MessageFactory));
5353

5454
interceptor.secureMessage(message, messageContext);
5555

@@ -68,9 +68,9 @@ public void testSignAndValidate() throws Exception {
6868
mimeHeaders.addHeader("Content-Type", "text/xml");
6969
ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
7070

71-
SOAPMessage signed = messageFactory.createMessage(mimeHeaders, bis);
71+
SOAPMessage signed = saajSoap11MessageFactory.createMessage(mimeHeaders, bis);
7272
message = new SaajSoapMessage(signed);
73-
messageContext = new DefaultMessageContext(message, new SaajSoapMessageFactory(messageFactory));
73+
messageContext = new DefaultMessageContext(message, new SaajSoapMessageFactory(saajSoap11MessageFactory));
7474

7575
interceptor.validateMessage(message, messageContext);
7676
}

security/src/test/java/org/springframework/ws/soap/security/wss4j/Wss4jInterceptorTestCase.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
public abstract class Wss4jInterceptorTestCase extends Wss4jTestCase {
2626

2727
public void testhandleRequest() throws Exception {
28-
SoapMessage request = loadMessage("empty-soap.xml");
28+
SoapMessage request = loadSoap11Message("empty-soap.xml");
2929
final Object requestMessage = getMessage(request);
30-
SoapMessage validatedRequest = loadMessage("empty-soap.xml");
30+
SoapMessage validatedRequest = loadSoap11Message("empty-soap.xml");
3131
final Object validatedRequestMessage = getMessage(validatedRequest);
3232
Wss4jSecurityInterceptor interceptor = new Wss4jSecurityInterceptor() {
3333
protected void secureMessage(SoapMessage soapMessage, MessageContext messageContext)
@@ -41,13 +41,13 @@ protected void validateMessage(SoapMessage soapMessage, MessageContext messageCo
4141
setMessage(soapMessage, validatedRequestMessage);
4242
}
4343
};
44-
MessageContext context = new DefaultMessageContext(request, getMessageFactory());
44+
MessageContext context = new DefaultMessageContext(request, getSoap11MessageFactory());
4545
interceptor.handleRequest(context, null);
4646
assertEquals("Invalid request", validatedRequestMessage, getMessage((SoapMessage) context.getRequest()));
4747
}
4848

4949
public void testhandleResponse() throws Exception {
50-
SoapMessage securedResponse = loadMessage("empty-soap.xml");
50+
SoapMessage securedResponse = loadSoap11Message("empty-soap.xml");
5151
final Object securedResponseMessage = getMessage(securedResponse);
5252

5353
Wss4jSecurityInterceptor interceptor = new Wss4jSecurityInterceptor() {
@@ -63,8 +63,8 @@ protected void validateMessage(SoapMessage soapMessage, MessageContext messageCo
6363
}
6464

6565
};
66-
SoapMessage request = loadMessage("empty-soap.xml");
67-
MessageContext context = new DefaultMessageContext(request, getMessageFactory());
66+
SoapMessage request = loadSoap11Message("empty-soap.xml");
67+
MessageContext context = new DefaultMessageContext(request, getSoap11MessageFactory());
6868
context.getResponse();
6969
interceptor.handleResponse(context, null);
7070
assertEquals("Invalid response", securedResponseMessage, getMessage((SoapMessage) context.getResponse()));

security/src/test/java/org/springframework/ws/soap/security/wss4j/Wss4jMessageInterceptorAcegiCallbackHandlerTestCase.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ protected void tearDown() throws Exception {
5656

5757
public void testValidateUsernameTokenPlainText() throws Exception {
5858
EndpointInterceptor interceptor = prepareInterceptor("UsernameToken", true, false);
59-
SoapMessage message = loadMessage("usernameTokenPlainText-soap.xml");
60-
MessageContext messageContext = new DefaultMessageContext(message, getMessageFactory());
59+
SoapMessage message = loadSoap11Message("usernameTokenPlainText-soap.xml");
60+
MessageContext messageContext = new DefaultMessageContext(message, getSoap11MessageFactory());
6161
interceptor.handleRequest(messageContext, null);
6262
assertValidateUsernameToken(message);
6363

@@ -69,8 +69,8 @@ public void testValidateUsernameTokenPlainText() throws Exception {
6969

7070
public void testValidateUsernameTokenDigest() throws Exception {
7171
EndpointInterceptor interceptor = prepareInterceptor("UsernameToken", true, true);
72-
SoapMessage message = loadMessage("usernameTokenDigest-soap.xml");
73-
MessageContext messageContext = new DefaultMessageContext(message, getMessageFactory());
72+
SoapMessage message = loadSoap11Message("usernameTokenDigest-soap.xml");
73+
MessageContext messageContext = new DefaultMessageContext(message, getSoap11MessageFactory());
7474
interceptor.handleRequest(messageContext, null);
7575
assertValidateUsernameToken(message);
7676

security/src/test/java/org/springframework/ws/soap/security/wss4j/Wss4jMessageInterceptorEncryptionTestCase.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ protected void onSetup() throws Exception {
6161
}
6262

6363
public void testDecryptRequest() throws Exception {
64-
SoapMessage message = loadMessage("encrypted-soap.xml");
65-
MessageContext messageContext = new DefaultMessageContext(message, getMessageFactory());
64+
SoapMessage message = loadSoap11Message("encrypted-soap.xml");
65+
MessageContext messageContext = new DefaultMessageContext(message, getSoap11MessageFactory());
6666
interceptor.validateMessage(message, messageContext);
6767
Document document = getDocument((SoapMessage) messageContext.getRequest());
6868
assertXpathEvaluatesTo("Decryption error", "Hello", "/SOAP-ENV:Envelope/SOAP-ENV:Body/echo:echoRequest/text()",
@@ -72,8 +72,8 @@ public void testDecryptRequest() throws Exception {
7272
}
7373

7474
public void testEncryptResponse() throws Exception {
75-
SoapMessage message = loadMessage("empty-soap.xml");
76-
MessageContext messageContext = getMessageContext(message);
75+
SoapMessage message = loadSoap11Message("empty-soap.xml");
76+
MessageContext messageContext = getSoap11MessageContext(message);
7777
interceptor.setSecurementEncryptionUser("rsakey");
7878
interceptor.secureMessage(message, messageContext);
7979
Document document = getDocument(message);

security/src/test/java/org/springframework/ws/soap/security/wss4j/Wss4jMessageInterceptorHeaderTestCase.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ protected void onSetup() throws Exception {
4646
}
4747

4848
public void testValidateUsernameTokenPlainText() throws Exception {
49-
SoapMessage message = loadMessage("usernameTokenPlainTextWithHeaders-soap.xml");
50-
MessageContext messageContext = new DefaultMessageContext(message, getMessageFactory());
49+
SoapMessage message = loadSoap11Message("usernameTokenPlainTextWithHeaders-soap.xml");
50+
MessageContext messageContext = new DefaultMessageContext(message, getSoap11MessageFactory());
5151
interceptor.validateMessage(message, messageContext);
5252
Object result = getMessage(message);
5353
assertNotNull("No result returned", result);
@@ -70,8 +70,8 @@ public void testValidateUsernameTokenPlainText() throws Exception {
7070
}
7171

7272
public void testEmptySecurityHeader() throws Exception {
73-
SoapMessage message = loadMessage("emptySecurityHeader-soap.xml");
74-
MessageContext messageContext = new DefaultMessageContext(message, getMessageFactory());
73+
SoapMessage message = loadSoap11Message("emptySecurityHeader-soap.xml");
74+
MessageContext messageContext = new DefaultMessageContext(message, getSoap11MessageFactory());
7575
try {
7676
interceptor.validateMessage(message, messageContext);
7777
fail("validation must fail for an empty security header.");
@@ -87,8 +87,8 @@ public void testPreserveCustomHeaders() throws Exception {
8787
interceptor.setSecurementPassword("Ernie");
8888

8989
ByteArrayOutputStream os = new ByteArrayOutputStream();
90-
SoapMessage message = loadMessage("customHeader-soap.xml");
91-
MessageContext messageContext = new DefaultMessageContext(message, getMessageFactory());
90+
SoapMessage message = loadSoap11Message("customHeader-soap.xml");
91+
MessageContext messageContext = new DefaultMessageContext(message, getSoap11MessageFactory());
9292
message.writeTo(os);
9393
String document = os.toString("UTF-8");
9494
assertXpathEvaluatesTo("Header 1 does not exist", "test1", "/SOAP-ENV:Envelope/SOAP-ENV:Header/test:header1",

security/src/test/java/org/springframework/ws/soap/security/wss4j/Wss4jMessageInterceptorSignTestCase.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ protected void onSetup() throws Exception {
5555
}
5656

5757
public void testValidateCertificate() throws Exception {
58-
SoapMessage message = loadMessage("signed-soap.xml");
58+
SoapMessage message = loadSoap11Message("signed-soap.xml");
5959

60-
MessageContext messageContext = new DefaultMessageContext(message, getMessageFactory());
60+
MessageContext messageContext = new DefaultMessageContext(message, getSoap11MessageFactory());
6161
interceptor.validateMessage(message, messageContext);
6262
Object result = getMessage(message);
6363
assertNotNull("No result returned", result);
@@ -66,8 +66,8 @@ public void testValidateCertificate() throws Exception {
6666
}
6767

6868
public void testValidateCertificateWithSignatureConfirmation() throws Exception {
69-
SoapMessage message = loadMessage("signed-soap.xml");
70-
MessageContext messageContext = getMessageContext(message);
69+
SoapMessage message = loadSoap11Message("signed-soap.xml");
70+
MessageContext messageContext = getSoap11MessageContext(message);
7171
interceptor.setEnableSignatureConfirmation(true);
7272
interceptor.validateMessage(message, messageContext);
7373
WebServiceMessage response = messageContext.getResponse();
@@ -83,8 +83,8 @@ public void testSignResponse() throws Exception {
8383
interceptor.setEnableSignatureConfirmation(false);
8484
interceptor.setSecurementPassword("123456");
8585
interceptor.setSecurementUsername("rsaKey");
86-
SoapMessage message = loadMessage("empty-soap.xml");
87-
MessageContext messageContext = getMessageContext(message);
86+
SoapMessage message = loadSoap11Message("empty-soap.xml");
87+
MessageContext messageContext = getSoap11MessageContext(message);
8888

8989
// interceptor.setSecurementSignatureKeyIdentifier("IssuerSerial");
9090

@@ -102,8 +102,8 @@ public void testSignResponseWithSignatureUser() throws Exception {
102102
interceptor.setEnableSignatureConfirmation(false);
103103
interceptor.setSecurementPassword("123456");
104104
interceptor.setSecurementSignatureUser("rsaKey");
105-
SoapMessage message = loadMessage("empty-soap.xml");
106-
MessageContext messageContext = getMessageContext(message);
105+
SoapMessage message = loadSoap11Message("empty-soap.xml");
106+
MessageContext messageContext = getSoap11MessageContext(message);
107107

108108
interceptor.secureMessage(message, messageContext);
109109

security/src/test/java/org/springframework/ws/soap/security/wss4j/Wss4jMessageInterceptorSpringSecurityCallbackHandlerTestCase.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ protected void tearDown() throws Exception {
5656

5757
public void testValidateUsernameTokenPlainText() throws Exception {
5858
EndpointInterceptor interceptor = prepareInterceptor("UsernameToken", true, false);
59-
SoapMessage message = loadMessage("usernameTokenPlainText-soap.xml");
60-
MessageContext messageContext = new DefaultMessageContext(message, getMessageFactory());
59+
SoapMessage message = loadSoap11Message("usernameTokenPlainText-soap.xml");
60+
MessageContext messageContext = new DefaultMessageContext(message, getSoap11MessageFactory());
6161
interceptor.handleRequest(messageContext, null);
6262
assertValidateUsernameToken(message);
6363

@@ -69,8 +69,8 @@ public void testValidateUsernameTokenPlainText() throws Exception {
6969

7070
public void testValidateUsernameTokenDigest() throws Exception {
7171
EndpointInterceptor interceptor = prepareInterceptor("UsernameToken", true, true);
72-
SoapMessage message = loadMessage("usernameTokenDigest-soap.xml");
73-
MessageContext messageContext = new DefaultMessageContext(message, getMessageFactory());
72+
SoapMessage message = loadSoap11Message("usernameTokenDigest-soap.xml");
73+
MessageContext messageContext = new DefaultMessageContext(message, getSoap11MessageFactory());
7474
interceptor.handleRequest(messageContext, null);
7575
assertValidateUsernameToken(message);
7676

security/src/test/java/org/springframework/ws/soap/security/wss4j/Wss4jMessageInterceptorTimestampTestCase.java

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,31 +16,24 @@
1616

1717
package org.springframework.ws.soap.security.wss4j;
1818

19-
import java.lang.reflect.Field;
2019
import java.text.DateFormat;
2120
import java.text.SimpleDateFormat;
2221

23-
import javax.xml.transform.TransformerFactory;
24-
import javax.xml.transform.Transformer;
25-
import javax.xml.transform.Result;
26-
import javax.xml.transform.Source;
27-
2822
import org.w3c.dom.Document;
2923

3024
import org.springframework.ws.context.DefaultMessageContext;
3125
import org.springframework.ws.context.MessageContext;
3226
import org.springframework.ws.soap.SoapMessage;
3327
import org.springframework.ws.soap.security.WsSecurityValidationException;
34-
import org.springframework.xml.transform.StringResult;
3528

3629
public abstract class Wss4jMessageInterceptorTimestampTestCase extends Wss4jTestCase {
3730

3831
public void testAddTimestamp() throws Exception {
3932
Wss4jSecurityInterceptor interceptor = new Wss4jSecurityInterceptor();
4033
interceptor.setSecurementActions("Timestamp");
4134
interceptor.afterPropertiesSet();
42-
SoapMessage message = loadMessage("empty-soap.xml");
43-
MessageContext context = getMessageContext(message);
35+
SoapMessage message = loadSoap11Message("empty-soap.xml");
36+
MessageContext context = getSoap11MessageContext(message);
4437
interceptor.secureMessage(message, context);
4538
Document document = getDocument(message);
4639
assertXpathExists("timestamp header not found",
@@ -53,7 +46,7 @@ public void testValidateTimestamp() throws Exception {
5346
interceptor.afterPropertiesSet();
5447
SoapMessage message = getMessageWithTimestamp();
5548

56-
MessageContext context = new DefaultMessageContext(message, getMessageFactory());
49+
MessageContext context = new DefaultMessageContext(message, getSoap11MessageFactory());
5750
interceptor.validateMessage(message, context);
5851
assertXpathNotExists("Security Header not removed", "/SOAP-ENV:Envelope/SOAP-ENV:Header/wsse:Security",
5952
getDocument(message));
@@ -63,8 +56,8 @@ public void testValidateTimestampWithExpiredTtl() throws Exception {
6356
Wss4jSecurityInterceptor interceptor = new Wss4jSecurityInterceptor();
6457
interceptor.setValidationActions("Timestamp");
6558
interceptor.afterPropertiesSet();
66-
SoapMessage message = loadMessage("expiredTimestamp-soap.xml");
67-
MessageContext context = new DefaultMessageContext(message, getMessageFactory());
59+
SoapMessage message = loadSoap11Message("expiredTimestamp-soap.xml");
60+
MessageContext context = new DefaultMessageContext(message, getSoap11MessageFactory());
6861
try {
6962
interceptor.validateMessage(message, context);
7063
fail();
@@ -81,8 +74,8 @@ public void testSecureTimestampWithCustomTtl() throws Exception {
8174
interceptor.setTimestampStrict(true);
8275
interceptor.setSecurementTimeToLive(ttlInSeconds);
8376
interceptor.afterPropertiesSet();
84-
SoapMessage message = loadMessage("empty-soap.xml");
85-
MessageContext context = new DefaultMessageContext(message, getMessageFactory());
77+
SoapMessage message = loadSoap11Message("empty-soap.xml");
78+
MessageContext context = new DefaultMessageContext(message, getSoap11MessageFactory());
8679
interceptor.secureMessage(message, context);
8780

8881
String created = xpathTemplate.evaluateAsString("/SOAP-ENV:Envelope/SOAP-ENV:Header/wsse:Security/wsu:Timestamp/wsu:Created/text()",
@@ -100,8 +93,8 @@ private SoapMessage getMessageWithTimestamp() throws Exception {
10093
Wss4jSecurityInterceptor interceptor = new Wss4jSecurityInterceptor();
10194
interceptor.setSecurementActions("Timestamp");
10295
interceptor.afterPropertiesSet();
103-
SoapMessage message = loadMessage("empty-soap.xml");
104-
MessageContext context = getMessageContext(message);
96+
SoapMessage message = loadSoap11Message("empty-soap.xml");
97+
MessageContext context = getSoap11MessageContext(message);
10598
interceptor.secureMessage(message, context);
10699
return message;
107100
}

security/src/test/java/org/springframework/ws/soap/security/wss4j/Wss4jMessageInterceptorUsernameTokenSignatureTestCase.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ public void testAddUsernameTokenSignature() throws Exception {
2929
interceptor.setSecurementUsername("Bert");
3030
interceptor.setSecurementPassword("Ernie");
3131
interceptor.afterPropertiesSet();
32-
SoapMessage message = loadMessage("empty-soap.xml");
33-
MessageContext context = getMessageContext(message);
32+
SoapMessage message = loadSoap11Message("empty-soap.xml");
33+
MessageContext context = getSoap11MessageContext(message);
3434
interceptor.secureMessage(message, context);
3535

3636
Document doc = getDocument(message);

0 commit comments

Comments
 (0)