Samples JDK
SecurityContextCallback.java
1 package com.freemindcafe.apache.cxf.wsdl.sample1;
2 
3 import java.io.IOException;
4 
5 import javax.security.auth.callback.Callback;
6 import javax.security.auth.callback.CallbackHandler;
7 import javax.security.auth.callback.UnsupportedCallbackException;
8 
9 import org.apache.log4j.Logger;
10 import org.apache.ws.security.WSPasswordCallback;
11 
12 //\cond HIDDEN_SYMBOLS
13 /**
14  * CXF Password Callback used to retrieve username/password from web service
15  * user request
16  *
17  * @author li00000y
18  *
19  */
20 public class SecurityContextCallback
21  implements
22  CallbackHandler {
23 
24  private static Logger logger = Logger
25  .getLogger(SecurityContextCallback.class);
26 
27 
28  @Override
29  public void handle(Callback[] callbacks) throws IOException,
30  UnsupportedCallbackException {
31 
32  for (int i = 0; i < callbacks.length; i++) {
33 
34  WSPasswordCallback pc = (WSPasswordCallback) callbacks[i];
35 
36  if (pc.getUsage() == WSPasswordCallback.USERNAME_TOKEN
37  || pc.getUsage() == WSPasswordCallback.USERNAME_TOKEN_UNKNOWN) {
38 
39  int usage = pc.getUsage();
40  System.out.println("SecurityContextCallback-----------------");
41  System.out.println("usernname - " + pc.getIdentifier());
42  System.out.println("password - " + pc.getPassword());
43 
44  }
45  }
46 
47  logger.error("No Username/Password found");
48 
49  }
50 
51 
52 }
53 //\endcond