[prev in list] [next in list] [prev in thread] [next in thread] 

List:       forgerock-openidm
Subject:    Re: [OpenIDM] CSV mapping - The Attribute set must contain a 'Uid
From:       openidm () mysat ! ca
Date:       2015-09-08 19:17:49
Message-ID: 20150908191749.GA17159 () davep-desktop
[Download RAW message or body]


Gael,

Thanks that helps me!

There was one user record with a blank value in the uinqueAttribute.



On Tue, Sep 08, 2015 at 08:57:57PM +0200, Gael Allioux wrote:
> can you share your provisioner files?
> 
> Did you check the config from sample4 ?
> 
> "configurationProperties" : {
> "filePath" : "&{launcher.project.location}/data/hr.csv",
> "uniqueAttribute" : "uid",
> "nameAttribute" : "uid",
> "passwordAttribute" : "password"
> },
> 
> uniqueAttribute defines what is the Uid.
> Is this properly set?
> do you happen to have empty values in your CSV file for that field?
> 
> 
> On 09/08/2015 08:45 PM, openidm@mysat.ca wrote:
> > Hi all,
> > 
> > I've just started using openidm, and have configured two CSV files as connectors. \
> > I'm building a mapping to the managed/user resource for each of them, although \
> > I'm not entirely sure, from the docuementation, that this is the correct/best \
> > way. 
> > My thinking is that I should feed all my inbound user data to managed/user, then \
> > make decisions based on what is there to make outbound mappings to my end point \
> > systems? Is this the right way to go? It seems that openidm also support mapping \
> > direct from end connector direct to another end connector. I don't know what the \
> > pros/cons are for doing it this way. 
> > My actual question is about an error I'm getting when I've setup my second \
> > mapping to managed/user from my second CSV file. I've got one mapping to bring \
> > staff into managed/user, and another mapping to bring students to managed/user. \
> > The Staff one is working fine, but the student one gives me an error. As far as I \
> > can tell, I've set them both up basically the same way. 
> > Here is the error Im getting:
> > 
> > --------------------------------------------------------------------------------------------
> >  Sep 08, 2015 11:14:22 AM org.forgerock.openidm.sync.impl.ObjectMapping \
> >                 logReconEnd
> > INFO: Reconciliation failed. SOURCE_IGNORED: 0 UNASSIGNED: 0 AMBIGUOUS: 0 \
> > CONFIRMED: 0 FOUND_ALREADY_LINKED: 0 UNQUALIFIED: 0 ABSENT: 0 TARGET_IGNORED: 0 \
> > SOURCE_MISSING: 0 MISSING: 0 FOUND: 0 Sep 08, 2015 11:14:22 AM \
> >                 org.forgerock.openidm.sync.impl.ReconciliationService$1 run
> > INFO: Reconciliation reported exception
> > org.forgerock.openidm.sync.impl.SynchronizationException: Synchronization failed
> > 	at org.forgerock.openidm.sync.impl.ObjectMapping.doRecon(ObjectMapping.java:926)
> > 	at org.forgerock.openidm.sync.impl.ObjectMapping.recon(ObjectMapping.java:832)
> > 	at org.forgerock.openidm.sync.impl.ReconciliationService.reconcile(ReconciliationService.java:371)
> >   at org.forgerock.openidm.sync.impl.ReconciliationService.access$000(ReconciliationService.java:87)
> >   at org.forgerock.openidm.sync.impl.ReconciliationService$1.run(ReconciliationService.java:315)
> >   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> >   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> >   at java.lang.Thread.run(Thread.java:745)
> > Caused by: org.forgerock.openidm.sync.impl.SynchronizationException: Operation \
> > QUERY failed with ConnectorException on system object: null  at \
> > org.forgerock.openidm.sync.impl.ReconTypeBase.query(ReconTypeBase.java:234)  at \
> > org.forgerock.openidm.sync.impl.ReconTypeByQuery.querySource(ReconTypeByQuery.java:64)
> >   at org.forgerock.openidm.sync.impl.ReconciliationContext.querySourceIter(ReconciliationContext.java:287)
> >   at org.forgerock.openidm.sync.impl.ObjectMapping.doRecon(ObjectMapping.java:855)
> >                 
> > 	... 7 more
> > Caused by: org.forgerock.json.resource.InternalServerErrorException: Operation \
> > QUERY failed with ConnectorException on system object: null  at \
> > org.forgerock.openidm.provisioner.openicf.impl.OpenICFProvisionerService.handleConnectorException(OpenICFProvisionerService.java:603)
> >   at org.forgerock.openidm.provisioner.openicf.impl.OpenICFProvisionerService.access$1400(OpenICFProvisionerService.java:216)
> >   at org.forgerock.openidm.provisioner.openicf.impl.OpenICFProvisionerService$ObjectClassResourceProvider.queryCollection(OpenICFProvisionerService.java:1487)
> >   at org.forgerock.json.resource.Resources$CollectionHandler.handleQuery(Resources.java:254)
> >   at org.forgerock.json.resource.Router.handleQuery(Router.java:264)
> > 	at org.forgerock.openidm.provisioner.openicf.impl.OpenICFProvisionerService$ObjectClassRequestHandler.handleQuery(OpenICFProvisionerService.java:1120)
> >   at org.forgerock.json.resource.Router.handleQuery(Router.java:264)
> > 	at org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:97)
> >   at org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:92)
> >   at org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:95)
> >   at org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:92)
> >   at org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:95)
> >   at org.forgerock.json.resource.Filters$CrossCutFilterAdapter$5.handleContinue(Filters.java:192)
> >   at org.forgerock.openidm.core.filter.ScriptedFilter.filterQueryRequest(ScriptedFilter.java:239)
> >   at org.forgerock.json.resource.Filters$CrossCutFilterAdapter.filterQuery(Filters.java:189)
> >   at org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:95)
> >   at org.forgerock.json.resource.Filters$CrossCutFilterAdapter$5.handleContinue(Filters.java:192)
> >   at org.forgerock.json.resource.Filters$UntypedCrossCutFilterAdapter$1.handleContinue(Filters.java:380)
> >   at org.forgerock.openidm.servlet.internal.ServletConnectionFactory$3.filterGenericRequest(ServletConnectionFactory.java:502)
> >   at org.forgerock.json.resource.Filters$UntypedCrossCutFilterAdapter.filterQueryRequest(Filters.java:360)
> >   at org.forgerock.json.resource.Filters$CrossCutFilterAdapter.filterQuery(Filters.java:189)
> >   at org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:95)
> >   at org.forgerock.json.resource.FilterChain.handleQuery(FilterChain.java:229)
> > 	at org.forgerock.json.resource.Resources$InternalConnection.queryAsync(Resources.java:443)
> >   at org.forgerock.json.resource.AbstractAsynchronousConnection.query(AbstractAsynchronousConnection.java:93)
> >   at org.forgerock.json.resource.AbstractConnectionWrapper.query(AbstractConnectionWrapper.java:169)
> >   at org.forgerock.json.resource.AbstractConnectionWrapper.query(AbstractConnectionWrapper.java:169)
> >   at org.forgerock.openidm.sync.impl.ReconTypeBase.query(ReconTypeBase.java:194)
> > 	... 10 more
> > Caused by: org.identityconnectors.framework.common.exceptions.ConnectorException: \
> > Can't execute query, reason: The Attribute set must contain a 'Uid'.  at \
> > org.forgerock.openicf.csvfile.CSVFileConnector.handleGenericException(CSVFileConnector.java:445)
> >   at org.forgerock.openicf.csvfile.CSVFileConnector.executeQuery(CSVFileConnector.java:312)
> >   at org.forgerock.openicf.csvfile.CSVFileConnector.executeQuery(CSVFileConnector.java:65)
> >   at org.identityconnectors.framework.impl.api.local.operations.SearchImpl.rawSearch(SearchImpl.java:153)
> >   at org.identityconnectors.framework.impl.api.local.operations.SearchImpl.search(SearchImpl.java:119)
> >   at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
> > 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >   at java.lang.reflect.Method.invoke(Method.java:497)
> > 	at org.identityconnectors.framework.impl.api.local.operations.ConnectorAPIOperationRunnerProxy.invoke(ConnectorAPIOperationRunnerProxy.java:97)
> >   at com.sun.proxy.$Proxy19.search(Unknown Source)
> > 	at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
> > 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >   at java.lang.reflect.Method.invoke(Method.java:497)
> > 	at org.identityconnectors.framework.impl.api.local.operations.ThreadClassLoaderManagerProxy.invoke(ThreadClassLoaderManagerProxy.java:96)
> >   at com.sun.proxy.$Proxy19.search(Unknown Source)
> > 	at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
> > 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >   at java.lang.reflect.Method.invoke(Method.java:497)
> > 	at org.identityconnectors.framework.impl.api.BufferedResultsProxy$BufferedResultsHandler.run(BufferedResultsProxy.java:157)
> >  Caused by: java.lang.IllegalArgumentException: The Attribute set must contain a \
> > 'Uid'.  at org.identityconnectors.framework.common.objects.ConnectorObject.<init>(ConnectorObject.java:65)
> >   at org.identityconnectors.framework.common.objects.ConnectorObjectBuilder.build(ConnectorObjectBuilder.java:162)
> >   at org.forgerock.openicf.csvfile.CSVFileConnector.createConnectorObject(CSVFileConnector.java:739)
> >   at org.forgerock.openicf.csvfile.CSVFileConnector.executeQuery(CSVFileConnector.java:305)
> >                 
> > 	... 17 more
> > 
> > --------------------------------------------------------------------------------------------
> >  
> > 
> > Thanks
> > 
> > _______________________________________________
> > OpenIDM mailing list
> > OpenIDM@forgerock.org
> > https://lists.forgerock.org/mailman/listinfo/openidm
> 
> _______________________________________________
> OpenIDM mailing list
> OpenIDM@forgerock.org
> https://lists.forgerock.org/mailman/listinfo/openidm
_______________________________________________
OpenIDM mailing list
OpenIDM@forgerock.org
https://lists.forgerock.org/mailman/listinfo/openidm


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic