воскресенье, 28 июля 2013 г.

java.lang.NoSuchFieldError: CURRENT_ATTRIBUTES

How to solve java.lang.NoSuchFieldError: CURRENT_ATTRIBUTES. Как победить ошибку java.lang.NoSuchFieldError: CURRENT_ATTRIBUTES.


В моем случае ошибка возникала при использовании ICF-коннектора MS Exchange к Oracle Identity Manager(OIM).
Причиной было несоответствие версии класса OperationalAttributes версии класса ICProvisioningManager(в классе OperationalAttributes отсутствовал нужный атрибут).

Для решения проблемы выполните следующие шаги:

1. Скачайте сертифицированную для вашего Oracle Identity Manager версию Connector Server со страницы коннекторов:
http://www.oracle.com/technetwork/middleware/id-mgmt/downloads/connectors-101674.html
2. Остановите managed-сервер OIM

3. Из дистрибутива Connector Server возьмите библиотеки:
  • connector-framework.jar

  • connector-framework-internal.jar
И замените их в следующих директориях:
  • $XEL_HOME\apps\oim.ear\APP-INF\lib

  • $XEL_HOME\ext\internal
В моем случае XEL_HOME был D:\MWH\Oracle_IDM1\server.

4. Удалите эти же закэшированные библиотеки из подкаталогов временного каталога managed-сервера OIM:
$DOMAIN_HOME\servers\$WEBLOGIC_NAME\tmp\_WL_user\oim_11.1.2.0.0\*
В моем случае путь был следующий:
D:\MWH\user_projects\domains\base_domain\servers\oim_server1\tmp\_WL_user\oim_11.1.2.0.0\adgqut\APP-INF\lib

5. Запустите managed-сервер OIM

Более полный trace ошибки выглядел так:

java.lang.reflect.InvocationTargetException
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                                               ...
Caused by: java.lang.NoSuchFieldError: CURRENT_ATTRIBUTES
                at oracle.iam.connectors.icfcommon.prov.ICProvisioningManager.getCurrentAttributes(ICProvisioningManager.java:425)
                                                               ...
com.thortech.xl.dataobj.util.tcAdapterTaskException: CURRENT_ATTRIBUTES
                at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpADIDCENABLEUSER.ENABLEUSER(adpADIDCENABLEUSER.java:113)
                                                               ...

Комментариев нет:

Отправить комментарий