使用WSCallbackHandlerImpl执行编程登录并且没有将java.naming.provider.url设置为系统属性或在jndi.properties文件中时,需要调用:
Object obj = initialContext.lookup("");
在执行登录之前。
之后,以下代码有效:
LoginContext lc = null;
try {
lc = new LoginContext("WSLogin",
new WSCallbackHandlerImpl("userName", "realm", "password"));
} catch (LoginException le) {
System.out.println("Cannot create LoginContext. " + le.getMessage());
// insert error processing code
} catch(SecurityException se) {
System.out.printlin("Cannot create LoginContext." + se.getMessage();
// Insert error processing
}
obj和initialContext都没有传递给WSCallbackHandlerImpl或LoginContext。
根据Javadoc,InitialContext.lookup("")返回上下文的新实例。
问题: