Skip to content

Commit 12696a0

Browse files
author
Tareq Abedrabbo
committed
SWS-582 - tests for Soap 1.2
1 parent f476851 commit 12696a0

File tree

3 files changed

+57
-5
lines changed

3 files changed

+57
-5
lines changed

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

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,18 @@
2424
import org.springframework.ws.context.MessageContext;
2525
import org.springframework.ws.soap.SoapMessage;
2626
import org.springframework.ws.soap.security.wss4j.callback.SimplePasswordValidationCallbackHandler;
27+
import org.springframework.ws.WebServiceMessageFactory;
2728

2829
public abstract class Wss4jMessageInterceptorSoapActionTestCase extends Wss4jTestCase {
2930

3031
private static final String SOAP_ACTION = "\"http://test\"";
3132

32-
private Properties users = new Properties();
33+
private Properties users;
3334

3435
private Wss4jSecurityInterceptor interceptor;
3536

3637
protected void onSetup() throws Exception {
38+
users = new Properties();
3739
users.setProperty("Bert", "Ernie");
3840
interceptor = new Wss4jSecurityInterceptor();
3941
interceptor.setValidationActions("UsernameToken");
@@ -47,25 +49,51 @@ protected void onSetup() throws Exception {
4749
}
4850

4951
public void testPreserveSoapActionOnValidation() throws Exception {
50-
SoapMessage message = loadMessage("usernameTokenPlainText-soap.xml");
52+
SoapMessage message = loadSoap11Message("usernameTokenPlainText-soap.xml");
5153
message.setSoapAction(SOAP_ACTION);
52-
MessageContext messageContext = new DefaultMessageContext(message, getMessageFactory());
54+
MessageContext messageContext = new DefaultMessageContext(message, getSoap11MessageFactory());
55+
interceptor.validateMessage(message, messageContext);
56+
57+
assertNotNull("Soap Action must not be null", message.getSoapAction());
58+
assertEquals("Soap Action is different from expected", SOAP_ACTION, message.getSoapAction());
59+
}
60+
61+
public void testPreserveSoap12ActionOnValidation() throws Exception {
62+
SoapMessage message = loadSoap12Message("usernameTokenPlainText-soap12.xml");
63+
message.setSoapAction(SOAP_ACTION);
64+
WebServiceMessageFactory messageFactory = getSoap12MessageFactory();
65+
MessageContext messageContext = new DefaultMessageContext(message, messageFactory);
5366
interceptor.validateMessage(message, messageContext);
5467

5568
assertNotNull("Soap Action must not be null", message.getSoapAction());
5669
assertEquals("Soap Action is different from expected", SOAP_ACTION, message.getSoapAction());
5770
}
5871

5972
public void testPreserveSoapActionOnSecurement() throws Exception {
60-
SoapMessage message = loadMessage("empty-soap.xml");
73+
SoapMessage message = loadSoap11Message("empty-soap.xml");
6174
message.setSoapAction(SOAP_ACTION);
6275
interceptor.setSecurementUsername("Bert");
6376
interceptor.setSecurementPassword("Ernie");
64-
MessageContext messageContext = getMessageContext(message);
77+
MessageContext messageContext = getSoap11MessageContext(message);
6578
interceptor.secureMessage(message, messageContext);
6679

6780
assertNotNull("Soap Action must not be null", message.getSoapAction());
6881
assertEquals("Soap Action is different from expected", SOAP_ACTION, message.getSoapAction());
6982

7083
}
84+
85+
public void testPreserveSoap12ActionOnSecurement() throws Exception {
86+
SoapMessage message = loadSoap12Message("empty-soap12.xml");
87+
message.setSoapAction(SOAP_ACTION);
88+
interceptor.setSecurementUsername("Bert");
89+
interceptor.setSecurementPassword("Ernie");
90+
MessageContext messageContext = getSoap12MessageContext(message);
91+
interceptor.secureMessage(message, messageContext);
92+
93+
assertNotNull("Soap Action must not be null", message.getSoapAction());
94+
assertEquals("Soap Action is different from expected", SOAP_ACTION, message.getSoapAction());
95+
96+
}
97+
98+
7199
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
2+
<env:Body>
3+
<tru:StockSymbol xmlns:tru="http://fabrikam123.com/payloads">QQQ</tru:StockSymbol>
4+
</env:Body>
5+
</env:Envelope>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope">
2+
<SOAP-ENV:Header>
3+
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
4+
SOAP-ENV:mustUnderstand="1">
5+
<wsse:UsernameToken
6+
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
7+
wsu:Id="XWSSGID-1149200055993710197275"
8+
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
9+
<wsse:Username>Bert</wsse:Username>
10+
<wsse:Password
11+
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"
12+
>Ernie</wsse:Password>
13+
</wsse:UsernameToken>
14+
</wsse:Security>
15+
</SOAP-ENV:Header>
16+
<SOAP-ENV:Body>
17+
<tru:StockSymbol xmlns:tru="http://fabrikam123.com/payloads">QQQ</tru:StockSymbol>
18+
</SOAP-ENV:Body>
19+
</SOAP-ENV:Envelope>

0 commit comments

Comments
 (0)