Hello,
This seems like a long shot, but I thought I would try. Technically speaking, the Sync Service offers an SDK, of sorts. The CHM documentation was removed ages ago (is all Dell-branded), but it's still largely functional and I've used it here and there. I was taking a look at it recently because it offers the ability to run a workflow against a single object on-demand. In that old help file, there is even a Running a Workflow Step on a Specific Source Object topic with some sample code. Very exciting... but I've been experiencing inconsistent results, and seem to be constantly getting:
Exception calling "RunWithObject" with "1" argument(s): "Value cannot be null. Parameter name: elementType" At line:8 char:1 + $result = $qcWorkflowStep.RunWithObject($sourceObject) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : FaultException
The log file hasn't really provided me any insight, either.
2021-04-20 22:15:07.9276 19 Error --> [IImport.Modify] ActiveRoles.SyncService.Connectors.AzureADConnector.AzureAdConnector.Modify System.ArgumentNullException: Value cannot be null. Parameter name: elementType at ActiveRoles.SyncService.Connectors.AzureADConnector.Client.DirectoryObjectsWrapperCreator.CreateWrapper(DataServiceQuery objectsQuery, DataServiceContext service, Type elementType) at ActiveRoles.SyncService.Connectors.AzureADConnector.Client.AzureAdClient.GetDirectoryObjects(String type) at ActiveRoles.SyncService.Connectors.AzureADConnector.Utils.PropertyUtils.ParseDirectoryObject(String str, IAzureAdClient client) at ActiveRoles.SyncService.Connectors.AzureADConnector.Utils.PropertyUtils.SaveDirectoryObjectCollection(Object obj, String name, Object value, IDirectoryObjects directoryObjects, IAzureAdClient client) at ActiveRoles.SyncService.Connectors.AzureADConnector.Utils.QcAttributeUtils.SetProperties(Object obj, QcAttributeModificationCollection attributes, IDirectoryObjects directoryObjects, IAzureAdClient client) at ActiveRoles.SyncService.Connectors.AzureADConnector.Implementations.ExportImpl.Modify(IAzureAdClient client, SystemEntry targetObject, IModifyAttributesRequest request, QcAttributeNameCollection attributesToLoad) at ActiveRoles.SyncService.Connectors.AzureADConnector.AzureAdConnector.Modify(SystemEntry targetObject, IModifyAttributesRequest request, QcAttributeNameCollection attributesToLoad) 2021-04-20 22:15:07.9276 19 Debug --> failed to apply operation ActiveRoles.SyncService.Server.OperationAppliers.ApplyOperationHelper.ApplyOperation System.ArgumentNullException: Value cannot be null. Parameter name: elementType at ActiveRoles.SyncService.Connectors.AzureADConnector.Client.DirectoryObjectsWrapperCreator.CreateWrapper(DataServiceQuery objectsQuery, DataServiceContext service, Type elementType) at ActiveRoles.SyncService.Connectors.AzureADConnector.Client.AzureAdClient.GetDirectoryObjects(String type) at ActiveRoles.SyncService.Connectors.AzureADConnector.Utils.PropertyUtils.ParseDirectoryObject(String str, IAzureAdClient client) at ActiveRoles.SyncService.Connectors.AzureADConnector.Utils.PropertyUtils.SaveDirectoryObjectCollection(Object obj, String name, Object value, IDirectoryObjects directoryObjects, IAzureAdClient client) at ActiveRoles.SyncService.Connectors.AzureADConnector.Utils.QcAttributeUtils.SetProperties(Object obj, QcAttributeModificationCollection attributes, IDirectoryObjects directoryObjects, IAzureAdClient client) at ActiveRoles.SyncService.Connectors.AzureADConnector.Implementations.ExportImpl.Modify(IAzureAdClient client, SystemEntry targetObject, IModifyAttributesRequest request, QcAttributeNameCollection attributesToLoad) at ActiveRoles.SyncService.Connectors.AzureADConnector.AzureAdConnector.Modify(SystemEntry targetObject, IModifyAttributesRequest request, QcAttributeNameCollection attributesToLoad) at ActiveRoles.SyncService.Server.QcConnector.Modify(SystemEntry targetObject, Request request, QcAttributeNameCollection attributesToLoad) at ActiveRoles.SyncService.Server.QcConnectorTS.Modify(SystemEntry targetObject, Request request, QcAttributeNameCollection attributesToLoad) at ActiveRoles.SyncService.Server.OperationAppliers.ApplyOperationHelper.ApplyUpdate[TRequest](TRequest request, IOperation operation, ConnectionContext sourceConnectionContext, ConnectionContext targetConnectionContext, QcExtensionCommandProcessor extensionCommandProcessor, SystemEntry& result) at ActiveRoles.SyncService.Server.OperationAppliers.ApplyOperationHelper.ApplyUpdate[TRequest](TRequest request, IOperation operation, IOperationDetailsProvider operationDetailsProvider, ConnectionContext sourceConnectionContext, ConnectionContext targetConnectionContext, ApplyOperationHelper helper, QcExtensionCommandProcessor extensionCommandProcessor, SystemEntry& result) at ActiveRoles.SyncService.Server.OperationAppliers.ApplyOperationHelper.ApplyOperation(IOperation operation, QcExtensionCommandProcessor extensionCommandProcessor) ... ... uninteresting lines redacted ... ... 2021-04-20 22:15:08.0046 19 Debug --> { ActiveRoles.SyncService.ServerCommon.ErrorHandling.SimpleErrorHandler.HandleError 2021-04-20 22:15:08.0046 19 Error --> Outgoing exception ActiveRoles.SyncService.ServerCommon.ErrorHandling.SimpleErrorHandler.HandleError System.ApplicationException: Value cannot be null. Parameter name: elementType at ActiveRoles.SyncService.Server.MainWCFService.RunWorkflowStepWithObject(Guid workflowId, Guid workflowStepId, SystemEntry sourceObject) at SyncInvokeRunWorkflowStepWithObject(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
Just wondering if anyone else has tried anything along these or might have any ideas.
Thanks!