我正在Sun One LDAP中查找对象并获取下面给出的异常:
javax.naming.NamingException:使用对象工厂生成对象的问题[根
异常是java.lang.IllegalAccessException:类javax.naming.spi.NamingManager可以
不能使用修饰符“public”]访问com.ldap.java.LDAPFactory类的成员;其余
name cn = favorite,dc = xxx,dc = abc,dc = cdf'
在下面给出的代码中抛出异常,其中“Read Object back”:
Fruit fruit = new Fruit("orange", "sweet and sour");
// Perform bind
ctx.bind("cn=favorite,dc=xxx,dc=abc,dc=cdf", fruit);
logger.info("Entry bind...Complete");
// Read object back
Object f2 = ctx.lookup("cn=favorite,dc=xxx,dc=abc,dc=cdf");
logger.info("Fruit = " + f2);
// Read attributes to see encoding
Attributes attrs =
ctx.getAttributes("cn=favorite,dc=xxx,dc=abc,dc=cdf");
logger.info("Atrributes = " + attrs);
// Close the context when we're done
ctx.close()
有人能告诉我代码中有什么问题吗?
-
韩国社交协会 巴勒特
答案 0 :(得分:1)
我通过以下代码解决了这个问题:
现有代码:
String classname = Fruit.class.getName();
StringRefAddr classref = new StringRefAddr("java:".concat(name), fruit + ":" + fruitType);
String classfactoryname = FruitFactory.class.getName();
Reference ref = new Reference(classname, classref, classfactoryname, null);
logger.info("getReference(): END");
return ref;
新守则:
String classname = Fruit.class.getName();
StringRefAddr classref = new StringRefAddr("java:".concat(name), fruit + ":" + fruitType);
//String classfactoryname = FruitFactory.class.getName();
Reference ref = new Reference(classname, classref);
return ref;
-
Tks
巴勒特