Mar 30, 2012

FAQ: .NET Connector Server и коннектор к Active Directory

Short into: here you can find solution regarding "Connector Key not found" error when trying to run AD 11.1.1.5 connector on the .NET Connector Server.

Q: Я устанавливаю коннектор AD 11.1.1.5.0 на .NET Connector Server и все выполняю по инструкции, но при попытке обращения к коннектору получаю ошибку "Connector Key not found". Ошибка выглядит так:


oracle.iam.connectors.icfcommon.exceptions.IntegrationException: Connector ConnectorKey( bundleName=ActiveDirectory.Connector bundleVersion=1.1.0.6380 connectorName=Org.IdentityConnectors.ActiveDirectory.ActiveDirectoryConnector ) not found





A: Убедитесь, что вы сделали следующие шаги:

- установили (если не установлен) .NET Framework 3.5 или выше (может потребоваться Windows Installer 3.1 или выше);

- установили .NET Connector Server на машину с контроллером домена AD (теоретически его можно установить и на другую машину, но не проверялось);

- развернули Connector Bundle в ТОМ ЖЕ КАТАЛОГЕ, куда установлен Connector Server (как показано на экране ниже);


- ПЕРЕЗАГРУЗИЛИ машину с .NET Connector Server (и AD);

- установили ключ коннектора (ConnectorServer /setkey), пароль для доступа;

- стартовали Connector Server, процесс может быть стартован как сервис или же из командной строки: ConnectorServer /run:


Проверить состав загруженных на Connector Server коннеткоров вы можете следующим кодом, заменив IP, порт и пароль на ваши значения (не забудьте добавить библиотеки connector-framework.jar и connector-framework-internal.jar в CLASSPATH проекта):

ConnectorInfoManagerFactory factory = ConnectorInfoManagerFactory.getInstance(); 
String connServerHost = "10.162.69.100"; 
int connServerPort = 8759;
GuardedString connServerKey = new GuardedString("abcd1234".toCharArray()); 

RemoteFrameworkConnectionInfo remoteConnInfo = new      
     RemoteFrameworkConnectionInfo(connServerHost, connServerPort, 
                                   connServerKey, false, null, 0); 
cInfoManager = factory.getRemoteManager(remoteConnInfo);
 


List<ConnectorInfo> cInfos = this.getCInfoManager().getConnectorInfos();
       
int count = 0;
for(ConnectorInfo cInfo : cInfos) {
   count++;
   APIConfiguration apiConfig = cInfo.createDefaultAPIConfiguration();
   
   ConnectorKey ckey = cInfo.getConnectorKey();
   System.out.println(ckey.getBundleName() + " / " + 

         ckey.getBundleVersion() + " / " + ckey.getConnectorName());
}
System.out.println("Found " + count + " bundles");
 

    
Пример выполнения:


Все должно работать!

No comments:

Post a Comment