我是靠谱客的博主 花痴金毛,最近开发中收集的这篇文章主要介绍java.net.conne,java.net.ConnectException:连接到LDAP时连接超时,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

i am trying to connect to ldap active directory on windows server 2008 using spring ldap 1.3.1.RELEASE

and ldap config is as follows:

ldap url is: ldap://dc.fabrikam.com

username: administrator

password: 123456

- spring ldap configuration is as follows:

class="org.springframework.ldap.core.support.LdapContextSource">

follow

LDAPContactDAO:

@Service

public class LDAPContactDAO implements ContactDAO {

@Autowired

private LdapTemplate ldapTemplate;

public List getAllContactNames() {

return ldapTemplate.search("", "(objectclass=person)",

new AttributesMapper() {

public Object mapFromAttributes(Attributes attrs)

throws NamingException {

return attrs.get("cn").get();

}

});

}

}

-debugs before the exception:

2012-12-31/15:50:36.425 [localhost-startStop-1] DEBUG AuthenticationSource not set - using default implementation

2012-12-31/15:50:36.428 [localhost-startStop-1] DEBUG Not using LDAP pooling

2012-12-31/15:50:36.428 [localhost-startStop-1] DEBUG Trying provider Urls: ldap://192.168.1.118/dc=fabrikam,dc=com

2012-12-31/15:50:37.558 [http-bio-8080-exec-5] DEBUG Got Ldap context on server 'ldap://192.168.1.118/dc=fabrikam,dc=com'

when trying to use the getAllContactNames method, i am getting the following exception:

org.springframework.ldap.CommunicationException: fabrikam.com.com:389; nested exception is javax.naming.CommunicationException: fabrikam.com.com:389 [Root exception is java.net.ConnectException: Connection timed out: connect]

org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:100)

org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:319)

org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:259)

org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:571)

org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:556)

org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:411)

org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:431)

org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:451)

com.xeno.advancedphonedirectory.LDAPContactDAO.getAllContactNames(LDAPContactDAO.java:20)

com.xeno.advancedphonedirectory.web.IndexController.get(IndexController.java:20)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

java.lang.reflect.Method.invoke(Method.java:597)

org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)

org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)

org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)

org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)

org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

java.net.ConnectException: Connection timed out: connect

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)

at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)

at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)

at java.net.Socket.connect(Socket.java:529)

at java.net.Socket.connect(Socket.java:478)

at java.net.Socket.(Socket.java:375)

at java.net.Socket.(Socket.java:189)

at com.sun.jndi.ldap.Connection.createSocket(Connection.java:352)

at com.sun.jndi.ldap.Connection.(Connection.java:187)

at com.sun.jndi.ldap.LdapClient.(LdapClient.java:118)

at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1580)

at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2652)

at com.sun.jndi.ldap.LdapCtx.(LdapCtx.java:293)

at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)

at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:134)

at com.sun.jndi.url.ldap.ldapURLContextFactory.getObjectInstance(ldapURLContextFactory.java:35)

at javax.naming.spi.NamingManager.getURLObject(NamingManager.java:584)

at javax.naming.spi.NamingManager.processURL(NamingManager.java:364)

at javax.naming.spi.NamingManager.processURLAddrs(NamingManager.java:344)

at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:316)

at com.sun.jndi.ldap.LdapReferralContext.(LdapReferralContext.java:93)

at com.sun.jndi.ldap.LdapReferralException.getReferralContext(LdapReferralException.java:132)

at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1838)

at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1749)

at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:368)

at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:338)

at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:321)

at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:248)

at org.springframework.ldap.core.LdapTemplate$4.executeSearch(LdapTemplate.java:253)

at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:293)

at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:259)

at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:571)

at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:556)

at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:411)

at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:431)

at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:451)

at com.xeno.advancedphonedirectory.LDAPContactDAO.getAllContactNames(LDAPContactDAO.java:20)

at com.xeno.advancedphonedirectory.web.IndexController.get(IndexController.java:20)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)

at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)

at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:662)

please advise.

UPDATE:

I managed to connect to active directory with jxplorer using the following configuration:

Host: dc.fabrikam.com

Port: 389

Base DN: dc=fabrikam,dc=com

User DN: CN=administrator,CN=Users,DC=fabrikam,DC=com

Password: secret

but i still getting timeout with spring ldap connection.

UPDATE2:

the issue is now narrowed to spring ldap because i tried the above configuration with JNDI and connection to ldap works fine as mentioned in here:

i think that the referral property might be the issue.

解决方案

The problem you have is the connection you just have to group these aumetnar seeping into the base, for example your configuration is:

change to:

最后

以上就是花痴金毛为你收集整理的java.net.conne,java.net.ConnectException:连接到LDAP时连接超时的全部内容,希望文章能够帮你解决java.net.conne,java.net.ConnectException:连接到LDAP时连接超时所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部