ClassPathXmlApplicationContext clientContext = new ClassPathXmlApplicationContext(new String[] {
"org/apache/cxf/systest/ws/policy/client/sslnocertclient.xml"
});
OperationSimpleService simpleService = clientContext
.getBean("OperationSimpleServiceClient", OperationSimpleService.class);
// no security on ping!
simpleService.ping();
try {
simpleService.doStuff();
fail("Expected exception as no credentials");
} catch (SOAPFaultException e) {
assertTrue(true);
}
WSS4JOutInterceptor wssOut = addToClient(simpleService);
wssOut.setProperties(getNoPasswordProperties("alice"));
try {
simpleService.doStuff();
fail("Expected exception as no password and no client cert");
} catch (SOAPFaultException e) {
assertTrue(true);
}
// this is successful because the alternative policy allows a password to be specified.
wssOut.setProperties(getPasswordProperties("alice", "password"));
simpleService.doStuff();
}