首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

急求Java读取电子邮件LDAP服务上联系人的方法解决方案

2012-02-20 
急求Java读取电子邮件LDAP服务上联系人的方法现在需要从一LDAP服务上取得所有联系人的信息(用outlook的LDA

急求Java读取电子邮件LDAP服务上联系人的方法
现在需要从一LDAP服务上取得所有联系人的信息(用outlook的LDAP服务可以看到联系人)。请给一个用纯Java代码读取的方法(最好不要用框架),告诉我:
1:如何连接
2:如何读取
3:最好告诉我在服务器的存储结构(我知道是树状;难道是一个根,下面全是叶子吗?)
不胜感激!!!

[解决办法]

Java code
import javax.naming.*;import javax.naming.directory.*;import java.util.Hashtable;public class SimpleQuery {    public static void main(String[] args) {        if (args.length != 2) {          System.out.println("Syntax: SimpleQuery query attribute");          return;        }        String query = args[0];        String attribute = args[1];        StringBuffer output = new StringBuffer();        try {            String url = "ldap://directory.cornell.edu/o=Cornell%20University,c=US";            Hashtable env = new Hashtable();            env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");            env.put(Context.PROVIDER_URL, url);            DirContext context = new InitialDirContext(env);            SearchControls ctrl = new SearchControls();            ctrl.setSearchScope(SearchControls.SUBTREE_SCOPE);            NamingEnumeration enumeration = context.search("", query, ctrl);            while (enumeration.hasMore()) {                SearchResult result = (SearchResult) enumeration.next();                Attributes attribs = result.getAttributes();                NamingEnumeration values = ((BasicAttribute) attribs.get(attribute)).getAll();                while (values.hasMore()) {                  if (output.length() > 0) {                    output.append("|");                  }                  output.append(values.next().toString());                }            }        } catch (Exception e) {            e.printStackTrace();        }        System.out.print(output.toString());    }    public SimpleQuery() {}}
[解决办法]
用ldp工具在服务器上先看下目录结构 ldp在server03安装盘里面有吧
[解决办法]
探讨

杯具的方法就要结束了,但是我还不知道通讯录的默认DN是多少,但我感觉所有通讯录都有一个showInAddressBook属性,感觉应该有用,不过不会用(6#说用ldap工具,找时间试试)。。
CN=Default Global Address List CN=All Global Address Lists CN=Address Lists Container CN=MesCEd CN=Mic……

[解决办法]
如果我没记错DN是域名,你不同的域怎么可能有相同的DN
[解决办法]
哎 你等高手回答吧 这个东西我一点兴趣都没有 就稍微接触过一点
[解决办法]
目前这个网上有搭建好的可用的服务器(用来管理联系人的)吗?
看不懂啊

热点排行