1 9 10 package ebay.client.handler; 11 12 16 import ebay.apis.*; 17 import java.util.Properties ; 18 import javax.xml.ws.*; 19 import javax.xml.ws.handler.*; 20 import javax.xml.ws.handler.soap.*; 21 import javax.xml.soap.*; 22 import javax.xml.namespace.QName ; 23 import java.util.Set ; 24 import java.io.*; 25 26 public class RequesterCredentials implements SOAPHandler<SOAPMessageContext> { 27 private static Properties props = new Properties (); 28 29 static { 30 try { 31 props.load(new FileReader("ebay.properties")); 32 }catch (FileNotFoundException fne) { 33 System.out.println("Could not find ebay.properties"); 34 System.exit(1); 35 }catch (IOException ioe) { 36 System.out.println("Error reading ebay.properties " + ioe.getMessage()); 37 System.exit(1); 38 } 39 } 40 41 public Set <QName > getHeaders() { 42 return null; 43 } 44 45 public boolean handleMessage(SOAPMessageContext smc) { 46 addRequesterCredentials(smc); 47 return true; 48 } 49 50 public boolean handleFault(SOAPMessageContext smc) { 51 return true; 52 } 53 54 55 public void close(MessageContext messageContext) { 56 } 57 58 private void addRequesterCredentials(SOAPMessageContext smc) { 59 Boolean outboundProperty = (Boolean ) 60 smc.get (MessageContext.MESSAGE_OUTBOUND_PROPERTY); 61 62 if (outboundProperty.booleanValue()) { 63 SOAPMessage message = smc.getMessage(); 64 try { 65 SOAPHeader header = message.getSOAPHeader(); 66 if (header == null) { 67 message.getSOAPPart().getEnvelope().addHeader(); 68 header = message.getSOAPHeader(); 69 } 70 SOAPElement heSecurity = header.addChildElement 71 ("RequesterCredentials", 72 "ebl", 73 "urn:ebay:apis:eBLBaseComponents"); 74 heSecurity.addChildElement("eBayAuthToken", "ebl", "urn:ebay:apis:eBLBaseComponents").addTextNode((String ) props.get("authToken")); 75 SOAPElement userNameToken = heSecurity.addChildElement("Credentials", "ebl", "urn:ebay:apis:eBLBaseComponents"); 76 userNameToken.addChildElement("AppId", "ebl", "urn:ebay:apis:eBLBaseComponents").addTextNode((String ) props.get("appID")); 77 userNameToken.addChildElement("DevId", "ebl", "urn:ebay:apis:eBLBaseComponents").addTextNode((String ) props.get("devID")); 78 userNameToken.addChildElement("AuthCert", "ebl", "urn:ebay:apis:eBLBaseComponents").addTextNode((String ) props.get("certID")); 79 } catch (Exception e) { 81 e.printStackTrace(); 82 } 83 } 84 } 85 } 86 | Popular Tags |