Advertisement
Guest User

Untitled

a guest
Mar 1st, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.52 KB | None | 0 0
  1. package utility;
  2. import java.util.Set;
  3. import javax.xml.namespace.QName;
  4. import javax.xml.soap.SOAPElement;
  5. import javax.xml.soap.SOAPEnvelope;
  6. import javax.xml.soap.SOAPHeader;
  7. import javax.xml.ws.handler.MessageContext;
  8. import javax.xml.ws.handler.soap.SOAPHandler;
  9. import javax.xml.ws.handler.soap.SOAPMessageContext;
  10. public class WSSecurityHeaderSOAPHandler implements SOAPHandler<SOAPMessageContext> {
  11. private static final String SOAP_ELEMENT_PASSWORD = “Password”;
  12. private static final String SOAP_ELEMENT_USERNAME = “Username”;
  13. private static final String SOAP_ELEMENT_USERNAME_TOKEN = “UsernameToken”;
  14. private static final String SOAP_ELEMENT_SECURITY =Security;
  15. private static final String NAMESPACE_SECURITY = “http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
  16. private static final String PREFIX_SECURITY = “wsse”;
  17. private String usernameText;
  18. private String passwordText;
  19. public WSSecurityHeaderSOAPHandler(String usernameText, String passwordText) {
  20. this.usernameText = usernameText;
  21. this.passwordText = passwordText;
  22. }
  23. public boolean handleMessage(SOAPMessageContext soapMessageContext) {
  24. Boolean outboundProperty = (Boolean) soapMessageContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
  25. if (outboundProperty.booleanValue()) {
  26. try {
  27. SOAPEnvelope soapEnvelope = soapMessageContext.getMessage().getSOAPPart().getEnvelope();
  28. SOAPHeader header = soapEnvelope.getHeader();
  29. if (header == null) {
  30. header = soapEnvelope.addHeader();
  31. }
  32. SOAPElement soapElementSecurityHeader = header.addChildElement(SOAP_ELEMENT_SECURITY, PREFIX_SECURITY,
  33. NAMESPACE_SECURITY);
  34. SOAPElement soapElementUsernameToken = soapElementSecurityHeader
  35. .addChildElement(SOAP_ELEMENT_USERNAME_TOKEN, PREFIX_SECURITY);
  36. SOAPElement soapElementUsername = soapElementUsernameToken.addChildElement(SOAP_ELEMENT_USERNAME,
  37. PREFIX_SECURITY);
  38. soapElementUsername.addTextNode(this.usernameText);
  39. SOAPElement soapElementPassword = soapElementUsernameToken.addChildElement(SOAP_ELEMENT_PASSWORD,
  40. PREFIX_SECURITY);
  41. soapElementPassword.addTextNode(this.passwordText);
  42. } catch (Exception e) {
  43. throw new RuntimeException(Error on wsSecurityHandler:+ e.getMessage());
  44. }
  45. }
  46. return true;
  47. }
  48. @Override
  49. public void close(MessageContext context) {
  50. // TODO Auto-generated method stub
  51. }
  52. @Override
  53. public boolean handleFault(SOAPMessageContext context) {
  54. // TODO Auto-generated method stub
  55. return true;
  56. }
  57. @Override
  58. public Set<QName> getHeaders() {
  59. // TODO Auto-generated method stub
  60. return null;
  61. }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement