Tomcat 7 java.net.SocketException连接到LDAP

Tomcat 7 java.net.SocketException连接到LDAP,ldap,Ldap,我在Eclipse中有一个运行TomcatV7.0的项目,试图连接到ldap服务器。所有的设置都和同事的一样,她的工作很好,但我的似乎无法连接。我在必要时用xxxx编辑了它。下面是我尝试登录时遇到的错误 javax.naming.CommunicationException: win.eng.xxxx.com:636 [Root exception is java.net.SocketException: Network is unreachable] at com.sun.jndi.l

我在Eclipse中有一个运行TomcatV7.0的项目,试图连接到ldap服务器。所有的设置都和同事的一样,她的工作很好,但我的似乎无法连接。我在必要时用xxxx编辑了它。下面是我尝试登录时遇到的错误

javax.naming.CommunicationException: win.eng.xxxx.com:636 [Root exception is java.net.SocketException: Network is unreachable]
    at com.sun.jndi.ldap.Connection.<init>(Connection.java:214)
    at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:136)
    at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1600)
    at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2698)
    at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:316)
    at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:193)
    at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:211)
    at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154)
    at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
    at javax.naming.InitialContext.init(InitialContext.java:242)
    at javax.naming.InitialContext.<init>(InitialContext.java:216)
    at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:101)
    at com.vzwcorp.ESNHandSet.ESNLogin.authenticate(ESNLogin.java:85)
    at com.vzwcorp.ESNHandSet.ESNLogin.authenticate(ESNLogin.java:56)
    at org.apache.jsp.login_jsp._jspService(login_jsp.java:112)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    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:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
    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:1004)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
Caused by: java.net.SocketException: Network is unreachable
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
    at java.net.Socket.connect(Socket.java:579)
    at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
    at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:407)
    at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
    at com.vzwcorp.ESNHandSet.DummySSLSocketFactory.createSocket(DummySSLSocketFactory.java:56)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.sun.jndi.ldap.Connection.createSocket(Connection.java:331)
    at com.sun.jndi.ldap.Connection.<init>(Connection.java:201)
    ... 38 more
userAgent=Firefox/32.0
Trying to get a connection, current active connections: 0
Connection returned in ms: 0
login: User myname failed to authenticate.
javax.naming.CommunicationException:win.eng.xxxx.com:636[根异常为java.net.SocketException:无法访问网络]
位于com.sun.jndi.ldap.Connection(Connection.java:214)
位于com.sun.jndi.ldap.LdapClient.(LdapClient.java:136)
位于com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1600)
位于com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2698)
位于com.sun.jndi.ldap.LdapCtx(LdapCtx.java:316)
位于com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:193)
位于com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:211)
位于com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154)
位于com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84)
位于javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
位于javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
位于javax.naming.InitialContext.init(InitialContext.java:242)
位于javax.naming.InitialContext。(InitialContext.java:216)
位于javax.naming.directory.InitialDirContext。(InitialDirContext.java:101)
位于com.vzwcorp.ESNHandSet.ESNLogin.authenticate(ESNLogin.java:85)
位于com.vzwcorp.ESNHandSet.ESNLogin.authenticate(ESNLogin.java:56)
在org.apache.jsp.login\u jsp.\u jsp服务(login\u jsp.java:112)
位于org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
位于org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
位于org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
位于org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
运行(Thread.java:722)
原因:java.net.SocketException:无法访问网络
位于java.net.PlainSocketImpl.socketConnect(本机方法)
位于java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
位于java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
位于java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
位于java.net.socksocketimpl.connect(socksocketimpl.java:391)
位于java.net.Socket.connect(Socket.java:579)
位于sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
位于sun.security.ssl.SSLSocketImpl.(SSLSocketImpl.java:407)
位于sun.security.ssl.sslsocketfactorympl.createSocket(sslsocketfactorympl.java:88)
位于com.vzwcorp.ESNHandSet.DummySSLSocketFactory.createSocket(DummySSLSocketFactory.java:56)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:601)
在com.sun.jndi.ldap.Connection.createSocket(Connection.java:331)上
位于com.sun.jndi.ldap.Connection(Connection.java:201)
... 38多
userAgent=Firefox/32.0
正在尝试获取连接,当前活动连接:0
ms中返回的连接:0
登录:用户myname无法进行身份验证。

好的-在最终追踪到“那个家伙”后,我们确定ldap服务器无法从我在网络中的位置访问,因此必须切换到另一个服务器,现在它可以工作了。

当然,“网络无法访问”应该是相当清楚的。这不是一个编程问题。是的,整个问题最终证明是ipv6