1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
public boolean handleRequest(MessageContext messageContext) {
System.out.println("WS_Handler >> handleRequest");
SOAPMessageContext soapContext = (SOAPMessageContext) messageContext;
SOAPMessage msg = soapContext.getMessage();
// insertion de l'authentification (ws-security)
try {
SOAPEnvelope env = msg.getSOAPPart().getEnvelope();
SOAPHeader head = env.getHeader();
if (head == null) {
head = env.addHeader();
}
SOAPElement el = head.addChildElement("Security", "wsse", WSSE_URI);
el.addAttribute(env.createName("mustUnderstand", "env", ENV_URI), "1");
SOAPElement token = el.addChildElement("UsernameToken", "wsse", WSSE_URI);
SOAPElement name = token.addChildElement("Username", "wsse");
name.addTextNode(userName);
SOAPElement pswd = token.addChildElement("Password", "wsse");
pswd.addAttribute(env.createName("Type"), PASSWORD_TYPE);
pswd.addTextNode(userPassword);
msg.saveChanges();
} catch (SOAPException e) {
System.out.println("Bad authentification client");
}
return true;
} |