LDAP не обрабатывается, показывая SchemaViolationException - PullRequest
0 голосов
/ 15 апреля 2011

У меня есть очередь LDAP, которая обрабатывает объектный класс. Я не могу найти точное местоположение, почему оно дает исключение. Объект objclass является строкой конкатенации с символом канала. Любая программа, кодирующая, чтобы найти точное местоположение, в котором конкдинационная часть идет к Исключению? .Помощь Помощи.

попробуй {

Атрибуты objClass = null; пытаться { objClass = getObjClass (LdapInfo.PER_ID, person.perId); } catch (NamingException e) { DCXError.myInstance (). WriteError ("LdapUpdaterConnection:" + e.getMessage ()); } NamingEnumeration oc = objClass.get ("objectclass"). GetAll ();

String baseObjClass = null; while (oc.hasMoreElements ()) { baseObjClass = (String) oc.nextElement (); if (baseObjClass.equalsIgnoreCase (LdapInfo.NON_EMPLOYEE_PERSON) || baseObjClass.equalsIgnoreCase ( "N / A") || baseObjClass.equalsIgnoreCase (LdapInfo.EMPLOYEE_PERSON))
перерыв;
} } catch (SchemaViolationException e4) {

DCXError.myInstance (). WriteError ( "LdapUpdaterConnection: doUpdate SchemaViolationException" + e4.getExplanation ()); DCXError.myInstance (). WriteError ("LdapUpdaterConnection: update persID =" + personId); return (LdapUpdaterConnection.BAD_DATA); }

1 Ответ

0 голосов
/ 16 апреля 2011

Вы не можете найти точное местоположение только потому, что вы не зарегистрировали трассировку стека.Вам также нужно будет переформатировать код, чтобы каждый оператор находился в отдельной строке, чтобы использовать эту информацию.Вам также следует использовать имена переменных, которые на самом деле соответствуют содержимому.

Это действительно ужасный код.

Также трудно понять, почему вы все это делаете в первую очередь.Приличный фильтр запросов сделает все это для вас гораздо проще.

...