Guest User

Untitled

a guest
Jan 29th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. import java.util.Collections;
  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.soap.SOAPMessage;
  8. import javax.xml.ws.handler.MessageContext;
  9. import javax.xml.ws.handler.soap.SOAPHandler;
  10. import javax.xml.ws.handler.soap.SOAPMessageContext;
  11. import org.apache.log4j.Logger;
  12.  
  13. /**
  14. *
  15. * @author BashirovMA
  16. */
  17. public class MyHandler implements SOAPHandler<SOAPMessageContext> {
  18.  
  19. static final Logger log = Logger.getLogger(MyHandler.class);
  20. private String username;
  21. private String password;
  22.  
  23. public MyHandler() {
  24. this.username = "";
  25. this.password = "";
  26. }
  27.  
  28. public MyHandler(String username, String password) {
  29. this.username = username;
  30. this.password = password;
  31. }
  32.  
  33. public MyHandler(String username, String password) {
  34. this.username = username;
  35. this.password = password;
  36. }
  37.  
  38. @Override
  39. public boolean handleMessage(SOAPMessageContext smc) {
  40. SOAPMessage msg = smc.getMessage();
  41. Boolean outboundProperty = (Boolean) smc.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
  42.  
  43. if (outboundProperty.booleanValue()) {
  44. try {
  45. SOAPEnvelope envelope = smc.getMessage().getSOAPPart().getEnvelope();
  46. if (envelope.getHeader() != null) {
  47. envelope.getHeader().detachNode();
  48. }
  49. SOAPHeader header = envelope.addHeader();
  50. SOAPElement root = header.addHeaderElement(envelope.createName("messageHeader", "", "http://services.ws.com/"));
  51. SOAPElement el1 = root.addChildElement(envelope.createName("username", "", ""));
  52. el1.setValue(String.valueOf(username));
  53. SOAPElement el2 = root.addChildElement(envelope.createName("password", "", ""));
  54. el2.setValue(String.valueOf(password));
  55. msg.saveChanges();
  56.  
  57. } catch (Exception e) {
  58. e.printStackTrace();
  59. log.error(e);
  60. }
  61. } else {
  62. try {
  63. SOAPMessage message = smc.getMessage();
  64. message.writeTo(System.out);
  65. } catch (Exception ex) {
  66. ex.printStackTrace();
  67. log.error(ex);
  68. }
  69. }
  70. return true;
  71. }
  72.  
  73. @Override
  74. public Set<QName> getHeaders() {
  75. return null;
  76. }
  77.  
  78. @Override
  79. public boolean handleFault(SOAPMessageContext messageContext) {
  80. return true;
  81. }
  82.  
  83. @Override
  84. public void close(MessageContext context) {
  85. }
  86.  
  87. }
Add Comment
Please, Sign In to add comment