Advertisement
Guest User

Untitled

a guest
Jul 9th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.71 KB | None | 0 0
  1. package com.hoovers.webservice.springdemo;
  2.  
  3. import java.io.IOException;
  4.  
  5. import javax.xml.namespace.QName;
  6. import javax.xml.transform.TransformerException;
  7.  
  8. import org.springframework.ws.WebServiceMessage;
  9. import org.springframework.ws.client.core.WebServiceMessageCallback;
  10. import org.springframework.ws.soap.SoapHeader;
  11. import org.springframework.ws.soap.SoapHeaderElement;
  12. import org.springframework.ws.soap.SoapMessage;
  13.  
  14. public class HeaderCallback implements WebServiceMessageCallback {
  15.  
  16.     private String namespaceURI;
  17.     private String elementName;
  18.     private String apiKey;
  19.     private String usernameElement;
  20.     private String passwordElement;
  21.     private String username;
  22.     private String password;
  23.  
  24.     public void doWithMessage(WebServiceMessage message) throws IOException, TransformerException {
  25.         QName apiKeyElement = new QName(getNamespaceURI(), getElementName());
  26.         SoapMessage msg = (SoapMessage) message;
  27.         SoapHeader header = msg.getEnvelope().getHeader();
  28.         SoapHeaderElement headerElement = header.addHeaderElement(apiKeyElement);
  29.         headerElement.setText(apiKey);
  30.  
  31.         /**
  32.          * Set username & password in header to invoke authentication
  33.          * username & password are passed in from applicationContext.xml
  34.          */
  35.         if (getUsernameElement() != null) {
  36.             SoapHeaderElement usernameHeaderElement = header.addHeaderElement(new QName(getNamespaceURI(),
  37.                     getUsernameElement()));
  38.             usernameHeaderElement.setText(username);
  39.         }
  40.  
  41.         if (getPasswordElement() != null) {
  42.             SoapHeaderElement passwordHeaderElement = header.addHeaderElement(new QName(getNamespaceURI(),
  43.                     getPasswordElement()));
  44.             passwordHeaderElement.setText(password);
  45.         }
  46.  
  47.     }
  48.  
  49.     public String getNamespaceURI() {
  50.         return namespaceURI;
  51.     }
  52.  
  53.     public void setNamespaceURI(String namespaceURI) {
  54.         this.namespaceURI = namespaceURI;
  55.     }
  56.  
  57.     public String getApiKey() {
  58.         return apiKey;
  59.     }
  60.  
  61.     public void setApiKey(String apiKey) {
  62.         this.apiKey = apiKey;
  63.     }
  64.  
  65.     public void setElementName(String elementName) {
  66.         this.elementName = elementName;
  67.     }
  68.  
  69.     public String getElementName() {
  70.         return elementName;
  71.     }
  72.  
  73.     public String getUsernameElement() {
  74.         return usernameElement;
  75.     }
  76.  
  77.     public void setUsernameElement(String usernameElement) {
  78.         this.usernameElement = usernameElement;
  79.     }
  80.  
  81.     public String getPasswordElement() {
  82.         return passwordElement;
  83.     }
  84.  
  85.     public void setPasswordElement(String passwordElement) {
  86.         this.passwordElement = passwordElement;
  87.     }
  88.  
  89.     public String getUsername() {
  90.         return username;
  91.     }
  92.  
  93.     public void setUsername(String username) {
  94.         this.username = username;
  95.     }
  96.  
  97.     public String getPassword() {
  98.         return password;
  99.     }
  100.  
  101.     public void setPassword(String password) {
  102.         this.password = password;
  103.     }
  104.  
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement