我在其上配置了一个Weblogic邮件会话(来自weblogic配置屏幕和JNDI树):
Name: default
JNDI Name: mail/Session
Binding Name: mail.Session
Class: javax.mail.Session
Hash Code: 2112656059
toString Results: javax.mail.Session@7dec92bb
将我唯一的服务器作为目标,并且未配置安全策略。
进行查找:
final Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
env.put(Context.PROVIDER_URL, "t3://127.0.0.1:7001");
Session session = (Session) context.lookup("mail/Session");
我只是得到一个空引用,没有任何异常。 但是,我能够远程列出JNDI树,它为我带来了正确的对象:
weblogic
__WL_GlobalJavaApp
_WL_internal_CWI76otjHMIOhcsss1r1f0O7mVbaDE4riYjUFgmDAl9lkzlfET4ZBvPiKD1gPI7x
mail
ejb
javax
java:global
mejbmejb_jarMejb_EO
在 mail 节点内,我可以找到Session但没有绑定对象:
boundObj= null
className= null
fullName= null
isRel= true
name= "Session" (id=26)
我已经尝试过提供安全访问配置和使用Context.SECURITY_PRINCIPAL / Context.SECURITY_CREDENTIALS,除了提供完整路径(java:/ comp / env / mail / Session抛出NameNotFoundException),但没有任何改变。
有人知道会发生什么吗?
任何想法都会非常有用......
谢谢大家。