KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > ebay > client > handler > RequesterCredentials


1 /*
2  * RequesterCredentials.java
3  *
4  * Created on August 29, 2006, 11:02 PM
5  *
6  * To change this template, choose Tools | Template Manager
7  * and open the template in the editor.
8  */

9
10 package ebay.client.handler;
11
12 /**
13  *
14  * @author mode
15  */

16 import ebay.apis.*;
17 import java.util.Properties JavaDoc;
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 JavaDoc;
23 import java.util.Set JavaDoc;
24 import java.io.*;
25
26 public class RequesterCredentials implements SOAPHandler<SOAPMessageContext> {
27     private static Properties JavaDoc props = new Properties JavaDoc();
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 JavaDoc<QName JavaDoc> 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 JavaDoc outboundProperty = (Boolean JavaDoc)
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 JavaDoc) 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 JavaDoc) props.get("appID"));
77                 userNameToken.addChildElement("DevId", "ebl", "urn:ebay:apis:eBLBaseComponents").addTextNode((String JavaDoc) props.get("devID"));
78                 userNameToken.addChildElement("AuthCert", "ebl", "urn:ebay:apis:eBLBaseComponents").addTextNode((String JavaDoc) props.get("certID"));
79         //message.writeTo(System.out);
80
} catch (Exception JavaDoc e) {
81                 e.printStackTrace();
82             }
83         }
84     }
85 }
86
Popular Tags