This is in version 4.1.1.0 of the Google Driver.

I need to be able to match users on a custom attribute in Google. The
attributes were given to me as follows:
customSchemas.EmployeeData.EID
customSchemas.StudentData.id

There are two GCV's that seem to involve specification for custom
attributes. The first, under Driver Parameters/Driver Options says
this;
Please specify the custom schema name for use with any user defined
fields (custom fields). See documentation for more information.
There is not much to see in the documentation. I was not able to figure
out just what value goes in here. No matter what I put in, the driver
would not recognize it. Sometimes, to the point of crashing the driver
on startup.

The second GCV is in the GCVs under Google Config. I used the values EID
and id. If I put in anything with a period, the driver would not start.
These two values do show up in the application schema and are mapped to
eDir attributes.

When I used the eDir attribute in a Find Matching Object, it all works
as expected until it gets to Google;


Code:
--------------------

[11/03/15 09:46:12.685]:XXXXGoogle ST:
<nds dtdversion="4.0" ndsversion="8.x">
<source>
<product edition="Advanced" version="4.5.1.0">DirXML</product>
<contact>NetIQ Corporation</contact>
</source>
<input>
<query class-name="UserEntry" event-id="0" scope="subtree">
<search-class class-name="UserEntry"/>
<search-attr attr-name="id">
<value timestamp="1440615527#102" type="string">638755</value>
</search-attr>
<read-attr/>
</query>
</input>
</nds>
[11/03/15 09:46:12.685]:XXXXGoogle ST: connect
[11/03/15 09:46:12.685]:XXXXGoogle ST: dispatch
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: association == null
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: class-name == 'UserEntry'
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: dest-dn == null
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: event-id == '0'
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: max-result-count == 2147483647
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: qualified-src-dn == null
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: scope == 'subtree'
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: src-dn == null
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: src-entry-id == null
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: search-attr: id. Value = 638755
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: contains query token? false
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: contains read attrs? false
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: contains search attrs? true
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: contains search classes? true
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: has entry scope? false
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: has subordinates scope? false
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: has subtree scope? true
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: has limited results? false
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: has unlimited results? true
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: has root base object? true
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: is cancelled query? false
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: is extended query? false
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: is identity query? false
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: is initial query? true
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: is subsequent query? false
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: should read attrs? false
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: should read parent? false
[11/03/15 09:46:12.685]:XXXXGoogle ST: queryHandler: should search all classes? false
[11/03/15 09:46:12.685]:XXXXGoogle ST: Processing search criteria
[11/03/15 09:46:12.685]:XXXXGoogle ST: Query for User object
[11/03/15 09:46:12.700]:XXXXGoogle ST: Search Attribute: id
[11/03/15 09:46:12.700]:XXXXGoogle ST: Association: null
[11/03/15 09:46:12.700]:XXXXGoogle ST: GMailDriver queryHandler(): search-attr = id
[11/03/15 09:46:12.700]:XXXXGoogle ST: GMailDriver queryHandler(): search value == '638755'
[11/03/15 09:46:12.700]:XXXXGoogle ST: DirectoryAppClient.retrieveUsers(): Domain = null; Query String = id:'638755'
[11/03/15 09:46:12.700]:XXXXGoogle ST: DirectoryAppClient.retrieveUsers(): No domain specified. Using default = xxxxxxx.net
[11/03/15 09:46:12.810]:XXXXGoogle ST: handleGoogleJsonResponseException(): Error code: 400
[11/03/15 09:46:12.810]:XXXXGoogle ST: handleGoogleJsonResponseException(): Error message: Invalid Input: id:'638755'
[11/03/15 09:46:12.810]:XXXXGoogle ST: handleGoogleJsonResponseException(): Error Reason: invalid
[11/03/15 09:46:12.810]:XXXXGoogle ST: There are 30 stack frame elements
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.google.api.client.googleapis.json.GoogleJsonRe sponseException.from(GoogleJsonResponseException.j ava:145)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.google.api.client.googleapis.services.json.Abs tractGoogleJsonClientRequest.newExceptionOnError(A bstractGoogleJsonClientRequest.java:113)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.google.api.client.googleapis.services.json.Abs tractGoogleJsonClientRequest.newExceptionOnError(A bstractGoogleJsonClientRequest.java:40)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.google.api.client.googleapis.services.Abstract GoogleClientRequest$1.interceptResponse(AbstractGo ogleClientRequest.java:321)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.google.api.client.http.HttpRequest.execute(Htt pRequest.java:1056)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.google.api.client.googleapis.services.Abstract GoogleClientRequest.executeUnparsed(AbstractGoogle ClientRequest.java:419)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.google.api.client.googleapis.services.Abstract GoogleClientRequest.executeUnparsed(AbstractGoogle ClientRequest.java:352)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.google.api.client.googleapis.services.Abstract GoogleClientRequest.execute(AbstractGoogleClientRe quest.java:469)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.driver.gmailshim.DirectoryAp pClient.retrieveUsers(DirectoryAppClient.java:2524 )
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.driver.gmailshim.CommonImpl. queryHandler(CommonImpl.java:2533)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.driver.gmailshim.GMailSubscr iptionShim.dispatch(GMailSubscriptionShim.java:644 )
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.driver.gmailshim.GMailSubscr iptionShim.execute(GMailSubscriptionShim.java:489)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.Subscriber.execute(Su bscriber.java:455)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.Subscriber.execute(Su bscriber.java:289)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.Subscriber$Subscriber AppQueryProcessor.query(Subscriber.java:2171)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.driver.XdsQueryProcessor.que ry(XdsQueryProcessor.java:84)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.rules.DoFindMatchingO bject.apply(DoFindMatchingObject.java:177)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.rules.ActionSet.apply (ActionSet.java:180)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.rules.DirXMLScriptPro cessor.applyRules(DirXMLScriptProcessor.java:307)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.rules.DirXMLScriptPro cessor.applyRules(DirXMLScriptProcessor.java:429)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.Subscriber$AddProcess or.process(Subscriber.java:1352)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.Subscriber$ModifyProc essor.process(Subscriber.java:1562)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.Subscriber.processEve nt(Subscriber.java:1136)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.Subscriber.processEve nts(Subscriber.java:953)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.Driver.submitTransact ion(Driver.java:764)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.DriverEntry.submitTra nsaction(DriverEntry.java:1128)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.DriverEntry.processCa chedTransaction(DriverEntry.java:1012)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.DriverEntry.eventLoop (DriverEntry.java:820)
[11/03/15 09:46:12.810]:XXXXGoogle ST: com.novell.nds.dirxml.engine.DriverEntry.run(Drive rEntry.java:597)
[11/03/15 09:46:12.810]:XXXXGoogle ST: java.lang.Thread.run(Thread.java:745)
[11/03/15 09:46:12.810]:XXXXGoogle ST: SubscriptionShim.execute() returned:
[11/03/15 09:46:12.810]:XXXXGoogle ST:

--------------------


First problem is how to validate the attribute really exists in Google.
Second, finding if it is on any user. Third, why is it failing doing a
query?


--
tse7147
------------------------------------------------------------------------
tse7147's Profile: https://forums.netiq.com/member.php?userid=466
View this thread: https://forums.netiq.com/showthread.php?t=54581