HI,
I am trying to fetch memberOf property of a user from AD, but server is not returning any value.
ConnectorInfoManagerFactory fact = ConnectorInfoManagerFactory.getInstance();
ConnectorInfoManager manager = fact.getRemoteManager(new RemoteFrameworkConnectionInfo("localhost", 8759, new GuardedString("pokemon".toCharArray())));
ConnectorKey key = new ConnectorKey("net.tirasa.connid.bundles.ad", "1.3.7-SNAPSHOT", "net.tirasa.connid.bundles.ad.ADConnector");
ConnectorInfo info = manager.findConnectorInfo(key);
// From the ConnectorInfo object, create the default APIConfiguration.
APIConfiguration apiConfig = info.createDefaultAPIConfiguration();
apiConfig.getResultsHandlerConfiguration().setFilteredResultsHandlerInValidationMode(true);
// From the default APIConfiguration, retrieve the ConfigurationProperties.
ConfigurationProperties properties = apiConfig.getConfigurationProperties();
String[] asList = new String[] {"dc=cymm, dc=in" };
properties.setPropertyValue("ssl", true);
properties.setPropertyValue("host","EC2AMAZ-4C9GMVI.cymm.in");
properties.setPropertyValue("port",636);
properties.setPropertyValue("principal","te...@cymm.in");
properties.setPropertyValue("credentials", new GuardedString(("****").toCharArray()));
properties.setPropertyValue("trustAllCerts",true);
properties.setPropertyValue("membershipsInOr",true);
properties.setPropertyValue("pwdUpdateOnly",false);
properties.setPropertyValue("excludeAttributeChangesOnUpdate",false);
properties.setPropertyValue("failover",new String[] {});
properties.setPropertyValue("baseContextsToSynchronize",asList);
properties.setPropertyValue("userBaseContexts",asList);
properties.setPropertyValue("groupBaseContexts",new String[] {});
properties.setPropertyValue("defaultPeopleContainer","");
properties.setPropertyValue("defaultGroupContainer","");
properties.setPropertyValue("memberships",new String[] {"CN=Domain Guests,CN=Users,DC=cymmetri,DC=in", "CN=Domain Computers,CN=Users,DC=cymmetri,DC=in"});
properties.setPropertyValue("membershipConservativePolicy",true);
properties.setPropertyValue("accountSearchFilter","(&(objectClass=user)(cn=*))");
properties.setPropertyValue("groupSearchFilter","");
properties.setPropertyValue("retrieveDeletedUser",false);
properties.setPropertyValue("retrieveDeletedGroup",false);
properties.setPropertyValue("accountObjectClasses",new String[] {"top","person", "organizationalPerson","user" });
properties.setPropertyValue("objectClassesToSynchronize",new String[] {"user"});
//properties.setPropertyValue("connectorMessages","");
properties.setPropertyValue("userSearchScope","subtree");
properties.setPropertyValue("groupSearchScope","subtree");
properties.setPropertyValue("groupMemberReferenceAttribute","member");
properties.setPropertyValue("groupOwnerReferenceAttribute","managedBy");
// properties.setPropertyValue("searchProjection","full");
// Use the ConnectorFacadeFactory's newInstance() method to get a new connector.
conn = ConnectorFacadeFactory.getInstance().newInstance(apiConfig);
final OperationOptionsBuilder oob = new OperationOptionsBuilder();
oob.setAttributesToGet(Arrays.asList(new String[] {
"sAMAccountName", "givenName","memberOf"}));
SyncToken previous = conn.sync(ObjectClass.ACCOUNT, null, handler, oob.build());
ERROR: Request getting timed out.
Observation: If i don't get memberOf then everything works fine.
can anyone please explain..!