在使用spring ldap1.2开发过程中,发现使用ldapTemplate取得ldap的schema时报错,无论如何修改ctx.getSchema的参数都错.
而使用直接连接ldap取得Context时,并没有报错现象.
于是,初步界定问题出现在环境上.
对环境进行跟踪,发现spring在环境中会加入一个属性:
java.naming.factory.object
并设置其值为:
org.springframework.ldap.support.DefaultDirObjectFactory
当去处这个属性时,系统运行正常.
于是修改:
继承spring的LdapContextSource类,并添加方法:
public void afterPropertiesSet() throws Exception {
this.setDirObjectFactory(null);
super.afterPropertiesSet();
}
使用此ContextSource时,取schema正常.
而使用直接连接ldap取得Context时,并没有报错现象.
于是,初步界定问题出现在环境上.
对环境进行跟踪,发现spring在环境中会加入一个属性:
java.naming.factory.object
并设置其值为:
org.springframework.ldap.support.DefaultDirObjectFactory
当去处这个属性时,系统运行正常.
于是修改:
继承spring的LdapContextSource类,并添加方法:
public void afterPropertiesSet() throws Exception {
this.setDirObjectFactory(null);
super.afterPropertiesSet();
}
使用此ContextSource时,取schema正常.