package com.cvs; import java.util.Iterator; import java.util.Map; import javax.xml.namespace.QName; import javax.xml.rpc.handler.Handler; import javax.xml.rpc.handler.HandlerInfo; import javax.xml.rpc.handler.soap.SOAPMessageContext; import javax.xml.soap.Name; import javax.xml.soap.SOAPElement; import javax.xml.soap.SOAPEnvelope; import javax.xml.soap.SOAPException; import javax.xml.soap.SOAPHeader; import javax.xml.soap.SOAPHeaderElement; import javax.xml.soap.SOAPMessage; import javax.xml.soap.SOAPPart; import javax.xml.soap.*; import javax.xml.rpc.handler.MessageContext; import javax.xml.rpc.handler.soap.SOAPMessageContext; public class PSClientHandler implements Handler { private HandlerInfo info; public static final QName[] HEADERS = null; public boolean handleRequest(MessageContext mc) { System.out.println("In handleRequest"); loginHeader((SOAPMessageContext)mc); System.out.println("After loginHandler" + (((SOAPMessageContext)mc).getMessage()).toString()); return true; } public QName[] getHeaders() { return info.getHeaders(); } public void init(HandlerInfo config) { info = config; } public void loginHeader(SOAPMessageContext mc){ try { SOAPMessage msg = mc.getMessage(); SOAPPart part = msg.getSOAPPart(); SOAPEnvelope envelope = part.getEnvelope(); SOAPHeader header = envelope.getHeader(); if (header == null) { header = envelope.addHeader(); } System.out.println("ClientHandler1: loggerElement"); SOAPHeaderElement loggerElement = header.addHeaderElement(envelope.createName("Security_Request", "ns0", "http://psfttemp.org")); SOAPElement username = loggerElement.addChildElement(envelope.createName("Username", "ns0", "http://psfttemp.org")); username.setValue("PS2"); SOAPElement password = loggerElement.addChildElement(envelope.createName("Password", "ns0", "http://psfttemp.org")); password.setValue("PS2"); /* System.out.println("ClientHandler1: loggerElement"); SOAPHeaderElement loggerElement = header.addHeaderElement(envelope.createName("Security_Request")); SOAPElement username = loggerElement.addChildElement(envelope.createName("Username")); username.setValue("PS2"); SOAPElement password = loggerElement.addChildElement(envelope.createName("Password")); password.setValue("PS2"); */ System.out.println("after"); /* SOAPHeaderElement headerElement = (SOAPHeaderElement)header.addChildElement("Security_Request", "ns0"); SOAPElement id = SOAPFactory.newInstance().createElement("Username"); id.addTextNode("PS2"); headerElement.addChildElement(id); SOAPElement password = SOAPFactory.newInstance().createElement("Password"); password.addTextNode("PS2"); headerElement.addChildElement(password); */ } catch (SOAPException e) { e.printStackTrace(); } } public void destroy(){ //nothing } public boolean handleResponse(MessageContext mc) { System.out.println("handleResponse" + (((SOAPMessageContext)mc).getMessage()).toString()); return true; } public boolean handleFault(MessageContext mc) { //noting return true; } }