Spring URL协议不像LDAPS?

时间:2014-06-17 20:51:11

标签: java spring ldap

我在应用程序上下文中配置了以下bean:

<bean id="bindConnectionPool" parent="abstractConnectionPool"
    p:connectionFactory-ref="bindConnectionFactory" />

<bean id="bindConnectionFactory"
    class="org.ldaptive.DefaultConnectionFactory"
    p:connectionConfig-ref="bindConnectionConfig" />

<bean id="bindConnectionConfig" parent="abstractConnectionConfig" />

<bean id="abstractConnectionConfig" abstract="true"
    class="org.ldaptive.ConnectionConfig"
    p:ldapUrl="ldaps://myldap.example.com:636"
    p:connectTimeout="3000"
    p:useStartTLS="true"
    p:sslConfig-ref="sslConfig" />

<!-- EDIT/UPDATE: -->
<bean id="sslConfig" class="org.ldaptive.ssl.SslConfig">
    <property name="credentialConfig">
        <bean class="org.ldaptive.ssl.X509CredentialConfig"
            p:trustCertificates="mycert" />
    </property>
</bean>

当我将WAR部署到Tomcat时,我得到以下异常:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean
    with name ‘bindConnectionPool’ defined in ServletContext resource
    [/WEB-INF/deployerConfigContext.xml]: Invocation of init method failed; nested exception
    is java.lang.IllegalArgumentException: path must start with either classpath: or file:

我需要将基于LDAPS的URL更改为?这里file:classpath:都没有意义......想法?

或者,ldapUrl是一个红色的鲱鱼,是否在这个bindConnectionPool bean上定义了一些其他路径没有配置正确?哦,显然,出于安全原因,不能发布LDAP服务器的实际名称(myldap.example.com是一个不同的值)。

0 个答案:

没有答案