/* * RequesterCredentials.java * * Created on August 29, 2006, 11:02 PM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package ebay.client.handler; /** * * @author mode */ import ebay.apis.*; import java.util.Properties; import javax.xml.ws.*; import javax.xml.ws.handler.*; import javax.xml.ws.handler.soap.*; import javax.xml.soap.*; import javax.xml.namespace.QName; import java.util.Set; import java.io.*; public class RequesterCredentials implements SOAPHandler { private static Properties props = new Properties(); static { try { props.load(new FileReader("ebay.properties")); }catch (FileNotFoundException fne) { System.out.println("Could not find ebay.properties"); System.exit(1); }catch (IOException ioe) { System.out.println("Error reading ebay.properties " + ioe.getMessage()); System.exit(1); } } public Set getHeaders() { return null; } public boolean handleMessage(SOAPMessageContext smc) { addRequesterCredentials(smc); return true; } public boolean handleFault(SOAPMessageContext smc) { return true; } public void close(MessageContext messageContext) { } private void addRequesterCredentials(SOAPMessageContext smc) { Boolean outboundProperty = (Boolean) smc.get (MessageContext.MESSAGE_OUTBOUND_PROPERTY); if (outboundProperty.booleanValue()) { SOAPMessage message = smc.getMessage(); try { SOAPHeader header = message.getSOAPHeader(); if (header == null) { message.getSOAPPart().getEnvelope().addHeader(); header = message.getSOAPHeader(); } SOAPElement heSecurity = header.addChildElement ("RequesterCredentials", "ebl", "urn:ebay:apis:eBLBaseComponents"); heSecurity.addChildElement("eBayAuthToken", "ebl", "urn:ebay:apis:eBLBaseComponents").addTextNode((String) props.get("authToken")); SOAPElement userNameToken = heSecurity.addChildElement("Credentials", "ebl", "urn:ebay:apis:eBLBaseComponents"); userNameToken.addChildElement("AppId", "ebl", "urn:ebay:apis:eBLBaseComponents").addTextNode((String) props.get("appID")); userNameToken.addChildElement("DevId", "ebl", "urn:ebay:apis:eBLBaseComponents").addTextNode((String) props.get("devID")); userNameToken.addChildElement("AuthCert", "ebl", "urn:ebay:apis:eBLBaseComponents").addTextNode((String) props.get("certID")); //message.writeTo(System.out); } catch (Exception e) { e.printStackTrace(); } } } }