Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.hoovers.webservice.springdemo;
- import java.io.IOException;
- import javax.xml.namespace.QName;
- import javax.xml.transform.TransformerException;
- import org.springframework.ws.WebServiceMessage;
- import org.springframework.ws.client.core.WebServiceMessageCallback;
- import org.springframework.ws.soap.SoapHeader;
- import org.springframework.ws.soap.SoapHeaderElement;
- import org.springframework.ws.soap.SoapMessage;
- public class HeaderCallback implements WebServiceMessageCallback {
- private String namespaceURI;
- private String elementName;
- private String apiKey;
- private String usernameElement;
- private String passwordElement;
- private String username;
- private String password;
- public void doWithMessage(WebServiceMessage message) throws IOException, TransformerException {
- QName apiKeyElement = new QName(getNamespaceURI(), getElementName());
- SoapMessage msg = (SoapMessage) message;
- SoapHeader header = msg.getEnvelope().getHeader();
- SoapHeaderElement headerElement = header.addHeaderElement(apiKeyElement);
- headerElement.setText(apiKey);
- /**
- * Set username & password in header to invoke authentication
- * username & password are passed in from applicationContext.xml
- */
- if (getUsernameElement() != null) {
- SoapHeaderElement usernameHeaderElement = header.addHeaderElement(new QName(getNamespaceURI(),
- getUsernameElement()));
- usernameHeaderElement.setText(username);
- }
- if (getPasswordElement() != null) {
- SoapHeaderElement passwordHeaderElement = header.addHeaderElement(new QName(getNamespaceURI(),
- getPasswordElement()));
- passwordHeaderElement.setText(password);
- }
- }
- public String getNamespaceURI() {
- return namespaceURI;
- }
- public void setNamespaceURI(String namespaceURI) {
- this.namespaceURI = namespaceURI;
- }
- public String getApiKey() {
- return apiKey;
- }
- public void setApiKey(String apiKey) {
- this.apiKey = apiKey;
- }
- public void setElementName(String elementName) {
- this.elementName = elementName;
- }
- public String getElementName() {
- return elementName;
- }
- public String getUsernameElement() {
- return usernameElement;
- }
- public void setUsernameElement(String usernameElement) {
- this.usernameElement = usernameElement;
- }
- public String getPasswordElement() {
- return passwordElement;
- }
- public void setPasswordElement(String passwordElement) {
- this.passwordElement = passwordElement;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement