Java LDAP连接被拒绝错误?

Java LDAP连接被拒绝错误?,java,jakarta-ee,ldap,Java,Jakarta Ee,Ldap,我正在尝试运行以下程序: package jndi; import java.util.Hashtable; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.naming.directory.Attributes; import javax.naming.directory.DirContext; publi

我正在尝试运行以下程序:

package jndi;

import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;


public class LDAPRead {

    public static void main(String[] args) {

        Hashtable env = new Hashtable();
        env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
        env.put(Context.PROVIDER_URL, "ldap://localhost:389/o=jaydeetechnology");
        try{
            System.out.println("creating initial directory context");
            DirContext ctx = (DirContext) new InitialContext(env);
            System.out.println("search for john hunt");
            Attributes attrs = ctx.getAttributes("cn=John Hunt , ou=JayDeeTechnology");
            System.out.println("find the surname and print it");
            System.out.println("sn: "+attrs.get("sn").get());
            ctx.close();
        }catch(NamingException e){
            e.printStackTrace();
        }
    }

}
但我收到“连接被拒绝”错误。如果我遗漏了什么,谁能帮我一下吗

creating initial directory context
javax.naming.CommunicationException: localhost:389 [Root exception is java.net.ConnectException: Connection refused: connect]
    at com.sun.jndi.ldap.Connection.<init>(Connection.java:222)
    at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:130)
    at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1592)
    at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2664)
    at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:305)
    at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:187)
    at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:205)
    at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:148)
    at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:78)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:235)
    at javax.naming.InitialContext.initializeDefaultInitCtx(InitialContext.java:318)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:348)
    at javax.naming.InitialContext.internalInit(InitialContext.java:286)
    at javax.naming.InitialContext.<init>(InitialContext.java:211)
    at jndi.LDAPRead.main(LDAPRead.java:31)
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:383)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:245)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:232)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:377)
    at java.net.Socket.connect(Socket.java:539)
    at java.net.Socket.connect(Socket.java:488)
    at java.net.Socket.<init>(Socket.java:385)
    at java.net.Socket.<init>(Socket.java:199)
    at com.sun.jndi.ldap.Connection.createSocket(Connection.java:364)
    at com.sun.jndi.ldap.Connection.<init>(Connection.java:199)
    ... 14 more
创建初始目录上下文
javax.naming.CommunicationException:localhost:389[根异常为java.net.ConnectException:连接被拒绝:连接]
位于com.sun.jndi.ldap.Connection(Connection.java:222)
位于com.sun.jndi.ldap.LdapClient.(LdapClient.java:130)
位于com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1592)
位于com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2664)
位于com.sun.jndi.ldap.LdapCtx.(LdapCtx.java:305)
位于com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:187)
位于com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:205)
位于com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:148)
位于com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:78)
位于javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:235)
在javax.naming.InitialContext.initializeDefaultInitCtx(InitialContext.java:318)
位于javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:348)
位于javax.naming.InitialContext.internalInit(InitialContext.java:286)
位于javax.naming.InitialContext。(InitialContext.java:211)
位于jndi.LDAPRead.main(LDAPRead.java:31)
原因:java.net.ConnectException:连接被拒绝:连接
位于java.net.PlainSocketImpl.socketConnect(本机方法)
位于java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:383)
位于java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:245)
位于java.net.PlainSocketImpl.connect(PlainSocketImpl.java:232)
位于java.net.socksocketimpl.connect(socksocketimpl.java:377)
位于java.net.Socket.connect(Socket.java:539)
位于java.net.Socket.connect(Socket.java:488)
位于java.net.Socket(Socket.java:385)
位于java.net.Socket(Socket.java:199)
位于com.sun.jndi.ldap.Connection.createSocket(Connection.java:364)
位于com.sun.jndi.ldap.Connection(Connection.java:199)
... 14多
我正在使用RSA 8.0

我认为您使用了错误的主机名、错误的端口号,或者尚未在该服务器上启动LDAP安装


尝试查看LDAP服务器的日志,也许您可以从中了解更多。

这里的“拒绝连接”与其他地方的含义相同。在您尝试连接的IP:端口上未侦听任何内容。服务尚未启动,或者您的IP或端口错误。

您确定数据正确且足够吗?您是否尝试过使用类似ApacheDirectory Studio的ldap浏览器连接到该ldap?
Error: javax.naming.CommunicationException: [server]:[port] [Root exception is java.net.ConnectException: Connection refused: connect]

Cause: The port name you have specified for the LDAP/AD server is incorrect.