0
Completed

Update to the IDB connector for WorkDay adding flatterned addresses and phone numbers

Jacques Swanepoel 9 years ago in UNIFYBroker/Workday updated by anonymous 9 years ago 6

Please look at adding the following fields to the WorkDay Connector:

  • Primary Business Address (Formatted_Address based of the primary="true" type="WORK"
  • Priimary Business Office Phone (Formatted_Phone based of the primary="true" type="WORK" usage descriptor="Telephone")
  • Primary Business Mobile Phone (Formatted_Phone based of the primary="true" type="WORK" usage descriptor="Mobile")
  • Primary Private Mobile Phone (Formatted_Phone based of the primary="true" type="HOME" usage descriptor="Mobile")
Started

I've added the functionality into the latest dev build. Take a look and let me know how it goes. I haven't yet been able to test against a live system. To use, the new fields are available on the address and phone schema providers. The phone fields are samples, and can be copied to manage different phone types.

Experiencing the following when trying add the flattened schema objects to the connector

The schema for 'WD ContingentFlattended' connector was not updated for the following reason: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: key
at Unify.Product.IdentityBroker.EntitySchemaConfiguration.Add(Guid id, GroupedNameValueCollectionKey key, EntitySchemaFieldDefinitionConfiguration configuration)
at Unify.Product.IdentityBroker.EntitySchemaConfiguration.Add(Guid key, IEntitySchemaFieldDefinitionConfiguration value)
at Unify.Product.IdentityBroker.EntitySchemaConfiguration.Add(IEntitySchemaFieldDefinitionConfiguration entitySchemaFieldDefinitionConfiguration)
at Unify.Product.IdentityBroker.WorkdayWorkerConnectorAddressSchemaProvider.GetSchema(ISchemaProviderFactoryInformation factoryInformation)
at Unify.Product.IdentityBroker.ConnectorEngine.SchemaProviderResult(IOperationalConnector`1 operationalConnector, Func`2 selector)

Flattened Address works now, but flattened phone still fails with the error




Stack Trace

The schema for 'WD ContingentFlattended' connector was not updated for the following reason: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: key
at Unify.Product.IdentityBroker.EntitySchemaConfiguration.Add(Guid id, GroupedNameValueCollectionKey key, EntitySchemaFieldDefinitionConfiguration configuration)
at Unify.Product.IdentityBroker.EntitySchemaConfiguration.Add(Guid key, IEntitySchemaFieldDefinitionConfiguration value)
at Unify.Product.IdentityBroker.EntitySchemaConfiguration.Add(IEntitySchemaFieldDefinitionConfiguration entitySchemaFieldDefinitionConfiguration)
at Unify.Product.IdentityBroker.WorkdayWorkerConnectorPhoneSchemaProvider.GetSchema(ISchemaProviderFactoryInformation factoryInformation)

at Unify.Product.IdentityBroker.ConnectorEngine.SchemaProviderResult(IOperationalConnector`1 operationalConnector, Func`2 selector)

Doing an Import all with PrimaryFormattedAddress and PrimaryCountry included in the schema, the following is generated:


Change detection engine import all items failed.
Change detection engine import all items for connector CGTWorkers failed with reason Object reference not set to an instance of an object.. Duration: 00:00:27.1127541
Error details:
System.NullReferenceException: Object reference not set to an instance of an object.
at Unify.Product.IdentityBroker.WorkdayWorkerToEntityAdapter.Transform(WorkdayWorker sourceValue, WorkdayWorker offsetWorker, WorkdayWorker subsequentWorker)
at Unify.Product.IdentityBroker.WorkdayWorkerConnector.<GetWorkers>d__16.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at Unify.Framework.Collections.ActionOnExceptionEnumerator`1.MoveNext()
at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__10`1.MoveNext()
at Unify.Framework.Collections.EnumerableExtensions.<ProduceAutoPages>d__7`1.MoveNext()
at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.Visit()
at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.PerformChangeDetection(IEnumerable`1 connectorEntities)
at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.ImportAllChangeProcess()
at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.RunBase()
at Unify.Framework.DefinedScopeJobAuditTrailJobDecorator.Run()
at Unify.Product.IdentityBroker.ConnectorJobExecutor.<>c__DisplayClass33_0.<Run>b__0()
at Unify.Framework.AsynchronousJobExecutor.PerformJobCallback(Object state)